nixos/modules/base-system.nix

193 lines
6.1 KiB
Nix
Raw Normal View History

# Settings that most of my hosts can agree on, but
# some of these settings are overriden on a per-host basis.
{
pkgs,
lib,
config,
2023-08-27 13:52:40 +02:00
inputs,
...
}: let
cfg = config.settings;
2022-05-30 18:35:52 +02:00
inherit (lib) mkDefault;
highSSHPort = 38611;
vpnInterface = config.services.tailscale.interfaceName;
enableHydraMinion = config.services.openssh.enable;
in {
imports = [
./hdparm.nix
./malte.nix
./marie.nix
2023-08-16 23:11:56 +02:00
./deck.nix
./radicale.nix
./restic.nix
./wakeup.nix
2023-10-30 00:31:58 +01:00
./state.nix
];
options.settings = with lib; {
nvidiaUsed = mkEnableOption "NVIDIA graphic card usage";
minimalGnome.enable = mkEnableOption "basic gnome stuff";
ssh.openOutsideVPN = mkEnableOption "an additional ssh port outside the VPN";
batteryStuff.enable = mkEnableOption "battery-related things";
hiDPI.enable = mkEnableOption "High-DPI display";
};
config = {
# Allow joypixels' license and unfree licenses in general
nixpkgs.config = {
# TODO: Fix once allowUnfree works for home-manager again
allowUnfreePredicate = _: true;
joypixels.acceptLicense = true;
};
2023-10-30 00:31:58 +01:00
# Some overlays
nixpkgs.overlays = [
(_: super: {
"2i-emulator" = super.callPackage ../pkgs/2i-emulator.nix {};
boilr = super.callPackage ../pkgs/boilr.nix {};
2023-10-30 00:31:58 +01:00
# Add fonts
hackNerdLigatures = super.callPackage ../pkgs/hack.nix {};
chore: update lockfile • Updated input 'devshell': 'github:numtide/devshell/d208c58e2f7afef838add5f18a9936b12a71d695' (2023-08-20) → 'github:numtide/devshell/1aed986e3c81a4f6698e85a7452cbfcc4b31a36e' (2023-10-27) • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01) → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01) • Updated input 'flake-parts/nixpkgs-lib': 'github:NixOS/nixpkgs/9e1960bc196baf6881340d53dccb203a951745a2?dir=lib' (2023-08-01) → 'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735?dir=lib' (2023-10-29) • Updated input 'home-manager': 'github:nix-community/home-manager/958c06303f43cf0625694326b7f7e5475b1a2d5c' (2023-08-20) → 'github:nix-community/home-manager/280721186ab75a76537713ec310306f0eba3e407' (2023-11-12) • Updated input 'hydra': 'github:NixOS/hydra/60e2c377d305b72cee39c51b5892d215e4238278' (2023-08-03) → 'github:NixOS/hydra/33f8a36736ea52d0cc31b947dc7e500134866a92' (2023-10-20) • Updated input 'hydra/nix': 'github:NixOS/nix/84050709ea18f3285a85d729f40c8f8eddf5008e' (2023-06-06) → 'github:NixOS/nix/a212300a1d9f9c7b0daf19c00c87fc50480f54f4' (2023-07-24) • Updated input 'hyprland': 'github:hyprwm/Hyprland/63b2189ce81f08ca77894f50e3d484902283189a' (2023-08-20) → 'github:hyprwm/Hyprland/0ba2e6870478bcf1af1b6508677b46a3484fb21f' (2023-11-12) • Updated input 'hyprland/wlroots': 'gitlab:wlroots/wlroots/c74f89d4f84bfed0284d3908aee5d207698c70c5' (2023-08-03) → 'gitlab:wlroots/wlroots/5de9e1a99d6642c2d09d589aa37ff0a8945dcee1' (2023-11-06) • Updated input 'hyprland/xdph': 'github:hyprwm/xdg-desktop-portal-hyprland/57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b' (2023-08-12) → 'github:hyprwm/xdg-desktop-portal-hyprland/22e7a65ff9633e1dedfa5317fdffc49f68de2ff2' (2023-10-22) • Updated input 'hyprland-contrib': 'github:hyprwm/contrib/bef073cff65917ba2d888aa4dc39bd9868e2b0a4' (2023-07-29) → 'github:hyprwm/contrib/f2dc4a6a8be9f99177a5ebd23d4e028cbd859237' (2023-11-12) • Updated input 'jovian-nixos': 'github:Jovian-Experiments/Jovian-NixOS/97662e4872b88df79e60be0c27fc277b326fd6e9' (2023-08-16) → 'github:Jovian-Experiments/Jovian-NixOS/97dfcb8aa32a0ff07426b01c4d27c674c717ff76' (2023-11-12) • Updated input 'nix-colors': 'github:Misterio77/nix-colors/b92df8f5eb1fa20d8e09810c03c9dc0d94ef2820' (2023-04-21) → 'github:Misterio77/nix-colors/37227f274b34a3b51649166deb94ce7fec2c6a4c' (2023-09-22) • Updated input 'nix-colors/base16-schemes': 'github:tinted-theming/base16-schemes/dc048afa066287a719ddbab62b3e19e4b5110cf0' (2023-04-05) → 'github:tinted-theming/base16-schemes/d95123ca6377cd849cfdce92c0a24406b0c6a789' (2023-07-16) • Updated input 'nix-colors/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/b18d328214ca3c627d3cc3f51fd9d1397fdbcd7a' (2023-04-02) → 'github:nix-community/nixpkgs.lib/819180647f428a3826bfc917a54449da1e532ce0' (2023-09-17) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/7f1836531b126cfcf584e7d7d71bf8758bb58969' (2023-08-18) → 'github:NixOS/nixos-hardware/b689465d0c5d88e158e7d76094fca08cc0223aad' (2023-11-11) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19) → 'github:NixOS/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/1125ed61d8070c4ef9a2ac69a739207ac372936c' (2023-08-21) → 'github:nix-community/nixpkgs-wayland/51c0bd3e5d278f8b193657d8deaff6aa90444908' (2023-11-12) • Updated input 'nixpkgs-wayland/lib-aggregate': 'github:nix-community/lib-aggregate/7966f751e466bf1f7a4120166ff07ec7a753e704' (2023-08-20) → 'github:nix-community/lib-aggregate/6c60a229fa422698325b2788e93dfeeba3f11391' (2023-11-12) • Updated input 'nixpkgs-wayland/lib-aggregate/flake-utils': 'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11) → 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12) • Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/2a3f8763738dca95b14705619c5e489912b7f36a' (2023-08-20) → 'github:nix-community/nixpkgs.lib/55682344eae38a1975ccd2cfac0dcb4197faedf8' (2023-11-12) • Updated input 'nixpkgs-wayland/nix-eval-jobs': 'github:nix-community/nix-eval-jobs/d98c3253176892bba3cfcf240528ffda19490b82' (2023-08-17) → 'github:nix-community/nix-eval-jobs/213e801956397b3edc16d0c13a3d479b1e0c65a3' (2023-11-12) • Updated input 'nixpkgs-wayland/nix-eval-jobs/flake-parts': 'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01) → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01) • Added input 'nixpkgs-wayland/nix-eval-jobs/nix-github-actions': 'github:nix-community/nix-github-actions/4bb5e752616262457bc7ca5882192a564c0472d2' (2023-11-03) • Added input 'nixpkgs-wayland/nix-eval-jobs/nix-github-actions/nixpkgs': follows 'nixpkgs-wayland/nix-eval-jobs/nixpkgs' • Updated input 'nixpkgs-wayland/nix-eval-jobs/nixpkgs': 'github:NixOS/nixpkgs/ecf0aba4c9e096196f67a862606ba521c67a3e42' (2023-08-17) → 'github:NixOS/nixpkgs/44cf4801c0937b76cc6f416a0b160b5d1b3286af' (2023-11-12) • Updated input 'nixpkgs-wayland/nix-eval-jobs/treefmt-nix': 'github:numtide/treefmt-nix/19dee4bf6001849006a63f3435247316b0488e99' (2023-08-12) → 'github:numtide/treefmt-nix/e82f32aa7f06bbbd56d7b12186d555223dc399d1' (2023-11-12) • Updated input 'nixpkgs-wayland/nixpkgs': 'github:nixos/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19) → 'github:nixos/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04) • Removed input 'nixpkgs-wayland/nixpkgs_sirula' • Updated input 'pre-commit-hooks-nix': 'github:cachix/pre-commit-hooks.nix/7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa' (2023-08-17) → 'github:cachix/pre-commit-hooks.nix/ea758da1a6dcde6dc36db348ed690d09b9864128' (2023-11-06) • Updated input 'qmk-udev-rules': 'github:qmk/qmk_firmware/11970b1a52c00526ddd198e54137302b9e52bd70' (2023-08-21) → 'github:qmk/qmk_firmware/c2326c05c0778025adc681b962a04626ea6dba77' (2023-11-12) • Updated input 'sops-nix': 'github:Mic92/sops-nix/4f0f113b7dbcb92edb9c901515fcab0b91c6def7' (2023-08-20) → 'github:Mic92/sops-nix/2fc3c9edc3029ed396ec917f39a7253acc3d8999' (2023-11-12) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20) → 'github:NixOS/nixpkgs/9502d0245983bb233da8083b55d60d96fd3c29ff' (2023-11-12) • Updated input 'treefmt-nix': 'github:numtide/treefmt-nix/e2761d701581d8dcc4e0e88aecfde317ddf6f0cd' (2023-08-20) → 'github:numtide/treefmt-nix/e82f32aa7f06bbbd56d7b12186d555223dc399d1' (2023-11-12) • Updated input 'treefmt-nix/nixpkgs': 'github:nixos/nixpkgs/ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e' (2023-08-10) → 'github:nixos/nixpkgs/6500b4580c2a1f3d0f980d32d285739d8e156d92' (2023-09-25) • Updated input 'xdg-desktop-portal-hyprland': 'github:hyprwm/xdg-desktop-portal-hyprland/57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b' (2023-08-12) → 'github:hyprwm/xdg-desktop-portal-hyprland/b2fc1110963fa583ad5348a9dc0101bd58ceac7a' (2023-11-05) • Updated input 'xdg-desktop-portal-hyprland/nixpkgs': 'github:NixOS/nixpkgs/1a411f23ba299db155a5b45d5e145b85a7aafc42' (2023-05-02) → 'github:NixOS/nixpkgs/db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b' (2023-09-08)• Updated input 'devshell': 'github:numtide/devshell/d208c58e2f7afef838add5f18a9936b12a71d695' (2023-08-20) → 'github:numtide/devshell/1aed986e3c81a4f6698e85a7452cbfcc4b31a36e' (2023-10-27) • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01) → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01) • Updated input 'flake-parts/nixpkgs-lib': 'github:NixOS/nixpkgs/9e1960bc196baf6881340d53dccb203a951745a2?dir=lib' (2023-08-01) → 'github:NixOS/nixpkgs/0cbe9f69c234a7700596e943bfae7ef27a31b735?dir=lib' (2023-10-29) • Updated input 'home-manager': 'github:nix-community/home-manager/958c06303f43cf0625694326b7f7e5475b1a2d5c' (2023-08-20) → 'github:nix-community/home-manager/280721186ab75a76537713ec310306f0eba3e407' (2023-11-12) • Updated input 'hydra': 'github:NixOS/hydra/60e2c377d305b72cee39c51b5892d215e4238278' (2023-08-03) → 'github:NixOS/hydra/33f8a36736ea52d0cc31b947dc7e500134866a92' (2023-10-20) • Updated input 'hydra/nix': 'github:NixOS/nix/84050709ea18f3285a85d729f40c8f8eddf5008e' (2023-06-06) → 'github:NixOS/nix/a212300a1d9f9c7b0daf19c00c87fc50480f54f4' (2023-07-24) • Updated input 'hyprland': 'github:hyprwm/Hyprland/63b2189ce81f08ca77894f50e3d484902283189a' (2023-08-20) → 'github:hyprwm/Hyprland/0ba2e6870478bcf1af1b6508677b46a3484fb21f' (2023-11-12) • Updated input 'hyprland/wlroots': 'gitlab:wlroots/wlroots/c74f89d4f84bfed0284d3908aee5d207698c70c5' (2023-08-03) → 'gitlab:wlroots/wlroots/5de9e1a99d6642c2d09d589aa37ff0a8945dcee1' (2023-11-06) • Updated input 'hyprland/xdph': 'github:hyprwm/xdg-desktop-portal-hyprland/57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b' (2023-08-12) → 'github:hyprwm/xdg-desktop-portal-hyprland/22e7a65ff9633e1dedfa5317fdffc49f68de2ff2' (2023-10-22) • Updated input 'hyprland-contrib': 'github:hyprwm/contrib/bef073cff65917ba2d888aa4dc39bd9868e2b0a4' (2023-07-29) → 'github:hyprwm/contrib/f2dc4a6a8be9f99177a5ebd23d4e028cbd859237' (2023-11-12) • Updated input 'jovian-nixos': 'github:Jovian-Experiments/Jovian-NixOS/97662e4872b88df79e60be0c27fc277b326fd6e9' (2023-08-16) → 'github:Jovian-Experiments/Jovian-NixOS/97dfcb8aa32a0ff07426b01c4d27c674c717ff76' (2023-11-12) • Updated input 'nix-colors': 'github:Misterio77/nix-colors/b92df8f5eb1fa20d8e09810c03c9dc0d94ef2820' (2023-04-21) → 'github:Misterio77/nix-colors/37227f274b34a3b51649166deb94ce7fec2c6a4c' (2023-09-22) • Updated input 'nix-colors/base16-schemes': 'github:tinted-theming/base16-schemes/dc048afa066287a719ddbab62b3e19e4b5110cf0' (2023-04-05) → 'github:tinted-theming/base16-schemes/d95123ca6377cd849cfdce92c0a24406b0c6a789' (2023-07-16) • Updated input 'nix-colors/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/b18d328214ca3c627d3cc3f51fd9d1397fdbcd7a' (2023-04-02) → 'github:nix-community/nixpkgs.lib/819180647f428a3826bfc917a54449da1e532ce0' (2023-09-17) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/7f1836531b126cfcf584e7d7d71bf8758bb58969' (2023-08-18) → 'github:NixOS/nixos-hardware/b689465d0c5d88e158e7d76094fca08cc0223aad' (2023-11-11) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19) → 'github:NixOS/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/1125ed61d8070c4ef9a2ac69a739207ac372936c' (2023-08-21) → 'github:nix-community/nixpkgs-wayland/51c0bd3e5d278f8b193657d8deaff6aa90444908' (2023-11-12) • Updated input 'nixpkgs-wayland/lib-aggregate': 'github:nix-community/lib-aggregate/7966f751e466bf1f7a4120166ff07ec7a753e704' (2023-08-20) → 'github:nix-community/lib-aggregate/6c60a229fa422698325b2788e93dfeeba3f11391' (2023-11-12) • Updated input 'nixpkgs-wayland/lib-aggregate/flake-utils': 'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11) → 'github:numtide/flake-utils/ff7b65b44d01cf9ba6a71320833626af21126384' (2023-09-12) • Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/2a3f8763738dca95b14705619c5e489912b7f36a' (2023-08-20) → 'github:nix-community/nixpkgs.lib/55682344eae38a1975ccd2cfac0dcb4197faedf8' (2023-11-12) • Updated input 'nixpkgs-wayland/nix-eval-jobs': 'github:nix-community/nix-eval-jobs/d98c3253176892bba3cfcf240528ffda19490b82' (2023-08-17) → 'github:nix-community/nix-eval-jobs/213e801956397b3edc16d0c13a3d479b1e0c65a3' (2023-11-12) • Updated input 'nixpkgs-wayland/nix-eval-jobs/flake-parts': 'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01) → 'github:hercules-ci/flake-parts/8c9fa2545007b49a5db5f650ae91f227672c3877' (2023-11-01) • Added input 'nixpkgs-wayland/nix-eval-jobs/nix-github-actions': 'github:nix-community/nix-github-actions/4bb5e752616262457bc7ca5882192a564c0472d2' (2023-11-03) • Added input 'nixpkgs-wayland/nix-eval-jobs/nix-github-actions/nixpkgs': follows 'nixpkgs-wayland/nix-eval-jobs/nixpkgs' • Updated input 'nixpkgs-wayland/nix-eval-jobs/nixpkgs': 'github:NixOS/nixpkgs/ecf0aba4c9e096196f67a862606ba521c67a3e42' (2023-08-17) → 'github:NixOS/nixpkgs/44cf4801c0937b76cc6f416a0b160b5d1b3286af' (2023-11-12) • Updated input 'nixpkgs-wayland/nix-eval-jobs/treefmt-nix': 'github:numtide/treefmt-nix/19dee4bf6001849006a63f3435247316b0488e99' (2023-08-12) → 'github:numtide/treefmt-nix/e82f32aa7f06bbbd56d7b12186d555223dc399d1' (2023-11-12) • Updated input 'nixpkgs-wayland/nixpkgs': 'github:nixos/nixpkgs/d680ded26da5cf104dd2735a51e88d2d8f487b4d' (2023-08-19) → 'github:nixos/nixpkgs/85f1ba3e51676fa8cc604a3d863d729026a6b8eb' (2023-11-04) • Removed input 'nixpkgs-wayland/nixpkgs_sirula' • Updated input 'pre-commit-hooks-nix': 'github:cachix/pre-commit-hooks.nix/7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa' (2023-08-17) → 'github:cachix/pre-commit-hooks.nix/ea758da1a6dcde6dc36db348ed690d09b9864128' (2023-11-06) • Updated input 'qmk-udev-rules': 'github:qmk/qmk_firmware/11970b1a52c00526ddd198e54137302b9e52bd70' (2023-08-21) → 'github:qmk/qmk_firmware/c2326c05c0778025adc681b962a04626ea6dba77' (2023-11-12) • Updated input 'sops-nix': 'github:Mic92/sops-nix/4f0f113b7dbcb92edb9c901515fcab0b91c6def7' (2023-08-20) → 'github:Mic92/sops-nix/2fc3c9edc3029ed396ec917f39a7253acc3d8999' (2023-11-12) • Updated input 'sops-nix/nixpkgs-stable': 'github:NixOS/nixpkgs/5e63e8bbc46bc4fc22254da1edaf42fc7549c18a' (2023-08-20) → 'github:NixOS/nixpkgs/9502d0245983bb233da8083b55d60d96fd3c29ff' (2023-11-12) • Updated input 'treefmt-nix': 'github:numtide/treefmt-nix/e2761d701581d8dcc4e0e88aecfde317ddf6f0cd' (2023-08-20) → 'github:numtide/treefmt-nix/e82f32aa7f06bbbd56d7b12186d555223dc399d1' (2023-11-12) • Updated input 'treefmt-nix/nixpkgs': 'github:nixos/nixpkgs/ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e' (2023-08-10) → 'github:nixos/nixpkgs/6500b4580c2a1f3d0f980d32d285739d8e156d92' (2023-09-25) • Updated input 'xdg-desktop-portal-hyprland': 'github:hyprwm/xdg-desktop-portal-hyprland/57a3a41ba6b358109e4fc25c6a4706b5f7d93c6b' (2023-08-12) → 'github:hyprwm/xdg-desktop-portal-hyprland/b2fc1110963fa583ad5348a9dc0101bd58ceac7a' (2023-11-05) • Updated input 'xdg-desktop-portal-hyprland/nixpkgs': 'github:NixOS/nixpkgs/1a411f23ba299db155a5b45d5e145b85a7aafc42' (2023-05-02) → 'github:NixOS/nixpkgs/db9208ab987cdeeedf78ad9b4cf3c55f5ebd269b' (2023-09-08) fix: darkman is now part of home-manager fix: remove pulseeffects-pw package fix: force luks keyFile setting (weird bug?) fix: helix config with new multi-language-server support fix: replace exa -> eza fix: pin nvidia version, since this update breaks backlights on the thinkpad fix: drop waybar overlay and use new hyprland/workspaces module fix: update darkman to fix reference to /bin/bash
2023-11-12 22:33:39 +01:00
darkman = super.callPackage ../pkgs/darkman.nix {};
2023-10-30 00:31:58 +01:00
})
];
# This includes the firmware, oc
hardware.enableRedistributableFirmware = true;
# Add certificate authority used for my servers
security.pki.certificates = [
(builtins.readFile ../secrets/ca.crt)
];
2023-09-10 21:33:56 +02:00
system.nixos.label = let
rev =
if builtins.hasAttr "dirtyShortRev" inputs.self
then inputs.self.dirtyShortRev
else inputs.self.shortRev;
in
(builtins.concatStringsSep "-" (builtins.sort (x: y: x < y) config.system.nixos.tags)) + config.system.nixos.version + "-SHA:${rev}";
2023-08-27 13:52:40 +02:00
# Use some binary caches
nix.settings = {
# add binary caches
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
"cache.home:/ioV+oXpVgxDOZJvXIWmnyL83ERT4W6eW4SDEpnRbxU="
2022-12-22 12:33:49 +01:00
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
];
substituters = [
"https://cache.nixos.org"
"https://nixpkgs-wayland.cachix.org"
2022-12-22 12:33:49 +01:00
"https://hyprland.cachix.org"
];
trusted-users =
[
# Hand the wheel group extra nix daemon rights
"@wheel"
# The hydra-minion is trusted aswell
]
++ lib.optional enableHydraMinion config.users.users.hydra-minion.name;
};
2023-11-10 20:59:41 +01:00
nix.nixPath = ["nixpkgs=${inputs.nixpkgs}"];
users.users.hydra-minion = lib.mkIf enableHydraMinion {
description = "Hydra Minion for remote building";
isSystemUser = true;
home = "/home/hydra-minion";
createHome = true;
useDefaultShell = true;
group = config.users.groups.hydra-minion.name;
openssh.authorizedKeys.keyFiles = [
../users/malte/yubikey.pub
../secrets/hydra-overseer.pub
];
};
users.groups.hydra-minion = lib.mkIf enableHydraMinion {};
# Make sure that I can login over the tailscale infrastructure while increasing security
services.openssh = {
enable = pkgs.lib.mkDefault true;
2022-05-23 15:52:27 +02:00
ports = [22 highSSHPort];
openFirewall = false;
};
2022-06-12 08:32:56 +02:00
networking.firewall.interfaces.${vpnInterface} = {
# Allow default port over VPN
allowedTCPPorts = [22 highSSHPort];
};
# Add extra high port if requested for those outside the VPN
networking.firewall.allowedTCPPorts = lib.optional cfg.ssh.openOutsideVPN highSSHPort;
# Tailscale exit node seem to have a problem with strict checking
networking.firewall.checkReversePath = "loose";
# Add yubikey for root authentication
users.users.root.openssh.authorizedKeys.keyFiles = [../users/malte/yubikey.pub];
# Enable mosh for some SSH superpower
programs.mosh.enable = pkgs.lib.mkDefault true;
# Basic packages
environment.systemPackages = with pkgs; [
# I might need git for rebuilding this flake on the remote machine
git
# Sops is for security
sops
# top is lacking pizzazz
2022-05-27 20:26:11 +02:00
btop
# An initial `tailscale up` is necessary to get the network going
tailscale
2022-09-12 16:35:17 +02:00
# I will need to have access to helix
helix
2022-02-15 13:24:57 +01:00
# I much rather use some tools other than the default
2022-02-15 14:58:39 +01:00
fd
# For highlighting log files
tailspin
2023-11-25 21:37:02 +01:00
# For spacing log files
spacer
# DiskUsage improvements
2022-02-15 14:58:39 +01:00
du-dust
2023-11-25 21:37:02 +01:00
# R.I.P. grep
2022-02-15 14:58:39 +01:00
ripgrep
];
# Language and timezone defaults
time.timeZone = "Europe/Berlin";
Update lockfile • Updated input 'cataclysm-dda': 'github:CleverRaven/Cataclysm-DDA/f6be61e24299d493f714b4b1fe5189deeb5a4c06' (2022-06-16) → 'github:CleverRaven/Cataclysm-DDA/a15650196c127cc29d1d4326aa6d0a9f75adbc2b' (2022-08-15) • Updated input 'colmena': 'github:zhaofengli/colmena/1b3c272b5873f809c18434924d99967c73d4e2cf' (2022-06-10) → 'github:zhaofengli/colmena/34bb2e46747e69c9a34f94583330ad9a9f5ad20a' (2022-07-30) • Updated input 'colmena/stable': 'github:NixOS/nixpkgs/ec6eaba9dfcfdd11547d75a193e91e26701bf7e3' (2022-05-31) → 'github:NixOS/nixpkgs/babb041b7167008af3faca4c78f9dd8c6e83ef3a' (2022-06-28) • Updated input 'emulator-2a': 'github:MalteT/2a-emulator/71d8a765dc243ffe313cbbd45245830f7819b49f' (2022-03-30) → 'github:MalteT/2a-emulator/60052c33ce7ddccefa9b16d492c717afe356d205' (2022-06-26) • Updated input 'emulator-2a/nixCargoIntegration/nixpkgs': 'github:NixOS/nixpkgs/6fc5211eddddc02c50ca7f98d6cc377726417fa9' (2021-08-13) → 'github:NixOS/nixpkgs/6141b8932a5cf376fe18fcd368cecd9ad946cb68' (2022-06-23) • Updated input 'emulator-2a/nixCargoIntegration/rustOverlay': 'github:oxalica/rust-overlay/ad311f5bb5c5ef475985f1e0f264e831470a8510' (2021-08-15) → 'github:oxalica/rust-overlay/37ab3d00e8caaad1d1d3f78c9282d3d5435fc2ba' (2022-06-26) • Updated input 'fenix': 'github:nix-community/fenix/720b54260dee864d2a21745bd2bb55223f58e297' (2022-06-16) → 'github:nix-community/fenix/54253fb23a5871466ada5c0334b6e39a0bcdb4db' (2022-08-14) • Updated input 'fenix/rust-analyzer-src': 'github:rust-lang/rust-analyzer/519d7484f3b1beb25dec9f2249adeaaa21033433' (2022-06-15) → 'github:rust-lang/rust-analyzer/010f68cacfdddcc50234b54965e1326d7ad925ab' (2022-08-13) • Updated input 'home-manager': 'github:nix-community/home-manager/504d6de6a061993c3f585f9a86c6a9f68927b1c0' (2022-06-15) → 'github:nix-community/home-manager/ff5133843c26979f8abb5dd801b32f40287692fa' (2022-08-14) • Removed input 'home-manager/flake-compat' • Removed input 'home-manager/nmd' • Removed input 'home-manager/nmt' • Updated input 'hydra': 'github:NixOS/hydra/cf9f38e43fd81f9298e3f2ff50c8a6ee0acc3af0' (2022-05-31) → 'github:NixOS/hydra/2b1c1e65d5fbbe25625a31ee93cb14c9a9edf969' (2022-08-08) • Updated input 'mensa': 'github:MalteT/mensa/5b2b41d1db5d5f4e113aed499dc07bf3170e32ad' (2022-03-30) → 'github:MalteT/mensa/f1aba13e86f6c6697b8d575d18def9c32ce212a6' (2022-06-26) • Updated input 'mensa/nixCargoIntegration/nixpkgs': 'github:NixOS/nixpkgs/6fc5211eddddc02c50ca7f98d6cc377726417fa9' (2021-08-13) → 'github:NixOS/nixpkgs/6141b8932a5cf376fe18fcd368cecd9ad946cb68' (2022-06-23) • Updated input 'mensa/nixCargoIntegration/rustOverlay': 'github:oxalica/rust-overlay/ad311f5bb5c5ef475985f1e0f264e831470a8510' (2021-08-15) → 'github:oxalica/rust-overlay/37ab3d00e8caaad1d1d3f78c9282d3d5435fc2ba' (2022-06-26) • Updated input 'nickel': 'github:tweag/nickel/24bdbde6bc34d99c046a01744413f1152d3a9b4c' (2022-06-14) → 'github:tweag/nickel/397247109ef103c882161da4177dd684deca59e0' (2022-08-09) • Updated input 'nickel/flake-utils': 'github:numtide/flake-utils/04c1b180862888302ddfb2e3ad9eaa63afc60cf8' (2022-05-17) → 'github:numtide/flake-utils/bee6a7250dd1b01844a2de7e02e4df7d8a0a206c' (2022-06-24) • Updated input 'nickel/pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/521a524771a8e93caddaa0ac1d67d03766a8b0b3' (2022-05-16) → 'github:cachix/pre-commit-hooks.nix/db3bd555d3a3ceab208bed48f983ccaa6a71a25e' (2022-06-25) • Updated input 'nickel/rust-overlay': 'github:oxalica/rust-overlay/3bc2619665745f5e6f2efc3d0664edad4f62201b' (2022-05-21) → 'github:oxalica/rust-overlay/59a3a304c987dc65d2a33de0a77a1ae6ae777cd4' (2022-06-25) • Updated input 'nix-colors': 'github:Misterio77/nix-colors/2c2e107765b7b2e54b10d3fc2ffe5ed2ca2c7731' (2022-06-12) → 'github:Misterio77/nix-colors/17d4c968ae3b202a71326b59ae89727d1c21f018' (2022-07-25) • Added input 'nix-colors/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/5fb55578aa2f1a502d636a8ac71aece57cb730bb' (2022-06-19) • Updated input 'nixos-hardware': 'github:NixOS/nixos-hardware/0cab18a48de7914ef8cad35dca0bb36868f3e1af' (2022-06-01) → 'github:NixOS/nixos-hardware/12620020f76b1b5d2b0e6fbbda831ed4f5fe56e1' (2022-08-13) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/6616de389ed55fba6eeba60377fc04732d5a207c' (2022-06-14) → 'github:NixOS/nixpkgs/e105167e98817ba9fe079c6c3c544c6ef188e276' (2022-08-13) • Updated input 'nixpkgs-wayland': 'github:nix-community/nixpkgs-wayland/7846b63c3524cabd82778c308d6b3d3fa79211b8' (2022-06-16) → 'github:nix-community/nixpkgs-wayland/68fac59e0e0ae87d351b6a08bb45713a55ef1eb8' (2022-08-14) • Updated input 'nixpkgs-wayland/cachix': 'github:nixos/nixpkgs/9227bbe43157225414e990b87587ccb1665225d9' (2022-06-14) → 'github:nixos/nixpkgs/eabc38219184cc3e04a974fe31857d8e0eac098d' (2022-08-02) • Updated input 'nixpkgs-wayland/lib-aggregate': 'github:nix-community/lib-aggregate/e0059f35f3727b94ea833489fd40d9e666f8da79' (2022-06-12) → 'github:nix-community/lib-aggregate/fb6e102dcf215dcf6879e7be4a5a3942207512aa' (2022-08-14) • Updated input 'nixpkgs-wayland/lib-aggregate/flake-utils': 'github:numtide/flake-utils/1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1' (2022-05-30) → 'github:numtide/flake-utils/c0e246b9b83f637f4681389ecabcb2681b4f3af0' (2022-08-07) • Updated input 'nixpkgs-wayland/lib-aggregate/nixpkgs-lib': 'github:nix-community/nixpkgs.lib/8f09bff20b363b80213186156168126674990368' (2022-06-12) → 'github:nix-community/nixpkgs.lib/bbd8f7cd87d0b29294ef3072ffdbd61d60f05da4' (2022-08-14) • Updated input 'qmk-udev-rules': 'github:qmk/qmk_firmware/8e128452db4a5c93f0214a1f6ea38e213445235c' (2022-06-16) → 'github:qmk/qmk_firmware/51d5aad25b92a34bc051849616fcd93e3ae407fc' (2022-08-15) • Updated input 'sops-nix': 'github:Mic92/sops-nix/f075361ecbde21535b38e41dfaa28a28f160855c' (2022-06-05) → 'github:Mic92/sops-nix/773365016f5202a199f5aff72cac75c64add4528' (2022-08-15) • Removed input 'sops-nix/nixpkgs-21_11' • Updated input 'sops-nix/nixpkgs-22_05': 'github:NixOS/nixpkgs/d6cb04299ce8964290ae7fdcb87aa50da0500b5c' (2022-06-04) → 'github:NixOS/nixpkgs/70b6236f3cbc815f2cae8d597418c714cf83d1c8' (2022-08-13) • Updated input 'utils': 'github:gytis-ivaskevicius/flake-utils-plus/f8d6d1f87b6177e3bc674c29f247bdbf897ba274' (2022-05-16) → 'github:gytis-ivaskevicius/flake-utils-plus/2bf0f91643c2e5ae38c1b26893ac2927ac9bd82a' (2022-07-07)
2022-08-15 09:47:37 +02:00
i18n.supportedLocales = [
"en_US.UTF-8/UTF-8"
"de_DE.UTF-8/UTF-8"
];
# Use the latest kernel, this is altered on some hosts with zfs requirements
boot.kernelPackages = pkgs.lib.mkOverride 2000 pkgs.linuxPackages_latest;
boot.loader.timeout = pkgs.lib.mkDefault 1;
# This setting is fine, on hosts with x/wayland, I'll want to increase this
boot.loader.systemd-boot.configurationLimit = 10;
# Network configuration with tailscale
networking.useDHCP = false;
# Enable tailscale!
services.tailscale = {
enable = true;
interfaceName = "looking-glas";
};
networking.firewall.allowedUDPPorts = [config.services.tailscale.port];
# Regularly clear the store
nix.gc = {
automatic = true;
dates = lib.mkDefault "weekly";
};
# Enable store optimiser
nix.optimise = {
automatic = true;
dates = ["04:00"];
};
# GNOME
# Don't forget to import DISPLAY into dbus variables
programs.dconf.enable = mkDefault cfg.minimalGnome.enable;
programs.seahorse.enable = mkDefault cfg.minimalGnome.enable;
services.gnome.at-spi2-core.enable = mkDefault cfg.minimalGnome.enable;
services.gnome.gnome-keyring.enable = mkDefault cfg.minimalGnome.enable;
services.dbus.packages = lib.optional cfg.minimalGnome.enable pkgs.gcr;
};
}