diff options
| -rw-r--r-- | flake.lock | 393 | ||||
| -rw-r--r-- | flake.nix | 23 | ||||
| -rw-r--r-- | hosts/ganymede/config.nix | 5 | ||||
| -rw-r--r-- | hosts/jupiter/config.nix | 5 | ||||
| -rw-r--r-- | hosts/mercury/battery.nix | 34 | ||||
| -rw-r--r-- | hosts/mercury/config.nix | 22 | ||||
| -rw-r--r-- | hosts/mercury/disks.nix | 7 | ||||
| -rw-r--r-- | hosts/mercury/hjem.nix | 5 | ||||
| -rw-r--r-- | hosts/mercury/nixos.nix | 2 | ||||
| -rw-r--r-- | lib/nix-furnace/mkSystem.nix | 4 | ||||
| -rw-r--r-- | modules/boot/nixos/default.nix | 3 | ||||
| -rw-r--r-- | modules/desktop/hjem/programs/research.nix | 73 | ||||
| -rw-r--r-- | modules/desktop/hjem/wm/fuzzel.nix | 4 | ||||
| -rw-r--r-- | modules/desktop/hjem/wm/niri.nix | 26 | ||||
| -rw-r--r-- | modules/nix/nixos/default.nix | 13 | ||||
| -rw-r--r-- | modules/services/options.nix | 1 | ||||
| -rw-r--r-- | modules/terminal/hjem/programs/cmus.nix | 74 | ||||
| -rw-r--r-- | modules/terminal/hjem/programs/tmux.nix | 16 | ||||
| -rw-r--r-- | modules/terminal/options.nix | 2 | ||||
| -rw-r--r-- | modules/user/nixos/default.nix | 4 | ||||
| -rw-r--r-- | modules/user/options.nix | 10 | ||||
| -rw-r--r-- | secrets/collin-mercury-passwd.age | 11 | ||||
| -rw-r--r-- | secrets/default.nix | 6 | ||||
| -rw-r--r-- | secrets/secrets.nix | 15 |
24 files changed, 198 insertions, 560 deletions
diff --git a/flake.lock b/flake.lock deleted file mode 100644 index c9d8011..0000000 --- a/flake.lock +++ /dev/null @@ -1,393 +0,0 @@ -{ - "nodes": { - "crane": { - "locked": { - "lastModified": 1765739568, - "narHash": "sha256-gQYx35Of4UDKUjAYvmxjUEh/DdszYeTtT6MDin4loGE=", - "owner": "ipetkov", - "repo": "crane", - "rev": "67d2baff0f9f677af35db61b32b5df6863bcc075", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "disko": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1766150702, - "narHash": "sha256-P0kM+5o+DKnB6raXgFEk3azw8Wqg5FL6wyl9jD+G5a4=", - "owner": "nix-community", - "repo": "disko", - "rev": "916506443ecd0d0b4a0f4cf9d40a3c22ce39b378", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "disko", - "type": "github" - } - }, - "firefox-csshacks": { - "flake": false, - "locked": { - "lastModified": 1762974384, - "narHash": "sha256-aAwiI6+QWPQuEGdz0Ey57RFMakM7XuBYiUJuANxECgM=", - "owner": "MrOtherGuy", - "repo": "firefox-csshacks", - "rev": "2f30a2283ba09c5934f474110a8be462482eb272", - "type": "github" - }, - "original": { - "owner": "MrOtherGuy", - "repo": "firefox-csshacks", - "type": "github" - } - }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1761588595, - "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-utils": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "lanzaboote", - "pre-commit", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, - "hjem": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ], - "smfh": "smfh" - }, - "locked": { - "lastModified": 1765522723, - "narHash": "sha256-/RSFdpON1oyd6Ha6ckOKcO8NiwZMO6tH3UCOq1r+zEE=", - "owner": "feel-co", - "repo": "hjem", - "rev": "85bdffaf424c027ac7f098d67854c10d384a63df", - "type": "github" - }, - "original": { - "owner": "feel-co", - "repo": "hjem", - "type": "github" - } - }, - "lanzaboote": { - "inputs": { - "crane": "crane", - "nixpkgs": [ - "nixpkgs" - ], - "pre-commit": "pre-commit", - "rust-overlay": "rust-overlay_2" - }, - "locked": { - "lastModified": 1766146127, - "narHash": "sha256-6bA+9FNE7bWOUanW6Mujcbzhm9A74dCTUBX5/bA0RVQ=", - "owner": "nix-community", - "repo": "lanzaboote", - "rev": "b8c5ab2bd227f840bc8e1944631fe718b19c3336", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "lanzaboote", - "type": "github" - } - }, - "nix-std": { - "locked": { - "lastModified": 1710870712, - "narHash": "sha256-e+7MJF2gsgTBuOWv4mCimSP0D9+naeFSw9a7N3yEmv4=", - "owner": "chessai", - "repo": "nix-std", - "rev": "31bbc925750cc9d8f828fe55cee1a2bd985e0c00", - "type": "github" - }, - "original": { - "owner": "chessai", - "repo": "nix-std", - "type": "github" - } - }, - "nixos-facter-modules": { - "locked": { - "lastModified": 1765442039, - "narHash": "sha256-k3lYQ+A1F7aTz8HnlU++bd9t/x/NP2A4v9+x6opcVg0=", - "owner": "numtide", - "repo": "nixos-facter-modules", - "rev": "9dd775ee92de63f14edd021d59416e18ac2c00f1", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "nixos-facter-modules", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1765779637, - "narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1306659b587dc277866c7b69eb97e5f07864d8c4", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nocargo": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": [ - "nixpkgs" - ], - "registry-crates-io": "registry-crates-io" - }, - "locked": { - "lastModified": 1745995660, - "narHash": "sha256-Cca7/uDRwfo4UnPhZX31+vQ7chKr9nJsMvwykGllDVA=", - "owner": "oxalica", - "repo": "nocargo", - "rev": "089f487c2c123454c8b9a381a99999b63c53d1d6", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "nocargo", - "type": "github" - } - }, - "pre-commit": { - "inputs": { - "flake-compat": "flake-compat", - "gitignore": "gitignore", - "nixpkgs": [ - "lanzaboote", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1765464257, - "narHash": "sha256-dixPWKiHzh80PtD0aLuxYNQ0xP+843dfXG/yM3OzaYQ=", - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "rev": "09e45f2598e1a8499c3594fe11ec2943f34fe509", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "pre-commit-hooks.nix", - "type": "github" - } - }, - "registry-crates-io": { - "flake": false, - "locked": { - "lastModified": 1704732624, - "narHash": "sha256-FWX5JX33ievm6JuIEp1lI5EPndYt8s6anU+fQBYuFKc=", - "owner": "rust-lang", - "repo": "crates.io-index", - "rev": "4445fa0011e6ff9989985651bec57eb4cbefcadd", - "type": "github" - }, - "original": { - "owner": "rust-lang", - "repo": "crates.io-index", - "type": "github" - } - }, - "root": { - "inputs": { - "disko": "disko", - "firefox-csshacks": "firefox-csshacks", - "hjem": "hjem", - "lanzaboote": "lanzaboote", - "nixos-facter-modules": "nixos-facter-modules", - "nixpkgs": "nixpkgs", - "nocargo": "nocargo", - "tmux-tsunami": "tmux-tsunami" - } - }, - "rust-overlay": { - "inputs": { - "nixpkgs": [ - "hjem", - "smfh", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1759113356, - "narHash": "sha256-xm4kEUcV2jk6u15aHazFP4YsMwhq+PczA+Ul/4FDKWI=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "be3b8843a2be2411500f6c052876119485e957a2", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_2": { - "inputs": { - "nixpkgs": [ - "lanzaboote", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1765680428, - "narHash": "sha256-fyPmRof9SZeI14ChPk5rVPOm7ISiiGkwGCunkhM+eUg=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "eb3898d8ef143d4bf0f7f2229105fc51c7731b2f", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "smfh": { - "inputs": { - "nixpkgs": [ - "hjem", - "nixpkgs" - ], - "rust-overlay": "rust-overlay", - "systems": "systems" - }, - "locked": { - "lastModified": 1760525934, - "narHash": "sha256-1HtxuA45R/jExzE9iuimuECHWbV2c+CBdJmr/RtluaI=", - "owner": "feel-co", - "repo": "smfh", - "rev": "7123a00cc3c3e90ba703a37ca8d997be95c62d99", - "type": "github" - }, - "original": { - "owner": "feel-co", - "repo": "smfh", - "type": "github" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "tmux-tsunami": { - "inputs": { - "nix-std": "nix-std", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1764704796, - "narHash": "sha256-ul2+03ZvvSap1pPjWkHtan0juHzre6Qm6efCuGqENro=", - "owner": "bluedragon1221", - "repo": "tmux-tsunami", - "rev": "89703f8732291e2373d485932952448b0e5ee475", - "type": "github" - }, - "original": { - "owner": "bluedragon1221", - "repo": "tmux-tsunami", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} @@ -1,14 +1,16 @@ { inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - # determinate = { - # # I HATE FLAKEHUB - # url = "github:DeterminateSystems/determinate"; - # inputs = { - # nix.url = "github:DeterminateSystems/nix-src"; - # nixpkgs.follows = "nixpkgs"; - # }; - # }; + determinate = { + url = "github:DeterminateSystems/nix-src/main"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + agenix = { + url = "github:ryantm/agenix"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.home-manager.follows = ""; + }; disko = { url = "github:nix-community/disko"; @@ -17,11 +19,6 @@ nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; - nocargo = { - url = "github:oxalica/nocargo"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - lanzaboote = { url = "github:nix-community/lanzaboote"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/hosts/ganymede/config.nix b/hosts/ganymede/config.nix index 62abd56..6fa3bd1 100644 --- a/hosts/ganymede/config.nix +++ b/hosts/ganymede/config.nix @@ -1,9 +1,6 @@ { collinux = { - user = { - name = "collin"; - password = "$y$j9T$08yFysn8jr9K4Wk.hYXbG0$NzY9vIbNknJViA..Jw.vF8wmQtBgEZZU.cdLQOmDvU2"; - }; + user.name = "collin"; terminal = { programs = { diff --git a/hosts/jupiter/config.nix b/hosts/jupiter/config.nix index bc76142..9e3eff2 100644 --- a/hosts/jupiter/config.nix +++ b/hosts/jupiter/config.nix @@ -2,10 +2,7 @@ collinux = { theme = "adwaita"; - user = { - name = "collin"; - password = "$y$j9T$08yFysn8jr9K4Wk.hYXbG0$NzY9vIbNknJViA..Jw.vF8wmQtBgEZZU.cdLQOmDvU2"; - }; + user.name = "collin"; desktop = { gnome.enable = true; diff --git a/hosts/mercury/battery.nix b/hosts/mercury/battery.nix index ff7e59e..d3f2e90 100644 --- a/hosts/mercury/battery.nix +++ b/hosts/mercury/battery.nix @@ -19,25 +19,25 @@ }; }; - # Undervolt - services.undervolt = { - enable = true; - useTimer = false; - # power-limit-long - p1 = { - window = 1; # no clue what this means - limit = 40; - }; + # Undervolt (BROKEN) + # services.undervolt = { + # enable = true; + # useTimer = false; + # # power-limit-long + # p1 = { + # window = 1; # no clue what this means + # limit = 40; + # }; - # power-limit-short - p2 = { - window = 1; - limit = 50; - }; + # # power-limit-short + # p2 = { + # window = 1; + # limit = 50; + # }; - coreOffset = -50; # also applied to cache - gpuOffset = -10; - }; + # coreOffset = -50; # also applied to cache + # gpuOffset = -10; + # }; # environment.systemPackages = with pkgs; [ # undervolt diff --git a/hosts/mercury/config.nix b/hosts/mercury/config.nix index 268c767..c5db215 100644 --- a/hosts/mercury/config.nix +++ b/hosts/mercury/config.nix @@ -1,17 +1,10 @@ {pkgs, ...}: { collinux = { - theme = "kanagawa"; - - user = { - name = "collin"; - password = "$y$j9T$08yFysn8jr9K4Wk.hYXbG0$NzY9vIbNknJViA..Jw.vF8wmQtBgEZZU.cdLQOmDvU2"; - }; + theme = "catppuccin"; + user.name = "collin"; desktop = { - # wallpaper = ./wallpaper.jpg; - # wallpaper = ./hintergrund2.png; - # wallpaper = ./kanagawa.jpg; - wallpaper = ./riverboats.png; + wallpaper = ./wallpaper.jpg; # gtk.enable = true; @@ -26,10 +19,7 @@ programs = { firefox.enable = true; - foot = { - theme = "kanagawa"; - enable = true; - }; + foot.enable = true; research.enable = true; }; @@ -53,7 +43,6 @@ shells.bash.enable = true; # for nix-shells programs = { - # tmux.enable = true; lazygit.enable = true; starship.enable = true; @@ -67,11 +56,9 @@ userEmail = "96917990+bluedragon1221@users.noreply.github.com"; }; - cmus.enable = true; nh.enable = true; helix = { - theme = "kanagawa"; enable = true; hardMode = true; }; @@ -80,7 +67,6 @@ boot = { systemd-boot.enable = true; - # plymouth.enable = true; secureBoot.enable = true; }; }; diff --git a/hosts/mercury/disks.nix b/hosts/mercury/disks.nix index af6c161..60187b1 100644 --- a/hosts/mercury/disks.nix +++ b/hosts/mercury/disks.nix @@ -9,4 +9,11 @@ fsType = "vfat"; options = ["fmask=0022" "dmask=0022"]; }; + + zramSwap = { + enable = true; + priority = 100; + algorithm = "lz4"; + memoryPercent = 50; + }; } diff --git a/hosts/mercury/hjem.nix b/hosts/mercury/hjem.nix index 463290c..1db654f 100644 --- a/hosts/mercury/hjem.nix +++ b/hosts/mercury/hjem.nix @@ -6,5 +6,10 @@ kdePackages.kleopatra mpv musescore + + kew # music player + prismlauncher + + vital ]; } diff --git a/hosts/mercury/nixos.nix b/hosts/mercury/nixos.nix index 48aa92c..558ae60 100644 --- a/hosts/mercury/nixos.nix +++ b/hosts/mercury/nixos.nix @@ -15,6 +15,8 @@ systemd.services.systemd-udev-settle.enable = false; networking.interfaces.wlp2s0.useDHCP = false; + services.sshd.enable = true; + facter.reportPath = ./facter.json; environment.defaultPackages = lib.mkForce []; # im not a noob diff --git a/lib/nix-furnace/mkSystem.nix b/lib/nix-furnace/mkSystem.nix index cf14f4a..b3daf3a 100644 --- a/lib/nix-furnace/mkSystem.nix +++ b/lib/nix-furnace/mkSystem.nix @@ -11,7 +11,7 @@ let module_types, }: inputs.nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs my-lib;}; + specialArgs = {inherit inputs my-lib hostname;}; modules = [ {networking.hostName = hostname;} @@ -24,6 +24,8 @@ let ../../modules/options.nix ../../hosts/${hostname}/config.nix (lazyImport ../../hosts/${hostname}/nixos.nix) + inputs.agenix.nixosModules.default + ../../secrets/default.nix ] ++ (listModules |> (builtins.map (modName: [ diff --git a/modules/boot/nixos/default.nix b/modules/boot/nixos/default.nix index 06e68c3..8e710c8 100644 --- a/modules/boot/nixos/default.nix +++ b/modules/boot/nixos/default.nix @@ -34,6 +34,9 @@ in { }; }); + system.etc.overlay.enable = true; + system.nixos-init.enable = true; + environment.systemPackages = ( if cfg.secureBoot.enable diff --git a/modules/desktop/hjem/programs/research.nix b/modules/desktop/hjem/programs/research.nix index 1d31479..1646e0c 100644 --- a/modules/desktop/hjem/programs/research.nix +++ b/modules/desktop/hjem/programs/research.nix @@ -24,50 +24,53 @@ in }; }; - ".config/zathura/zathurarc".text = lib.mkIf (config.collinux.theme == "adwaita") '' - set font "Iosevka Nerd Font 11.5" + ".config/zathura/zathurarc".text = + if (config.collinux.theme == "adwaita") + then '' + set font "Iosevka Nerd Font 11.5" - set recolor 'true' - set recolor-keephue 'false' - set recolor-reverse-video 'false' + set recolor 'true' + set recolor-keephue 'false' + set recolor-reverse-video 'false' - # flipped to make dark mode - set recolor-lightcolor rgba(0,0,0,0) - set recolor-darkcolor '#DEDDDA' + # flipped to make dark mode + set recolor-lightcolor rgba(0,0,0,0) + set recolor-darkcolor '#DEDDDA' - set completion-fg '#DEDDDA' - set completion-bg '#303030' - set completion-group-fg '#33B2A4' - set completion-group-bg '#303030' - set completion-highlight-fg '#303030' - set completion-highlight-bg '#DEDDDA' + set completion-fg '#DEDDDA' + set completion-bg '#303030' + set completion-group-fg '#33B2A4' + set completion-group-bg '#303030' + set completion-highlight-fg '#303030' + set completion-highlight-bg '#DEDDDA' - set default-fg '#DEDDDA' - set default-bg rgba(29,29,29,0.6) + set default-fg '#DEDDDA' + set default-bg rgba(29,29,29,0.6) - set inputbar-fg '#DEDDDA' - set inputbar-bg '#303030' + set inputbar-fg '#DEDDDA' + set inputbar-bg '#303030' - set notification-fg '#DEDDDA' - set notification-bg '#303030' - set notification-error-fg '#DEDDDA' - set notification-error-bg '#E01B24' - set notification-warning-fg '#DEDDDA' - set notification-warning-bg '#E01B24' + set notification-fg '#DEDDDA' + set notification-bg '#303030' + set notification-error-fg '#DEDDDA' + set notification-error-bg '#E01B24' + set notification-warning-fg '#DEDDDA' + set notification-warning-bg '#E01B24' - set statusbar-fg '#DEDDDA' - set statusbar-bg '#303030' + set statusbar-fg '#DEDDDA' + set statusbar-bg '#303030' - set highlight-color '#33B2A4' - set highlight-active-color '#33B2A4' + set highlight-color '#33B2A4' + set highlight-active-color '#33B2A4' - set render-loading-fg '#DEDDDA' - set render-loading-bg '#303030' + set render-loading-fg '#DEDDDA' + set render-loading-bg '#303030' - set index-fg '#DEDDDA' - set index-bg '#303030' - set index-active-fg '#303030' - set index-active-bg '#DEDDDA' - ''; + set index-fg '#DEDDDA' + set index-bg '#303030' + set index-active-fg '#303030' + set index-active-bg '#DEDDDA' + '' + else ""; }; } diff --git a/modules/desktop/hjem/wm/fuzzel.nix b/modules/desktop/hjem/wm/fuzzel.nix index ab11d6b..7d61255 100644 --- a/modules/desktop/hjem/wm/fuzzel.nix +++ b/modules/desktop/hjem/wm/fuzzel.nix @@ -30,8 +30,8 @@ input = base05; match = base13; placeholder = base03; - text = base04; - prompt = base04; + text = base01; + prompt = base01; selection = "${base01}5a"; selection-match = base13; diff --git a/modules/desktop/hjem/wm/niri.nix b/modules/desktop/hjem/wm/niri.nix index 4449f82..c6826af 100644 --- a/modules/desktop/hjem/wm/niri.nix +++ b/modules/desktop/hjem/wm/niri.nix @@ -23,6 +23,12 @@ in input { focus-follows-mouse + + keyboard { + xkb { + options "caps:none" + } + } } hotkey-overlay { @@ -31,13 +37,13 @@ in } binds { - Mod+Q { close-window; } - - Mod+Space { spawn "fuzzel"; } - Mod+Return { spawn "foot"; } - Mod+B { spawn "firefox"; } + Mod+Space repeat=false { spawn "fuzzel"; } + Mod+Return repeat=false { spawn "foot"; } + Mod+B repeat=false { spawn "firefox"; } - Mod+m { maximize-column; } + Mod+Q repeat=false { close-window; } + Mod+S repeat=false { screenshot; } + Mod+M repeat=false { maximize-column; } XF86MonBrightnessUp { spawn "~/.config/util.lua" "brightness" "5%+"; } XF86MonBrightnessDown { spawn "~/.config/util.lua" "brightness" "5%-"; } @@ -73,10 +79,10 @@ in } struts { - left 16 - right 16 - top 16 - bottom 16 + left 0 + right 0 + top 0 + bottom 0 } background-color "transparent" diff --git a/modules/nix/nixos/default.nix b/modules/nix/nixos/default.nix index 07e7f44..7116371 100644 --- a/modules/nix/nixos/default.nix +++ b/modules/nix/nixos/default.nix @@ -1,9 +1,12 @@ { + inputs, config, pkgs, ... }: { nix = { + # package = inputs.determinate.packages.${pkgs.system}.default; + gc.automatic = false; # use nh cleaner instead # Make builds run with low priority so my system stays responsive @@ -15,15 +18,13 @@ auto-optimise-store = true; use-xdg-base-directories = true; }; - }; - # Disable channels - nix.channel.enable = false; - - nixpkgs = { - config.allowUnfree = true; + # Disable channels + channel.enable = false; }; + nixpkgs.config.allowUnfree = true; + programs.nh = { enable = true; flake = "/home/collin/nixos"; diff --git a/modules/services/options.nix b/modules/services/options.nix index b887395..ee85982 100644 --- a/modules/services/options.nix +++ b/modules/services/options.nix @@ -12,6 +12,7 @@ in { iwd.enable = mkEnableOption "lightweight wifi daemon"; networkmanager.enable = mkEnableOption "heavier wifi daemon"; tailscale.enable = mkEnableOption "tailscale"; + sshd.enable = mkEnableOption "OpenSSH server"; }; audio = { enable = mkEnableOption "pipewire + wireplumber"; diff --git a/modules/terminal/hjem/programs/cmus.nix b/modules/terminal/hjem/programs/cmus.nix index 7a5ac81..5c65d26 100644 --- a/modules/terminal/hjem/programs/cmus.nix +++ b/modules/terminal/hjem/programs/cmus.nix @@ -6,27 +6,7 @@ }: let cfg = config.collinux.terminal.programs.cmus; - scriptsDir = "~/.config/cmus/scripts"; - - scripts.statusDisplay = '' - while [ $# -ge 2 ]; do - eval _$1='$2' - shift - shift - done - - [ -d ~/.local/share/cmus ] || mkdir ~/.local/share/cmus - - if [ -n "$_file" ]; then - ${pkgs.ffmpeg}/bin/ffmpeg -i "$_file" -y -an -c:v copy ~/.local/share/cmus/curr_cover.jpg || rm ~/.local/share/cmus/curr_cover.jpg - fi - - ${pkgs.dunst}/bin/dunstify -t 2000 -u low -h string:x-canonical-private-synchronous:music -i ~/.local/share/cmus/curr_cover.jpg "$_status: $_title" "$_artist" - ''; - - cmus_theme = '' - set color_cmdline_error=lightred - set color_cmdline_info=lightyellow + cmus_theme_kanagawa = '' set color_cmdline_fg=lightred set color_cmdline_bg=237 set color_separator=238 @@ -49,23 +29,49 @@ set color_win_title_fg=lightred ''; + cmus_theme_catppuccin = '' + set color_cmdline_bg=default + set color_cmdline_fg=default + set color_error=211 + set color_info=223 + set color_separator=8 + set color_statusline_bg=default + set color_statusline_fg=default + set color_titleline_bg=183 + set color_titleline_fg=8 + set color_titleline_attr=bold + set color_win_bg=default + set color_win_cur=117 + set color_win_cur_sel_bg=117 + set color_win_cur_sel_fg=235 + set color_win_dir=default + set color_win_fg=default + set color_win_inactive_cur_sel_bg=0 + set color_win_inactive_cur_sel_fg=default + set color_win_inactive_sel_bg=0 + set color_win_inactive_sel_fg=default + set color_win_sel_bg=15 + set color_win_sel_fg=235 + set color_win_title_bg=default + set color_win_title_fg=183 + set color_win_title_attr=bold + ''; + cmus_rc = '' - colorscheme all - set status_display_program=${scriptsDir}/status.sh + colorscheme ${cfg.theme} ''; in lib.mkIf cfg.enable { - files = let - e = text: { - inherit text; - executable = true; - }; - in { - ".config/cmus/scripts/status.sh" = e scripts.statusDisplay; - - ".config/cmus/rc".text = cmus_rc; - ".config/cmus/all.theme".text = cmus_theme; - }; + files = + { + ".config/cmus/rc".text = cmus_rc; + } + // (lib.mkIf (cfg.theme == "catppuccin") { + ".config/cmus/catppuccin.theme".text = cmus_theme_catppuccin; + }) + // (lib.mkIf (cfg.theme == "kanagawa") { + ".config/cmus/kanagawa.theme".text = cmus_theme_kanagawa; + }); packages = [pkgs.cmus]; } diff --git a/modules/terminal/hjem/programs/tmux.nix b/modules/terminal/hjem/programs/tmux.nix index 152c443..8525569 100644 --- a/modules/terminal/hjem/programs/tmux.nix +++ b/modules/terminal/hjem/programs/tmux.nix @@ -15,18 +15,10 @@ in { tsunami = { enable = true; - theme = - if (cfg.theme == "catppuccin") - then { - bg = "#1e1e2e"; - bg_dark = "#181825"; - } - else if (cfg.theme == "adwaita") - then { - bg = "#1d1d1d"; - bg_dark = "#171717"; - } - else {}; + theme = { + bg = config.collinux.palette.base01; + bg_dark = config.collinux.palette.base00; + }; keys.leader = [ { diff --git a/modules/terminal/options.nix b/modules/terminal/options.nix index e55ab1b..77b1f13 100644 --- a/modules/terminal/options.nix +++ b/modules/terminal/options.nix @@ -31,7 +31,7 @@ in { starship = mkProgramOption "starship prompt"; lazygit.enable = mkEnableOption "lazygit"; - cmus.enable = mkEnableOption "cmus"; + cmus = mkProgramOption "cmus"; nh.enable = mkEnableOption "nh nix helper"; git = { diff --git a/modules/user/nixos/default.nix b/modules/user/nixos/default.nix index 05afe37..0257198 100644 --- a/modules/user/nixos/default.nix +++ b/modules/user/nixos/default.nix @@ -1,5 +1,6 @@ { config, + hostname, lib, ... }: let @@ -9,9 +10,10 @@ in { isNormalUser = true; description = cfg.name; extraGroups = ["networkmanager" "pipewire" "disks" "input" "video" "dialout" "kvm"] ++ (lib.optional cfg.isAdmin "wheel"); - hashedPassword = cfg.password; + hashedPasswordFile = config.age.secrets."${cfg.name}@${hostname}-passwd".path; }; security.sudo-rs.enable = true; + services.userborn.enable = true; time.timeZone = "America/Chicago"; diff --git a/modules/user/options.nix b/modules/user/options.nix index f5c7a5f..1024494 100644 --- a/modules/user/options.nix +++ b/modules/user/options.nix @@ -1,8 +1,4 @@ -{ - config, - lib, - ... -}: let +{lib, ...}: let inherit (lib) mkOption types; in { options = { @@ -10,10 +6,6 @@ in { name = mkOption { type = types.str; }; - password = mkOption { - type = types.str; - description = "hashed password for user"; - }; isAdmin = mkOption { type = types.bool; default = true; diff --git a/secrets/collin-mercury-passwd.age b/secrets/collin-mercury-passwd.age new file mode 100644 index 0000000..fff172f --- /dev/null +++ b/secrets/collin-mercury-passwd.age @@ -0,0 +1,11 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IHhkakdNZyBRRmZa +dTJmcmQ1akI1OFJpN1Y1dkFjSElDa0RuYUd3V2l5STRXSDlzV1RRCmZyKzNjbWZm +RFpDZnFxSTFDUmpRam1KVE84dEVmWFBoWXFzOFRzR0tVQTAKLT4gc3NoLWVkMjU1 +MTkgYXpCaWxnIENrRzV3QVpRc1BUTGZYb0dYcXR3RzIvc1lWS1loZTZxRnIwS1Fa +bmE4eFkKQWQ1VGY4M0V6ekw2WlRob2w2QmFyZVB5d3Rmb1lYaWlKNlkvTVI1aW1a +OAotLS0gSDNwamwydTEvNzl1c1lBVzlsWHlTcDF2YVZBUlZwRWRTL1hZWDg5QnpW +cwrClzpxMgfLhDNpTDq/Kmsdrzu920naw4XlzpBfk+v6tmQIs0mFZpYZMhMpXN+R +aMNVtYr+3UnvgVpGB+nBR5+LBhtpmvr2I4NXbLS7BVFqaFDX6elmVzr/Ixed+ISC +yHC1JVVYfEM2S32l +-----END AGE ENCRYPTED FILE----- diff --git a/secrets/default.nix b/secrets/default.nix new file mode 100644 index 0000000..5b6bf15 --- /dev/null +++ b/secrets/default.nix @@ -0,0 +1,6 @@ +{ + age.secrets = { + "collin@mercury-passwd".file = ./${"collin-mercury-passwd.age"}; + "collin@jupiter-passwd".file = ./${"./collin-mercury-passwd.age"}; + }; +} diff --git a/secrets/secrets.nix b/secrets/secrets.nix new file mode 100644 index 0000000..bb32868 --- /dev/null +++ b/secrets/secrets.nix @@ -0,0 +1,15 @@ +let + user_mercury = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAvxtKW0rmRBi8J67gLrLv8Zv338AcmZ3P20DePiUfnX"; + user_jupiter = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGK8U+m6/9g7/AduxQcawJrA2V3lSEUrF7j/oJwPow3q"; + + system_mercury = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIQtMAgPdWwrOzlZT/lEIRQZ+ajhafG9AEJCrF2/bsmN"; +in { + "collin-mercury-passwd.age" = { + publicKeys = [user_mercury system_mercury]; + armor = true; + }; + "collin-jupiter-passwd.age" = { + publicKeys = [user_jupiter]; + armor = true; + }; +} |
