https://git.jolheiser.com/infra.git
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
{ jolheiser, pkgs, ... }: let key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJh5aUDN/KN28+4tbayXRQliLyKFZaCZtUMEBNaJfHYj"; in { imports = jolheiser.importDir ./services ++ [ ./hardware.nix ]; boot = { kernelPackages = pkgs.linuxPackages_latest; kernelParams = [ "quiet" "splash" ]; loader.grub = { enable = true; device = "/dev/sda"; useOSProber = true; enableCryptodisk = true; }; }; boot.initrd.secrets = { "/crypto_keyfile.bin" = null; }; boot.initrd.luks.devices = { "luks-1f9bde68-9c4c-423c-a95f-17aa170dd2b4".keyFile = "/crypto_keyfile.bin"; "luks-a2ca1842-1ce0-437e-ba5e-8864a41e81cb" = { device = "/dev/disk/by-uuid/a2ca1842-1ce0-437e-ba5e-8864a41e81cb"; keyFile = "/crypto_keyfile.bin"; }; }; networking = { hostName = "gunpowder"; networkmanager.enable = true; firewall.enable = true; }; services = { xserver = { enable = true; displayManager.lightdm.enable = true; desktopManager.xfce.enable = true; }; openssh.enable = true; tailscale.enable = true; resolved.enable = true; }; users = { users = { "${jolheiser.username}" = { extraGroups = [ "wheel" "docker" "storage" ]; isNormalUser = true; openssh.authorizedKeys.keys = [ key ]; }; "root".openssh.authorizedKeys.keys = [ key ]; }; groups.media.members = [ "jolheiser" "olheiser" ]; }; system.stateVersion = "22.11"; }