aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-12-20 07:49:56 -0600
committerCollin Williams <96917990+bluedragon1221@users.noreply.github.com>2025-12-20 07:53:22 -0600
commit70f702c6fd33454aebc4a266789fc5bf7e77e960 (patch)
treeafd021e65acab4ed2cde532b3eb914bfc6cb9ff9
parent26533470d5eebca67519c0a0ce797bedfb6a5e25 (diff)
age + other various changes
-rw-r--r--flake.lock393
-rw-r--r--flake.nix23
-rw-r--r--hosts/ganymede/config.nix5
-rw-r--r--hosts/jupiter/config.nix5
-rw-r--r--hosts/mercury/battery.nix34
-rw-r--r--hosts/mercury/config.nix22
-rw-r--r--hosts/mercury/disks.nix7
-rw-r--r--hosts/mercury/hjem.nix5
-rw-r--r--hosts/mercury/nixos.nix2
-rw-r--r--lib/nix-furnace/mkSystem.nix4
-rw-r--r--modules/boot/nixos/default.nix3
-rw-r--r--modules/desktop/hjem/programs/research.nix73
-rw-r--r--modules/desktop/hjem/wm/fuzzel.nix4
-rw-r--r--modules/desktop/hjem/wm/niri.nix26
-rw-r--r--modules/nix/nixos/default.nix13
-rw-r--r--modules/services/options.nix1
-rw-r--r--modules/terminal/hjem/programs/cmus.nix74
-rw-r--r--modules/terminal/hjem/programs/tmux.nix16
-rw-r--r--modules/terminal/options.nix2
-rw-r--r--modules/user/nixos/default.nix4
-rw-r--r--modules/user/options.nix10
-rw-r--r--secrets/collin-mercury-passwd.age11
-rw-r--r--secrets/default.nix6
-rw-r--r--secrets/secrets.nix15
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
-}
diff --git a/flake.nix b/flake.nix
index f019422..5d644c5 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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;
+ };
+}