diff --git a/assets/wallpaper-nix-pink.png b/assets/wallpaper-nix-pink.png new file mode 100644 index 00000000..e8a88d78 Binary files /dev/null and b/assets/wallpaper-nix-pink.png differ diff --git a/common/desktop/home.nix b/common/desktop/home.nix index 7d780ad5..89832ef7 100644 --- a/common/desktop/home.nix +++ b/common/desktop/home.nix @@ -22,6 +22,7 @@ let flask ipwhois pyasn + z3-solver ]; in { @@ -37,9 +38,8 @@ in gcc gimp inputs.attic.packages.${pkgs.system}.attic - inputs.comma.packages.${pkgs.system}.default + comma discord - jetbrains.clion jetbrains.rust-rover kdenlive libreoffice-fresh @@ -54,6 +54,7 @@ in tex unzip yt-dlp + # z3 ]; # Enable my own hm modules diff --git a/common/hm-modules/catppuccin/default.nix b/common/hm-modules/catppuccin/default.nix index 3fabb170..e8a184f5 100644 --- a/common/hm-modules/catppuccin/default.nix +++ b/common/hm-modules/catppuccin/default.nix @@ -6,6 +6,7 @@ }: with lib; let + inherit (builtins) fromTOML readFile; cfg = config.themes.v.catppuccin; mako = pkgs.fetchFromGitHub { owner = "catppuccin"; @@ -13,6 +14,12 @@ let rev = "9dd088aa5f4529a3dd4d9760415e340664cb86df"; sha256 = "sha256-nUzWkQVsIH4rrCFSP87mXAka6P+Td2ifNbTuP7NM/SQ="; }; + starship = pkgs.fetchFromGitHub { + owner = "catppuccin"; + repo = "starship"; + rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; + sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0="; + }; in { options.themes.v.catppuccin = { @@ -69,7 +76,11 @@ in }) ]; - programs.mako.extraConfig = builtins.readFile "${mako}/src/frappe"; + programs.mako.extraConfig = readFile "${mako}/src/frappe"; + + programs.starship.settings = { + palette = "catppuccin_frappe"; + } //fromTOML (readFile "${starship}/palettes/frappe.toml"); programs.vscode = { userSettings."workbench.colorTheme" = "Catppuccin Frappé"; diff --git a/common/hm-modules/nvim/default.nix b/common/hm-modules/nvim/default.nix index 53b966bf..3bc2b7ba 100644 --- a/common/hm-modules/nvim/default.nix +++ b/common/hm-modules/nvim/default.nix @@ -296,7 +296,7 @@ with lib; telescope = { enable = true; defaults.preview.ls_short = true; - extensions.file_browser = { + extensions.file-browser = { enable = true; hijackNetrw = true; dirIcon = ""; diff --git a/common/hm-modules/rust.nix b/common/hm-modules/rust.nix index d822f8d6..11b1e2fb 100644 --- a/common/hm-modules/rust.nix +++ b/common/hm-modules/rust.nix @@ -28,15 +28,16 @@ in [build] rustc-wrapper = "${pkgs.sccache}/bin/sccache" - - [target.'cfg(not(target_arch = "mips"))'] - linker = "${pkgs.clang}/bin/clang" - rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold}/bin/mold"] - [profile.rust-analyzer] inherits = "dev" ''; + # [target.'cfg(not(target_arch = "mips"))'] + # linker = "${pkgs.clang}/bin/clang" + # rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold}/bin/mold"] + + + sessionPath = [ "$HOME/.cargo/bin" ]; }; }; diff --git a/common/users/default.nix b/common/users/default.nix index 79f64479..07f80481 100644 --- a/common/users/default.nix +++ b/common/users/default.nix @@ -1,5 +1,16 @@ -{ config, pkgs, lib, inputs, ... }: { - imports = [ ./laura.nix ./vivian.nix ./jonathan.nix ]; +{ + config, + pkgs, + lib, + inputs, + ... +}: +{ + imports = [ + ./laura.nix + ./vivian.nix + ./jonathan.nix + ]; programs = { # Setup ZSH to use grml config @@ -11,15 +22,16 @@ interactiveShellInit = '' source "${pkgs.grml-zsh-config}/etc/zsh/zshrc" export FZF_DEFAULT_COMMAND="${pkgs.ripgrep}/bin/rg --files --follow" - source "${pkgs.fzf}/share/fzf/key-bindings.zsh" - source "${pkgs.fzf}/share/fzf/completion.zsh" + export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" + export FZF_CTRL_R_COMMAND="$FZF_DEFAULT_COMMAND" eval "$(${pkgs.zoxide}/bin/zoxide init zsh)" + eval "$(${pkgs.fzf}/bin/fzf --zsh)" export TEMPDIRS="$HOME/tmp" source "${inputs.t.packages.${pkgs.system}.default}/bin/t-rs.sh" ''; # otherwise it'll override the grml prompt - promptInit = ""; + # promptInit = lib.mkDefault ""; }; # Install Neovim and set it as alias for vi(m) @@ -39,8 +51,7 @@ # Configure the root account users.extraUsers.root = { # Allow my SSH keys for logging in as root. - openssh.authorizedKeys.keys = - config.users.extraUsers.vivian.openssh.authorizedKeys.keys; + openssh.authorizedKeys.keys = config.users.extraUsers.vivian.openssh.authorizedKeys.keys; # Also use zsh for root shell = pkgs.zsh; }; @@ -57,6 +68,9 @@ ripgrep rsync zoxide + + # Terminfo + pkgs.kitty.terminfo ]; programs.tmux = { diff --git a/flake.lock b/flake.lock index 0dfd34d1..11db4249 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ ] }, "locked": { - "lastModified": 1711099426, - "narHash": "sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk=", + "lastModified": 1713532798, + "narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=", "owner": "numtide", "repo": "devshell", - "rev": "2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8", + "rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40", "type": "github" }, "original": { @@ -321,11 +321,11 @@ ] }, "locked": { - "lastModified": 1709336216, - "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "type": "github" }, "original": { @@ -631,11 +631,11 @@ ] }, "locked": { - "lastModified": 1712093955, - "narHash": "sha256-94I0sXz6fiVBvUAk2tg6t3UpM5rOImj4JTSTNFbg64s=", + "lastModified": 1713906585, + "narHash": "sha256-fv84DCOkBtjF6wMATt0rfovu7e95L8rdEkSfNbwKR3U=", "owner": "nix-community", "repo": "home-manager", - "rev": "80546b220e95a575c66c213af1b09fe255299438", + "rev": "bfa7c06436771e3a0c666ccc6ee01e815d4c33aa", "type": "github" }, "original": { @@ -652,11 +652,11 @@ ] }, "locked": { - "lastModified": 1711625603, - "narHash": "sha256-W+9dfqA9bqUIBV5u7jaIARAzMe3kTq/Hp2SpSVXKRQw=", + "lastModified": 1713732794, + "narHash": "sha256-AYCofb8Zu4Mbc1lHDtju/uxeARawRijmOueAqEMEfMU=", "owner": "nix-community", "repo": "home-manager", - "rev": "c0ef0dab55611c676ad7539bf4e41b3ec6fa87d2", + "rev": "670d9ecc3e46a6e3265c203c2d136031a3d3548e", "type": "github" }, "original": { @@ -678,11 +678,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1711442573, - "narHash": "sha256-/A3YzcY5erYOPojp5Ffwgxv4X5MTnRiWwuaXfgXbK2g=", + "lastModified": 1713369831, + "narHash": "sha256-G4OGxvlIIjphpkxcRAkf1QInYsAeqbfNh6Yl1JLy2uM=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "df7ac26bd24fac8baa94d60a02c3e0f0d4d16368", + "rev": "850f27322239f8cfa56b122cc9a278ab99a49015", "type": "github" }, "original": { @@ -717,11 +717,11 @@ "utils": "utils_2" }, "locked": { - "lastModified": 1710449465, - "narHash": "sha256-2orO8nfplp6uQJBFqKkj1iyNMC6TysmwbWwbb4osTag=", + "lastModified": 1713012165, + "narHash": "sha256-z/soXKDnz+w4Nw0LkRaM73YqolhSmIYy6cpg1F2ps8I=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "79c8cfcd5873a85559da6201b116fb38b490d030", + "rev": "9f6635a0351c190179dc6904545f950108a23dd8", "type": "gitlab" }, "original": { @@ -737,11 +737,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1711753492, - "narHash": "sha256-lLlXQBebD6wd2m7vjXg2zQ8tfJF2a70RL+zXdbaQqn0=", + "lastModified": 1713463636, + "narHash": "sha256-IPdnR0Rs7XoffnCn6rExYDlft/GHD/UFgQ11lTVEK48=", "owner": "astro", "repo": "microvm.nix", - "rev": "1b7c70b198554d0f0306ec153c94906623437aed", + "rev": "6a4f822a817180be03fcdceb654088d002c9ec5e", "type": "github" }, "original": { @@ -777,11 +777,11 @@ ] }, "locked": { - "lastModified": 1711763326, - "narHash": "sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/+YZOq3sKviI=", + "lastModified": 1713543876, + "narHash": "sha256-olEWxacm1xZhAtpq+ZkEyQgR4zgfE7ddpNtZNvubi3g=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "36524adc31566655f2f4d55ad6b875fb5c1a4083", + "rev": "9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed", "type": "github" }, "original": { @@ -792,11 +792,11 @@ }, "nixlib": { "locked": { - "lastModified": 1711846064, - "narHash": "sha256-cqfX0QJNEnge3a77VnytM0Q6QZZ0DziFXt6tSCV8ZSc=", + "lastModified": 1712450863, + "narHash": "sha256-K6IkdtMtq9xktmYPj0uaYc8NsIqHuaAoRBaMgu9Fvrw=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "90b1a963ff84dc532db92f678296ff2499a60a87", + "rev": "3c62b6a12571c9a7f65ab037173ee153d539905f", "type": "github" }, "original": { @@ -813,11 +813,11 @@ ] }, "locked": { - "lastModified": 1711932680, - "narHash": "sha256-CEpVtyB7uyRprTuiG+lpWWMvM/C0CbY/dbBuxT5BDwM=", + "lastModified": 1713783234, + "narHash": "sha256-3yh0nqI1avYUmmtqqTW3EVfwaLE+9ytRWxsA5aWtmyI=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "1f4c32ca4295bb7cca1e48a2f39b65490b249b0b", + "rev": "722b512eb7e6915882f39fff0e4c9dd44f42b77e", "type": "github" }, "original": { @@ -828,11 +828,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1711352745, - "narHash": "sha256-luvqik+i3HTvCbXQZgB6uggvEcxI9uae0nmrgtXJ17U=", + "lastModified": 1713864415, + "narHash": "sha256-/BPDMJEkrsFAFOsQWhwm31wezlgshPFlLBn34KEUdVA=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "9a763a7acc4cfbb8603bb0231fec3eda864f81c0", + "rev": "797f8d8082c7cc3259cba7275c699d4991b09ecc", "type": "github" }, "original": { @@ -939,26 +939,26 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1712047400, - "narHash": "sha256-P1ddj7Anx1zQXyn1RqLcleA3ZL/8cmewWjdm2nR7mc8=", + "lastModified": 1713714899, + "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "43f956227e7bbcb11aa54ce1294f6b5bdf6c8fad", + "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-unstable-small", + "ref": "nixos-unstable", "type": "indirect" } }, "nixpkgs_5": { "locked": { - "lastModified": 1711703276, - "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", + "lastModified": 1713714899, + "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", + "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", "type": "github" }, "original": { @@ -1011,11 +1011,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1712057047, - "narHash": "sha256-o5KSQO82/sCgaaSsZONTeb+P47MXo0bbp+eID9I0CwI=", + "lastModified": 1713939051, + "narHash": "sha256-EwDbsFjpXANXd2MIvRm4Bz2CDNWIhlV/659xOAxhEv0=", "owner": "pta2002", "repo": "nixvim", - "rev": "7baefc8aa587931827797db7fbd55a733179dc79", + "rev": "f2f97d844bb39559f3356e209b49c92900d860b8", "type": "github" }, "original": { @@ -1026,11 +1026,11 @@ }, "nur": { "locked": { - "lastModified": 1712127152, - "narHash": "sha256-LPFdS9oxJfLsIPn3/59p/n43EgUV3InMZdhlhmMg8WI=", + "lastModified": 1713947685, + "narHash": "sha256-8faxXE53zBQmr5lsVZvT9Vh8CW7dNSwphIasPP4S1UI=", "owner": "nix-community", "repo": "NUR", - "rev": "9d71b5e8ad6127de490d4715170ce32e767f2d0f", + "rev": "a5a62f60303597824baa29266ebf218de266d3d5", "type": "github" }, "original": { @@ -1054,11 +1054,11 @@ ] }, "locked": { - "lastModified": 1711760932, - "narHash": "sha256-DqUTQ2iAAqSDwMhKBqvi24v0Oc7pD3LCK/0FCG//TdA=", + "lastModified": 1713775815, + "narHash": "sha256-Wu9cdYTnGQQwtT20QQMg7jzkANKQjwBD9iccfGKkfls=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "c11e43aed6f17336c25cd120eac886b96c455731", + "rev": "2ac4dcbf55ed43f3be0bae15e181f08a57af24a4", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 8342fc5f..0bbace16 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,7 @@ # * https://github.com/Infinidoge/nix-minecraft inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable-small"; + nixpkgs.url = "nixpkgs/nixos-unstable"; flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.4.0"; nur.url = "github:nix-community/NUR"; colmena.url = "github:zhaofengli/colmena"; diff --git a/hosts/thalassa/aoife/default.nix b/hosts/thalassa/aoife/default.nix index af1cf94b..b35daac5 100644 --- a/hosts/thalassa/aoife/default.nix +++ b/hosts/thalassa/aoife/default.nix @@ -23,6 +23,8 @@ users.users.vivian.extraGroups = [ "adbusers" ]; + security.pki.certificateFiles = [ ./domain.crt ]; + # Bootloader. boot = { bootspec.enable = true; @@ -43,12 +45,20 @@ home-manager.users.vivian = import ./home; + programs.nix-ld.enable = true; + programs.nix-ld.libraries = with pkgs; [ + + # Add any missing dynamic libraries for unpackaged programs + + # here, NOT in environment.systemPackages + ]; + programs.hyprland.enable = true; services.gnome.gnome-keyring.enable = true; - services.gnome-autounlock-keyring = { - enable = true; - target = "hyprland-session.target"; - }; + # services.gnome-autounlock-keyring = { + # enable = true; + # target = "hyprland-session.target"; + # }; services.interception-tools = { enable = true; diff --git a/hosts/thalassa/aoife/domain.crt b/hosts/thalassa/aoife/domain.crt new file mode 100644 index 00000000..3713f443 --- /dev/null +++ b/hosts/thalassa/aoife/domain.crt @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDZTCCAk2gAwIBAgIUcCV6T0NduGa58qOcAhe9n8oOcEIwDQYJKoZIhvcNAQEL +BQAwWzELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQtSG9sbGFuZDEOMAwGA1UE +BwwFRGVsZnQxETAPBgNVBAoMCFRVIERlbGZ0MRIwEAYDVQQDDAlsb2NhbGhvc3Qw +HhcNMjQwNDA1MDgyMDQxWhcNMjUwNDA1MDgyMDQxWjBbMQswCQYDVQQGEwJOTDEV +MBMGA1UECAwMWnVpZC1Ib2xsYW5kMQ4wDAYDVQQHDAVEZWxmdDERMA8GA1UECgwI +VFUgRGVsZnQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAIcX6xGqorbXkIqtH0ek2L9YAc0ruKF7aTpY9q7n6EpD4OC1 +Q575fvnEqBsvKC74xh1AO58x7HLxAIWmy76UqUxJIQ7vtfCKxFDjBDhgitmnxWK1 +3QCrHwFS3MThqOq0zhK7AqnpzzdHsj9zfPWbrhP86m4uugIAund2YiSUPX7ZrSSO +pY60bZiA2c3hJbqxg+NvNN1vZHEsPGaZHXMMrycw0bLOBoKPvbenl3ig23vsyRSO +MwiJgLK/ztMI6r2KMJVZofjbu1Mz+WPzotKaCrSArSRF36BOzafyxqgO0h3Vqp4W +Z6UpS1bFTpbJckz8LqNvlP/Z4mV5+1QyrwwN/iMCAwEAAaMhMB8wHQYDVR0OBBYE +FOSRI3SKLWlk2RamJJwyyFlP9UnhMA0GCSqGSIb3DQEBCwUAA4IBAQARLh5z4Ius +0kiejnMtzV5xAckbqbcultdEdGfjZciv3BM9C7DpEF5Nj8CbaK6TXrKh98bxQ6w+ +lPL/6LECkPhvHWRhTOsrhDV5h6eSPyV/TX4Jj127WnzA1LcjoEngUY97y6p/eBkE +hZWepPPAhuEmu/ws1UmF8vrT4sc+nMKXrOTsqkdUKHh2JZuFby3+SHDkYX66ZxXK +bQ3dEi6GyOkZIOuaNK+mS76yVanRU4k0A3dhIpW4pV6W12AAWioGaZv34uKVTp9E +XgNhqDC39lU4rLp260NvuRywAKxvR7hKyWfmwak5lr0dZ9t4eufPI4jU5SD+aotq +FVTMFwAKZO5v +-----END CERTIFICATE----- diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index 1a5e2341..a8ceaeab 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -1,5 +1,6 @@ { pkgs, ... }: { imports = [ + ./starship.nix ./hyprland.nix ]; @@ -15,7 +16,6 @@ home.packages = with pkgs; [ libreoffice-fresh - jetbrains.clion jetbrains.rust-rover eduvpn-client localsend @@ -23,6 +23,4 @@ typst prismlauncher ]; - - ## Hyprland Config } diff --git a/hosts/thalassa/aoife/home/hyprland.nix b/hosts/thalassa/aoife/home/hyprland.nix index 4b25d03c..9de9947c 100644 --- a/hosts/thalassa/aoife/home/hyprland.nix +++ b/hosts/thalassa/aoife/home/hyprland.nix @@ -1,5 +1,17 @@ -{ pkgs, config, ... }: { + pkgs, + config, + inputs, + ... +}: +let + terminal = "${config.programs.kitty.package}/bin/kitty -1"; +in +{ + + home.packages = with pkgs; [ + v.hyprland-workspaces + ]; systemd.user.services.mako = { Install = { @@ -27,15 +39,23 @@ }; }; + xdg.configFile."hypr/hyprpaper.conf".text = + let + wallpaper = "/home/vivian/cloud/Pictures/Wallpapers-Laptop/wallpaper-nix-pink.png"; + in + '' + + ''; + programs = { wofi = { enable = true; }; - eww = { - enable = true; - configDir = ./eww; - }; + # eww = { + # enable = true; + # configDir = ./eww; + # }; mako.enable = true; @@ -59,15 +79,24 @@ wireplumber = { format = "󰕾 {volume}%"; format-muted = "󰖁"; - on-click = "wpctl set-mute @DEFAULT_SINK@ toggle"; + on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_SINK@ toggle"; }; - network = { - format-wifi = "󰖩 {essid} ({signalStrength}%)"; - format-ethernet = "󰈀 {ifname}: {ipaddr}/{cidr}"; - format-disconnected = "󰌙 "; - tooltip-format = "{ifname}: {ipaddr}"; - }; + network = + let + nmtui = pkgs.writeScriptBin "nmtui.sh" '' + #!${pkgs.stdenv.shell} + unset COLORTERM + TERM=xterm-old ${pkgs.networkmanager}/bin/nmtui + ''; + in + { + format-wifi = "󰖩 {essid} ({signalStrength}%)"; + format-ethernet = "󰈀 {ifname}: {ipaddr}/{cidr}"; + format-disconnected = "󰌙 "; + tooltip-format = "{ifname}: {ipaddr}"; + on-click = "touch ~/a && ${terminal} --execute ${nmtui}/bin/nmtui.sh"; + }; power-profiles-daemon = { format = "{icon}"; @@ -122,11 +151,25 @@ ''; startup = pkgs.writeScriptBin "startup.sh" '' #!${pkgs.stdenv.shell} - firefox & discord & - element-desktop & + + # start keyring, then unlock it, then start Element + gnome-keyring-daemon -r -d && ${ + inputs.gnome-autounlock-keyring.packages.${pkgs.system}.default + }/bin/gnome-autounlock-keyring unlock && element-desktop & ''; + hyprpaper-conf = + let + wallpaper = ../../../../assets/wallpaper-nix-pink.png; + in + pkgs.writeText "hyprpaper.conf" '' + preload = ${wallpaper} + wallpaper = eDP-1,${wallpaper} + + splash = false + ipc = off + ''; in { enable = true; @@ -138,12 +181,12 @@ wpctl = "${pkgs.wireplumber}/bin/wpctl"; brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; menu = "${config.programs.wofi.package}/bin/wofi --show run,drun"; - terminal = "${config.programs.kitty.package}/bin/kitty"; fileManager = "${pkgs.gnome.nautilus}/bin/nautilus"; in { "$mod" = "SUPER"; exec-once = [ + "${pkgs.hyprpaper}/bin/hyprpaper -c ${hyprpaper-conf}" "${startup}/bin/startup.sh" ]; monitor = [ @@ -157,21 +200,21 @@ gaps_in = 5; gaps_out = 10; border_size = 2; - "col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; - "col.inactive_border" = "rgba(595959aa)"; + "col.active_border" = "rgba(8caaeeee) rgba(a6d189ee) 45deg"; + "col.inactive_border" = "rgba(303446aa)"; layout = "dwindle"; # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on allow_tearing = false; }; group = { - "col.border_active" = "rgba(33ccffee) rgba(00ff99ee) 45deg"; - "col.border_inactive" = "rgba(595959aa)"; + "col.border_active" = "rgba(babbf1ee) rgba(f4b8e4ee) 45deg"; + "col.border_inactive" = "rgba(232634aa)"; groupbar = { font_size = 16; "col.active" = "rgba(babbf1aa)"; "col.inactive" = "rgba(414559aa)"; - text_color = "rgba(232634ff)"; + text_color = "rgba(81c8beee)"; }; }; decoration = { @@ -211,7 +254,7 @@ misc = { force_default_wallpaper = 2; disable_splash_rendering = true; - # disable_hyprland_logo = true; + disable_hyprland_logo = true; disable_autoreload = true; }; @@ -219,9 +262,9 @@ "suppressevent maximize, class:.* # You'll probably like this." "workspace 1 silent, class:^(Element)$" "workspace 1 silent, class:^(discord)$" + "group, class:^(Element|discord)$,workspace:1" "workspace 2 silent, class:^(firefox)$" "float,class:^(firefox)$,title:^(Picture-in-Picture)$" - "group set always,onworkspace:1 " ]; # l -> works when screen is locked diff --git a/hosts/thalassa/aoife/home/starship.nix b/hosts/thalassa/aoife/home/starship.nix new file mode 100644 index 00000000..72921686 --- /dev/null +++ b/hosts/thalassa/aoife/home/starship.nix @@ -0,0 +1,17 @@ +{ pkgs, config, ...}: +let + starshipNerdFont = pkgs.runCommand "starship-nerd-font.toml" { STARSHIP_CACHE = "/tmp"; } '' + ${config.programs.starship.package}/bin/starship preset nerd-font-symbols > $out + ''; +in{ + programs.starship = { + enable = true; + enableZshIntegration = true; + enableFishIntegration = true; + enableNushellIntegration = true; + + settings = { + nix_shell.heuristic = true; + } // builtins.fromTOML (builtins.readFile starshipNerdFont); + }; +} diff --git a/hosts/thalassa/aoife/uni.nix b/hosts/thalassa/aoife/uni.nix index 18e6464c..5257cdf9 100644 --- a/hosts/thalassa/aoife/uni.nix +++ b/hosts/thalassa/aoife/uni.nix @@ -1,8 +1,11 @@ # Config options needed for various university courses, such as: # * Wireless IoT and Local Area Networks # * Network Security -{ pkgs, ... }: { +# * Smart Phone Sensing +{ pkgs, ... }: +{ environment.systemPackages = with pkgs; [ + android-studio docker-compose bridge-utils nettools @@ -19,5 +22,17 @@ virtualisation.docker.enable = true; virtualisation.docker.storageDriver = "btrfs"; - users.extraUsers.vivian.extraGroups = [ "wireshark" "docker" "lxd" ]; + users.extraUsers.vivian.extraGroups = [ + "wireshark" + "docker" + "lxd" + ]; + + programs.nix-ld = { + enable = true; + package = pkgs.nix-ld-rs; + libraries = [ + + ]; + }; } diff --git a/hosts/thalassa/null/home/default.nix b/hosts/thalassa/null/home/default.nix index 53ccf7f5..9a39469d 100644 --- a/hosts/thalassa/null/home/default.nix +++ b/hosts/thalassa/null/home/default.nix @@ -1,15 +1,25 @@ -{ config, pkgs, inputs, texlive, ... }: +{ + config, + pkgs, + inputs, + texlive, + ... +}: let tex = pkgs.texlive.combine { inherit (pkgs.texlive) scheme-full; - dnd-5e-latex-template = { pkgs = [ pkgs.v.dnd-5e-latex-template ]; }; + dnd-5e-latex-template = { + pkgs = [ pkgs.v.dnd-5e-latex-template ]; + }; }; in { programs = { home-manager.enable = true; - foot = { enable = true; }; + foot = { + enable = true; + }; nix-index.enable = true; @@ -64,18 +74,142 @@ in "latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%"; }; "workbench.colorTheme" = "Catppuccin Frappé"; - "editor.fontFamily" = - "'DejaVuSansMono Nerd Font', 'monospace', monospace"; + "editor.fontFamily" = "'DejaVuSansMono Nerd Font', 'monospace', monospace"; "keyboard.dispatch" = "keyCode"; "rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer"; "terminal.integrated.defaultProfile.linux" = "zsh"; "nix.enableLanguageServer" = true; # Enable LSP. - "nix.serverPath" = - "${pkgs.nil}/bin/nil"; # The path to the LSP server executable. - "[nix]" = { "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; }; + "nix.serverPath" = "${pkgs.nil}/bin/nil"; # The path to the LSP server executable. + "[nix]" = { + "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; + }; + "latex-workshop.latex.tools" = [ + { + "name" = "latexmk"; + "command" = "latexmk"; + "args" = [ + "-shell-escape" + "-synctex=1" + "-interaction=nonstopmode" + "-file-line-error" + "-pdf" + "-outdir=%OUTDIR%" + "%DOC%" + ]; + "env" = { }; + } + { + "name" = "lualatexmk"; + "command" = "latexmk"; + "args" = [ + "-synctex=1" + "-interaction=nonstopmode" + "-file-line-error" + "-lualatex" + "-outdir=%OUTDIR%" + "%DOC%" + ]; + "env" = { }; + } + { + "name" = "xelatexmk"; + "command" = "latexmk"; + "args" = [ + "-synctex=1" + "-interaction=nonstopmode" + "-file-line-error" + "-xelatex" + "-outdir=%OUTDIR%" + "%DOC%" + ]; + "env" = { }; + } + { + "name" = "latexmk_rconly"; + "command" = "latexmk"; + "args" = [ "%DOC%" ]; + "env" = { }; + } + { + "name" = "pdflatex"; + "command" = "pdflatex"; + "args" = [ + "-synctex=1" + "-interaction=nonstopmode" + "-file-line-error" + "%DOC%" + ]; + "env" = { }; + } + { + "name" = "bibtex"; + "command" = "bibtex"; + "args" = [ "%DOCFILE%" ]; + "env" = { }; + } + { + "name" = "rnw2tex"; + "command" = "Rscript"; + "args" = [ + "-e" + "knitr==opts_knit$set(concordance = TRUE); knitr==knit('%DOCFILE_EXT%')" + ]; + "env" = { }; + } + { + "name" = "jnw2tex"; + "command" = "julia"; + "args" = [ + "-e" + "using Weave; weave(\"%DOC_EXT%\"; doctype=\"tex\")" + ]; + "env" = { }; + } + { + "name" = "jnw2texminted"; + "command" = "julia"; + "args" = [ + "-e" + "using Weave; weave(\"%DOC_EXT%\"; doctype=\"texminted\")" + ]; + "env" = { }; + } + { + "name" = "pnw2tex"; + "command" = "pweave"; + "args" = [ + "-f" + "tex" + "%DOC_EXT%" + ]; + "env" = { }; + } + { + "name" = "pnw2texminted"; + "command" = "pweave"; + "args" = [ + "-f" + "texminted" + "%DOC_EXT%" + ]; + "env" = { }; + } + { + "name" = "tectonic"; + "command" = "tectonic"; + "args" = [ + "--synctex" + "--keep-logs" + "%DOC%.tex" + ]; + "env" = { }; + } + ]; }; - extensions = with pkgs.vscode-extensions; - with pkgs.v.vscode-extensions; [ + extensions = + with pkgs.vscode-extensions; + with pkgs.v.vscode-extensions; + [ # astro-build.astro-vscode brettm12345.nixfmt-vscode catppuccin.catppuccin-vsc @@ -99,12 +233,16 @@ in direnv = { enable = true; - nix-direnv = { enable = true; }; + nix-direnv = { + enable = true; + }; }; zsh = { enable = true; - sessionVariables = { DIRENV_LOG_FORMAT = ""; }; + sessionVariables = { + DIRENV_LOG_FORMAT = ""; + }; }; }; home = { @@ -128,7 +266,7 @@ in gnome.gnome-font-viewer gnome.nautilus grim # Screenshot tool - inputs.comma.packages.${pkgs.system}.default + # inputs.comma.packages.${pkgs.system}.default inputs.webcord.packages.${pkgs.system}.default k9s kubectl @@ -158,13 +296,20 @@ in ]; }; - imports = [ ./hyprland.nix ./neovim.nix ./eww ./theme.nix ]; + imports = [ + ./hyprland.nix + ./neovim.nix + ./eww + ./theme.nix + ]; xdg.mimeApps = { enable = true; defaultApplications = - let browser = [ "firefox.desktop" ]; - in { + let + browser = [ "firefox.desktop" ]; + in + { "image/*" = "org.gnome.eog.desktop"; "text/html" = browser; "x-scheme-handler/http" = browser; @@ -188,8 +333,10 @@ in }; xdg.userDirs = - let home = config.home.homeDirectory; - in { + let + home = config.home.homeDirectory; + in + { enable = true; createDirectories = true; desktop = "${home}/.desktop"; diff --git a/pkgs/default.nix b/pkgs/default.nix index 5f7180fc..53a34a43 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,5 +1,5 @@ # nix-build -E 'with import {}; callPackage ./default.nix {}' -_final: prev: { +final: prev: { v = { glitch-soc = prev.callPackage ./glitch-soc { }; @@ -22,6 +22,7 @@ _final: prev: { prev.callPackage ./vscode-extensions/platformio.nix { }; }; + hyprland-workspaces = prev.callPackage ./hyprland-workspaces { }; }; plex-plexpass = prev.callPackage ./plex-pass { }; diff --git a/pkgs/hyprland-workspaces/default.nix b/pkgs/hyprland-workspaces/default.nix new file mode 100644 index 00000000..77e7944a --- /dev/null +++ b/pkgs/hyprland-workspaces/default.nix @@ -0,0 +1,20 @@ +{ rustPlatform, lib, fetchFromGitHub }: +rustPlatform.buildRustPackage rec { + pname = "hyprland-workspaces"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "FieldofClay"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-4QGLTimIpx74gWUyHCheUZZT1WgVzBoJRY8OlUDdOh4="; + }; + + cargoSha256 = "sha256-9ndP0nyRBCdOGth4UWA263IvjbgnVW2x9PK8oTaMrxg="; + + meta = with lib; { + description = "A multi-monitor aware Hyprland workspace widget"; + license = licenses.mit; + platforms = platforms.linux; + }; +}