Compare commits

...
Author SHA1 Message Date
aaron f54798a8be Merge pull request 'fix(certificates): temporarily distrust emSign ECC Root CA - G3' (#111) from fix/distrust-emudhra-ecc-root into main
Reviewed-on: #111
2026-10-21 14:02:23 +02:00
aaronandClaude Opus 5.5 5b38fc4155 fix(certificates): temporarily distrust emSign ECC Root CA - G3
Eight eMudhra intermediates chaining to this root were generated with
trivially recoverable private keys (Mozilla bug 2083449), so anyone can
mint certificates that non-browser clients using the system bundle will
accept. Browsers already block them; the system bundle does not until
cacert 3.131.1 (nixpkgs f903b88), which has not reached nixos-unstable
yet. Drop this once the flake lock includes that commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 13:39:53 +02:00
aaron 6c1c4403c2 Merge pull request 'fix(tailscale): open Tailscale's WireGuard port in the firewall' (#109) from fix/tailscale-open-firewall into main
Reviewed-on: #109
2026-10-20 12:50:24 +02:00
aaronandClaude Opus 5.5 fb3e2864d6 fix(tailscale): open Tailscale's WireGuard port in the firewall
services.tailscale.openFirewall defaults to false while the NixOS
firewall is enabled, so argon, krypton and neon dropped unsolicited
inbound 41641/udp. Direct connections then only succeed if the other
peer accepts inbound; between two of these hosts (or a host and a
phone) traffic can fall back to a DERP relay.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 12:48:41 +02:00
aaron 8701507742 Merge pull request 'feature(git): enable git lfs for my user' (#108) from feature/add_tea into main
Reviewed-on: #108
2026-10-18 14:43:17 +02:00
aaron c748f22033 feature(git): enable git lfs for my user 2026-10-18 14:42:07 +02:00
aaron a9e17a8c35 Merge pull request 'feature(programs): add the tea binary to my user to communicate with my gitea server' (#107) from feature/add_tea into main
Reviewed-on: #107
2026-10-18 14:16:55 +02:00
aaron 69adfc9890 feature(programs): add the tea binary to my user to communicate with my gitea server 2026-10-18 14:15:52 +02:00
aaron c9c15addcc Merge pull request 'feature(argon): add rootless docker to argon' (#106) from feature/docker_on_argon into main
Reviewed-on: #106
2026-10-16 20:14:45 +02:00
aaron abe6fd5c18 feature(argon): add rootless docker to argon 2026-10-16 20:06:09 +02:00
aaron 49a8b574bf Merge pull request 'feature: add de_nodeadkeys to niri-greet as well' (#105) from feature/nodeadkeys into main
Reviewed-on: #105
2026-10-15 21:00:16 +02:00
aaron b07d8aefa4 feature: add de_nodeadkeys to niri-greet as well 2026-10-15 20:59:52 +02:00
aaron ff7b34fedd Merge pull request 'feature(niri): change keyboard layout to the nondeadkeys variant' (#104) from feature/nodeadkeys into main
Reviewed-on: #104
2026-10-15 18:47:29 +02:00
aaron 1030fdfd8f fix(niri): add correct nodeadkeys designator 2026-10-15 16:31:29 +02:00
aaron 186c3e971d feature(niri): change keyboard layout to the nondeadkeys variant 2026-10-14 09:40:30 +02:00
aaron 1e6d041c45 Merge pull request 'feature(greetd): add noctalia-greeter to greetd' (#103) from feature/noctialia-greeter into main
Reviewed-on: #103
2026-10-14 09:20:22 +02:00
aaron 75f7acbf2e feature(greetd): add noctalia-greeter to greetd 2026-10-14 09:19:40 +02:00
aaron 414f579ccf Merge pull request 'feature: use the local log driver insteald of journald for rootless docker' (#102) from feature/rootless_docker into main
Reviewed-on: #102
2026-10-12 19:22:42 +02:00
aaron 104e0a7cb3 feature: use the local log driver insteald of journald for rootless docker 2026-10-12 19:15:51 +02:00
aaron 3418b08772 Merge pull request 'chore: update nix flakes' (#101) from chore/update into main
Reviewed-on: #101
2026-10-12 18:24:46 +02:00
aaron a8aefcbfdd chore: update nix flakes 2026-10-12 18:10:15 +02:00
aaron 653e56f40c Merge pull request 'fix: remove contact_shadow between bar and attached panels' (#100) from fix/contact_shadow into main
Reviewed-on: #100
2026-10-10 20:52:23 +02:00
aaron 74b64368aa fix: remove contact_shadow between bar and attached panels 2026-10-10 20:50:40 +02:00
aaron 1883b6cb05 Merge pull request 'feature(docker): make changes to the rootless docker setup to support the netgame webapp which relies on k3d and traefik' (#99) from feature/rootless_docker_improvements into main
Reviewed-on: #99
2026-10-07 16:08:46 +02:00
aaron e9b3e5961c feature(docker): make changes to the rootless docker setup to support the netgame webapp which relies on k3d and traefik 2026-10-07 16:05:46 +02:00
aaron 3b961d447b Merge pull request 'chore: update nix flakes' (#98) from chore/update into main
Reviewed-on: #98
2026-10-06 17:39:53 +02:00
aaron edcc71b435 chore: update nix flakes 2026-10-06 17:39:33 +02:00
aaron 88aeea31f8 Merge pull request 'feature(theme): replace all color theme configs with stylix' (#97) from feature/add_stylix into main
Reviewed-on: #97
2026-10-06 17:32:26 +02:00
aaron 8f86bcb365 refactor(nixvim): change back mini.base16 to dedicated nord theme plugin 2026-10-05 21:23:51 +02:00
aaron 2b55ec9873 feature(theme): replace all color theme configs with stylix 2026-10-05 12:39:24 +02:00
aaron 6a5eaca649 Merge pull request 'feature(git): add kryptons ssh key as signing key' (#96) from feature/add_krypton_sk into main
Reviewed-on: #96
2026-10-04 14:43:27 +02:00
aaron 441d954b85 Merge pull request 'feature(software): add signal-desktop electron app' (#95) from feature/add_signal into main
Reviewed-on: #95
2026-10-04 10:56:43 +02:00
16 changed files with 406 additions and 61 deletions
Generated
+298 -19
View File
@@ -1,5 +1,73 @@
{ {
"nodes": { "nodes": {
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1755819240,
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1765809053,
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
"type": "github"
}
},
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1776754714,
"narHash": "sha256-E3OAK27smtATTmX45uoTSRsVD+Y+ZiVVfgM/tjpbtYg=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "4d508123037e7851ad36ebf7d9c48b0e9e1eb581",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-helix",
"type": "github"
}
},
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1732806396,
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
}
},
"crane": { "crane": {
"locked": { "locked": {
"lastModified": 1789760033, "lastModified": 1789760033,
@@ -15,6 +83,22 @@
"type": "github" "type": "github"
} }
}, },
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1783570805,
"narHash": "sha256-ptl5aRlCv9/uRSv2u8Hq8UFVFeZ6Q/bT049bpqNgc3w=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "5602ed62d638142c1ab31dccd01dfbfb28841225",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -39,11 +123,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1788450739, "lastModified": 1790898470,
"narHash": "sha256-glZLQlzIn1fXH6PazR2iUmTo7kzzyYSshrWhLS9TqCU=", "narHash": "sha256-zTwuwezD0w3hpga6a6P8emidzAZFyWqlNeRBlpWOOl8=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "31729ca8cbdb4fa927b34e5f4353e6a83f39e993", "rev": "024633cd702b10285db5cb19b40ad48d2399ba60",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -52,6 +136,62 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1782949081,
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
"lastModified": 1731966426,
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
"owner": "SenchoPens",
"repo": "fromYaml",
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "fromYaml",
"type": "github"
}
},
"gnome-shell": {
"flake": false,
"locked": {
"host": "gitlab.gnome.org",
"lastModified": 1776175984,
"narHash": "sha256-RJFlFW8GiMei6oqUGrMkGEvVqOH8U7Q8abc1yK4VKD8=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "e0fdc4c13250e9a9b8ea9594c83925274f4a5dca",
"type": "gitlab"
},
"original": {
"host": "gitlab.gnome.org",
"owner": "GNOME",
"ref": "50.1",
"repo": "gnome-shell",
"type": "gitlab"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -59,11 +199,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1790819692, "lastModified": 1791642191,
"narHash": "sha256-rvubAPbh3QCliic3sAK+CXTrPCGgJstY52OTs/5H1J4=", "narHash": "sha256-0bK0A59rVUn1SRZzo4cNi4VSqAe7vR1gL2/MZl53Frw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c8ecc29e5175452bee4a2aa1ba2383856d795338", "rev": "c58f54c733a7894d84fa2fdff26cc12088c4b78c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -103,11 +243,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1790948122, "lastModified": 1791721963,
"narHash": "sha256-fDMYyzY1lI5b8RuCMrvoaIgTeRwNnTG4dNk1ucROlQE=", "narHash": "sha256-BYhx89XJltnRyQeuDKHVL5eSqbbfAcOKuDts7QRsrxQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "0953bb1a609df63013176e3463393f8df993d3ef", "rev": "60a624466c08787ee8303393b7d4752d1826f14f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -118,11 +258,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1790689126, "lastModified": 1791594108,
"narHash": "sha256-ilerN1WLSvF+HMjziC/Wv99J5y02maDH+6hZPwsORKg=", "narHash": "sha256-XK4KceonkwD8LuMAt/vNrz982mXJM5jeHAxMwsUXXAQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b4fd65b198c599cbe814fcb9f42d25d021595ec9", "rev": "6510408d147d8c5e6d76043e899e9251756f6a75",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -141,11 +281,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1790541651, "lastModified": 1791769517,
"narHash": "sha256-/496IQz8qNWHHLnc3Zvr0l4uxJ34igNhJhn7ZKAefFk=", "narHash": "sha256-OVx8OKPdW1fLfDi1oemFkfSvF354UwU5I0GXnNAGygw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "5980a626794486abad69fca7667f9c11dfbc3bd7", "rev": "84e901ee80e6523068dc3baf86cbf7cdcbf16902",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -161,11 +301,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1790718664, "lastModified": 1791817518,
"narHash": "sha256-LWil4xgSyqIFZ9sydvL1glFOoiqAOknWUwykC4sqxuY=", "narHash": "sha256-DGVFzc0YXy38vCuS43PZPIkTVKaKxpNgzkNmJsHouP8=",
"owner": "noctalia-dev", "owner": "noctalia-dev",
"repo": "noctalia-shell", "repo": "noctalia-shell",
"rev": "fd9759c892fe5034b682c185695f1bee121cd5b3", "rev": "02cb10745d6274e4a696a00308c8ef4cefa7416d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -174,6 +314,31 @@
"type": "github" "type": "github"
} }
}, },
"nur": {
"inputs": {
"flake-parts": [
"stylix",
"flake-parts"
],
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1785549842,
"narHash": "sha256-DCwBZmGsySF7oKGTRgEv2HvpxVXkHT+38VhTM76k0B4=",
"owner": "nix-community",
"repo": "NUR",
"rev": "a9f987b57594e845e3e5cdd423b9a70846d70308",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"pre-commit": { "pre-commit": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@@ -203,7 +368,8 @@
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixvim": "nixvim", "nixvim": "nixvim",
"noctalia": "noctalia" "noctalia": "noctalia",
"stylix": "stylix"
} }
}, },
"rust-overlay": { "rust-overlay": {
@@ -227,8 +393,57 @@
"type": "github" "type": "github"
} }
}, },
"stylix": {
"inputs": {
"base16": "base16",
"base16-fish": "base16-fish",
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_2",
"gnome-shell": "gnome-shell",
"nixpkgs": [
"nixpkgs"
],
"nur": "nur",
"systems": "systems_2",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1791574276,
"narHash": "sha256-UMnLnZ3JlA7UTBNNNx1rNsXYoPP/cirXLCKGiQ/yDx8=",
"owner": "nix-community",
"repo": "stylix",
"rev": "2856c4c6a845b9bec98828ef197abe176e4806bb",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "stylix",
"type": "github"
}
},
"systems": { "systems": {
"flake": false, "flake": false,
"locked": {
"lastModified": 1791244623,
"narHash": "sha256-uuanbkFk8a313Zfrxdcz8Us/yQtaxNnKJtX8v0ZPpd8=",
"owner": "nix-systems",
"repo": "default",
"rev": "d36eeed142f88b5a636f2e3856a53c61654cf29b",
"type": "github"
},
"original": {
"owner": "nix-systems",
"ref": "future-26.11",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": { "locked": {
"lastModified": 1774449309, "lastModified": 1774449309,
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=", "narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
@@ -243,6 +458,70 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"tinted-kitty": {
"flake": false,
"locked": {
"lastModified": 1735730497,
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"type": "github"
}
},
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1785153830,
"narHash": "sha256-fNdfCTeCXU3tZG3TMincd+u68qBHQgCr2Ljr/M1mWP0=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "9bd28ed313560db3c5b605c63bc4e309e78e3fc8",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1785031658,
"narHash": "sha256-mZp9O2LjzdMzlqQF3l3fjqsuPBzXy+1qTfBEUGjTlpk=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "5d2c67f61ea7af36f16865ab6d541cdba41dc257",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
},
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1785030526,
"narHash": "sha256-klZf8UviewRkxuu74Bhbq6tqy7oxebQC7UVRWbbtQxU=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "16f5a8adf4a6b1310d0a61ab172de963e8f76a02",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-zed",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",
+6
View File
@@ -23,6 +23,10 @@
url = "github:nix-community/nixvim"; url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
stylix = {
url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = outputs =
@@ -30,6 +34,7 @@
nixpkgs, nixpkgs,
home-manager, home-manager,
nixvim, nixvim,
stylix,
... ...
}@inputs: }@inputs:
let let
@@ -49,6 +54,7 @@
home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.extraSpecialArgs = { inherit inputs; };
home-manager.users.aaron.imports = [ home-manager.users.aaron.imports = [
nixvim.homeModules.nixvim nixvim.homeModules.nixvim
stylix.homeModules.stylix
./users/aaron/home.nix ./users/aaron/home.nix
]; ];
} }
+2 -1
View File
@@ -10,12 +10,13 @@
../../modules/nixos/bootloader.nix ../../modules/nixos/bootloader.nix
../../modules/nixos/certificates.nix ../../modules/nixos/certificates.nix
../../modules/nixos/data-drives.nix ../../modules/nixos/data-drives.nix
../../modules/nixos/docker.nix
../../modules/nixos/gnupg.nix ../../modules/nixos/gnupg.nix
../../modules/nixos/greetd.nix
../../modules/nixos/lanzaboote.nix ../../modules/nixos/lanzaboote.nix
../../modules/nixos/locales.nix ../../modules/nixos/locales.nix
../../modules/nixos/networking.nix ../../modules/nixos/networking.nix
../../modules/nixos/niri.nix ../../modules/nixos/niri.nix
../../modules/nixos/noctalia-greeter.nix
../../modules/nixos/noctalia.nix ../../modules/nixos/noctalia.nix
../../modules/nixos/openssh.nix ../../modules/nixos/openssh.nix
../../modules/nixos/packages.nix ../../modules/nixos/packages.nix
-3
View File
@@ -4,13 +4,10 @@
settings = { settings = {
clipboard-paste-protection = false; clipboard-paste-protection = false;
clipboard-read = "allow"; clipboard-read = "allow";
font-family = "0xProto Nerd Font Mono";
font-size = 12;
gtk-titlebar = false; gtk-titlebar = false;
scrollback-limit = 100000; scrollback-limit = 100000;
shell-integration = "zsh"; shell-integration = "zsh";
shell-integration-features = "ssh-env,ssh-terminfo"; shell-integration-features = "ssh-env,ssh-terminfo";
theme = "noctalia"; # generated by noctalia-shell
window-decoration = "auto"; window-decoration = "auto";
window-padding-x = 10; window-padding-x = 10;
window-padding-y = 10; window-padding-y = 10;
+1
View File
@@ -24,6 +24,7 @@ in
programs.git = { programs.git = {
enable = true; enable = true;
lfs.enable = true;
settings = { settings = {
push.autoSetupRemote = true; push.autoSetupRemote = true;
user = { user = {
+13 -4
View File
@@ -2,7 +2,12 @@
# come from modules/nixos/niri.nix. Outputs and input devices that differ # come from modules/nixos/niri.nix. Outputs and input devices that differ
# per machine live in hosts/<host>/niri.nix. # per machine live in hosts/<host>/niri.nix.
{ lib, osConfig, ... }: {
config,
lib,
osConfig,
...
}:
let let
# Mod+1..9 focus a workspace, Mod+Ctrl+1..9 move the column there # Mod+1..9 focus a workspace, Mod+Ctrl+1..9 move the column there
@@ -18,6 +23,9 @@ let
_props.allow-when-locked = true; _props.allow-when-locked = true;
spawn-sh = cmd; spawn-sh = cmd;
}; };
# niri has no stylix target, so the colors are picked here
colors = config.lib.stylix.colors.withHashtag;
in in
{ {
wayland.windowManager.niri = { wayland.windowManager.niri = {
@@ -34,6 +42,7 @@ in
input = { input = {
keyboard = { keyboard = {
xkb.layout = "ch"; xkb.layout = "ch";
xkb.variant = "de_nodeadkeys";
numlock = { }; numlock = { };
}; };
mouse = { mouse = {
@@ -61,9 +70,9 @@ in
focus-ring = { focus-ring = {
on = { }; on = { };
width = 2; width = 2;
active-color = "#4c566a"; active-color = colors.base03;
inactive-color = "#2e3440"; inactive-color = colors.base00;
urgent-color = "#a3be8c"; urgent-color = colors.base0B;
}; };
border.off = { }; border.off = { };
+1 -1
View File
@@ -23,7 +23,7 @@
# nvim mapleader for all command below # nvim mapleader for all command below
globals.mapleader = " "; globals.mapleader = " ";
# set colorscheme to nord # set colorscheme to nord, stylix's base16 version is disabled in stylix.nix
colorschemes.nord.enable = true; colorschemes.nord.enable = true;
# nvim plugins # nvim plugins
+3 -7
View File
@@ -14,13 +14,7 @@
# settings is rendered to ~/.config/noctalia/config.toml # settings is rendered to ~/.config/noctalia/config.toml
settings = { settings = {
# theme / colors # theme / colors come from stylix, see stylix.nix
theme = {
source = "builtin";
builtin = "Nord";
mode = "dark";
templates.builtin_ids = [ "ghostty" ];
};
# general # general
shell = { shell = {
@@ -76,6 +70,8 @@
radius = 0; radius = 0;
scale = 1.2; scale = 1.2;
widget_spacing = 20; widget_spacing = 20;
# no dark gradient on the seam between the bar and attached panels (e.g. control center)
contact_shadow = false;
start = [ start = [
"control-center" "control-center"
"cpu" "cpu"
+1
View File
@@ -8,6 +8,7 @@
fastfetch fastfetch
keepassxc keepassxc
signal-desktop signal-desktop
tea
teamspeak6-client teamspeak6-client
typst typst
zathura zathura
-23
View File
@@ -1,23 +0,0 @@
{ pkgs, ... }:
{
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
gtk4.theme = null;
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
};
qt = {
enable = true;
platformTheme.name = "qt6";
style = {
name = "adwaita-dark";
package = pkgs.adwaita-qt;
};
};
}
+41
View File
@@ -0,0 +1,41 @@
# One Nord palette for everything stylix has a target for: gtk, qt,
# noctalia, ghostty. Niri has no target and reads the colors in niri.nix.
# Only the home-manager module is used, so boot, console and sddm are left alone.
{ pkgs, ... }:
{
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/nord.yaml";
polarity = "dark";
fonts = {
monospace = {
name = "0xProto Nerd Font Mono";
package = pkgs.nerd-fonts._0xproto;
};
sizes.terminal = 12;
};
# its overlays (nixos-icons, gtksourceview) clash with useGlobalPkgs
overlays.enable = false;
targets = {
# profiles aren't managed by home-manager, declaring one here would
# take over the existing profile
firefox.enable = false;
# the bar keeps 0xProto instead of the sans-serif font
noctalia.fonts.enable = false;
# nord.nvim is calmer than the base16 palette, e.g. no line number
# background, see nixvim.nix
nixvim.enable = false;
# the hand-built status line in tmux.nix uses ANSI color names, which
# already follow the terminal palette
tmux.enable = false;
# rofi isn't used, and the target still sets the renamed
# programs.rofi.font, which warns on every evaluation
rofi.enable = false;
};
};
}
+5
View File
@@ -17,4 +17,9 @@ in
security.pki.certificates = [ security.pki.certificates = [
caddyRootCA # self-signed pki ca for my home-lab caddyRootCA # self-signed pki ca for my home-lab
]; ];
# Temporary: eMudhra intermediates under this root have recoverable private
# keys (https://bugzilla.mozilla.org/show_bug.cgi?id=2083449). Remove once
# nixos-unstable ships cacert >= 3.131.1 (nixpkgs f903b88).
security.pki.caCertificateBlacklist = [ "emSign ECC Root CA - G3" ];
} }
+7 -1
View File
@@ -8,8 +8,14 @@
"1.1.1.1" "1.1.1.1"
"8.8.8.8" "8.8.8.8"
]; ];
log-driver = "journald"; log-driver = "local";
registry-mirrors = [ "https://mirror.gcr.io" ]; registry-mirrors = [ "https://mirror.gcr.io" ];
}; };
}; };
# k3s/k3d in rootless docker needs the cpuset controller delegated to the user session
systemd.services."user@".serviceConfig.Delegate = "cpu cpuset io memory pids";
# let rootless docker publish ports 80/443 (e.g. k3d traefik ingress)
boot.kernel.sysctl."net.ipv4.ip_unprivileged_port_start" = 80;
} }
+22
View File
@@ -0,0 +1,22 @@
{
# greetd display manager with the graphical noctalia greeter, replaces greetd.nix.
# The nixpkgs module enables greetd, accountsservice (avatars) and polkit, and
# launches noctalia-greeter-session. Sessions (niri) are discovered from
# wayland-sessions, the last one picked is remembered.
# See https://docs.noctalia.dev/greeter/
services.displayManager.noctalia-greeter = {
enable = true;
# lets the shell's "Sync Now" / auto-sync copy wallpaper, palette and monitor
# layout to the greeter without an admin prompt (appearance only)
passwordlessSyncUsers = [ "aaron" ];
# rendered to /var/lib/noctalia-greeter/greeter.toml, wins over synced values
settings = {
user.default = "aaron";
# same layout as niri, otherwise the password is typed on a us keymap
keyboard.layout = "ch";
keyboard.variant = "de_nodeadkeys";
};
};
}
+5 -1
View File
@@ -4,6 +4,10 @@
tuned.enable = true; tuned.enable = true;
upower.enable = true; upower.enable = true;
fwupd.enable = true; fwupd.enable = true;
tailscale.enable = true; tailscale = {
enable = true;
# inbound 41641/udp so peers can connect directly instead of via DERP
openFirewall = true;
};
}; };
} }
+1 -1
View File
@@ -8,7 +8,7 @@
../../modules/home-manager/noctalia.nix ../../modules/home-manager/noctalia.nix
../../modules/home-manager/programs.nix ../../modules/home-manager/programs.nix
../../modules/home-manager/shell.nix ../../modules/home-manager/shell.nix
../../modules/home-manager/styling.nix ../../modules/home-manager/stylix.nix
../../modules/home-manager/tmux.nix ../../modules/home-manager/tmux.nix
]; ];