From 037bee53a4e719ba3ed4ccc48b3c6a2edc52b883 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Tue, 22 Sep 2026 14:43:25 +0200 Subject: skadhi: initial commit --- hosts/skadhi/hw.nix | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 hosts/skadhi/hw.nix (limited to 'hosts/skadhi/hw.nix') diff --git a/hosts/skadhi/hw.nix b/hosts/skadhi/hw.nix new file mode 100644 index 00000000..b95fc24c --- /dev/null +++ b/hosts/skadhi/hw.nix @@ -0,0 +1,72 @@ +{ flake, flakeInputs, pkgs, config, lib, ... }: +{ + imports = with flake.nixosModules.systemProfiles; [ + flakeInputs.nixos-hardware.nixosModules.framework-13-7040-amd + disko + ]; + + config = { + hardware.framework.laptop13.audioEnhancement.enable = true; + services.fstrim.enable = false; + + nixpkgs.system = "x86_64-linux"; + + disko.devices = { + disk.nvm = { + type = "disk"; + device = "/dev/nvm0n1"; + content = { + type = "gpt"; + partitions = { + ESP = { + size = "512M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ + "fmask=0033" "dmask=0022" + ]; + }; + }; + luks = { + size = "100%"; + content = { + type = "luks"; + name = "nvm"; + extraFormatArgs = [ + "--cipher" "aegis128-random" + "--key-size" "128" + "--integrity" "aead" + ]; + content = { + type = "btrfs"; + extraArgs = let + subvols = ["/persistent"] ++ map (p: "/persistent/${p}") ["/nix" "/home" "/var/log"]; + restricted = map (p: "/persistent/${p}") ["/root"]; + in [ + "--csum" "blake2" + "--compress" "zstd:15" + "--rootdir" (pkgs.runCommand "rootdir" { + } '' + install -d ${lib.escapeShellArgs (map (p: "$out/${p}") subvols)} + install -m 0700 -d ${lib.escapeShellArgs (map (p: "$out/${p}") restricted)} + '') + ] ++ lib.concatMap (p: ["--subvol" p]) subvols; + subvolumes = { + "/persistent".mountpoint = "/persistent"; + "/swap" = { + mountpoint = "/.swap"; + swap.swapfile.size = "96G"; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; +} -- cgit v1.2.3