diff --git a/nixos/default.nix b/nixos/default.nix index 1c1832d0..6f2b7280 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -49,6 +49,8 @@ cryptsetup parted screen + alejandra + nixfmt ]; # Select internationalisation properties. diff --git a/nixos/hosts/nixos-vm-02/disks-btrfs.nix b/nixos/hosts/nixos-vm-02/disks-btrfs.nix new file mode 100644 index 00000000..b1c9c102 --- /dev/null +++ b/nixos/hosts/nixos-vm-02/disks-btrfs.nix @@ -0,0 +1,59 @@ +{ + boot.loader.grub.device = "/dev/sda"; + boot.initrd.luks.devices."sda2".device = "/dev/sda2"; + services.btrfs.autoScrub.enable = true; + services.btrfs.autoScrub.interval = "weekly"; + + disko.devices.disk.sda = { + device = "/dev/sda"; + content = { + type = "table"; + format = "gpt"; + partitions = [ + { + name = "BOOT"; + start = "0%"; + end = "550MiB"; + bootable = true; + flags = [ "esp" ]; + fs-type = "fat32"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + }; + } # partition 1 + { + name = "LUKS"; + start = "550MiB"; + end = "100%"; + content = { + type = "luks"; + name = "LUKS-ROOT"; + extraOpenArgs = [ "--allow-discards" ]; + settings.keyFile = "/tmp/secret.key"; + content = { + type = "filesystem"; + format = "btrfs"; + # extraArgs = [ "-f" ]; + subvolumes = { + "/root" = { + mountpoint = "/"; + mountOptions = [ "compress=zstd" "noatime" ]; + }; # root + "/home" = { + mountpoint = "/home"; + mountOptions = [ "compress=zstd" "noatime" ]; + }; # home + "/nix" = { + mountpoint = "/nix"; + mountOptions = [ "compress=zstd" "noatime" ]; + }; # nix + }; # subvolumes + }; # content.content + }; # content + } # partition 2 + ]; # partitions + }; # content + }; # disko.devices.disk.sda +} # root \ No newline at end of file diff --git a/nixos/hosts/nixos-vm-02/disks.nix b/nixos/hosts/nixos-vm-02/disks.nix index 7583d3b2..a13bbaf3 100644 --- a/nixos/hosts/nixos-vm-02/disks.nix +++ b/nixos/hosts/nixos-vm-02/disks.nix @@ -33,8 +33,9 @@ extraOpenArgs = [ "--allow-discards" ]; settings.keyFile = "/tmp/secret.key"; content = { - type = "btrfs"; - # extraArgs = [ "-f" ]; + type = "filesystem"; + format = "btrfs"; + extraArgs = [ "-f" ]; subvolumes = { "/root" = { mountpoint = "/"; diff --git a/shell.nix b/shell.nix index 54da0b62..47b9f5bf 100644 --- a/shell.nix +++ b/shell.nix @@ -18,6 +18,8 @@ pkgs.home-manager pkgs.git pkgs.vim + pkgs.alejandra + pkgs.nixfmt (pkgs.callPackage sops-nix {}).sops-import-keys-hook ]; };