From 206b9d6df6ff7c41f0798ffa9cab9039a49a3ea8 Mon Sep 17 00:00:00 2001 From: TheWanderingCrow Date: Thu, 7 Aug 2025 09:39:06 -0400 Subject: [PATCH] upate michishirube to grub bootloader --- hosts/common/disks/btrfs-over-legacy-disk.nix | 67 +++++++++++++++++++ hosts/nixos/Michishirube/default.nix | 2 +- 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 hosts/common/disks/btrfs-over-legacy-disk.nix diff --git a/hosts/common/disks/btrfs-over-legacy-disk.nix b/hosts/common/disks/btrfs-over-legacy-disk.nix new file mode 100644 index 0000000..07d1ffd --- /dev/null +++ b/hosts/common/disks/btrfs-over-legacy-disk.nix @@ -0,0 +1,67 @@ +# NOTE: ... is needed because dikso passes diskoFile +{ + lib, + disk ? "/dev/vda", + withSwap ? false, + swapSize, + ... +}: { + disko.devices = { + disk = { + disk0 = { + type = "disk"; + device = disk; + content = { + type = "table"; + format = "gpt"; + partitions = { + ESP = { + priority = 1; + name = "ESP"; + start = "1M"; + end = "512M"; + bootable = true; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = ["umask=0077"]; + }; + }; + root = { + size = "100%"; + part-type = "primary"; + bootable = true; + content = { + type = "btrfs"; + extraArgs = ["-f"]; # Override existing partition + # Subvolumes must set a mountpoint in order to be mounted, + # unless their parent is mounted + subvolumes = { + "@root" = { + mountpoint = "/"; + mountOptions = [ + "compress=zstd" + "noatime" + ]; + }; + "@nix" = { + mountpoint = "/nix"; + mountOptions = [ + "compress=zstd" + "noatime" + ]; + }; + "@swap" = lib.mkIf withSwap { + mountpoint = "/.swapvol"; + swap.swapfile.size = "${swapSize}G"; + }; + }; + }; + }; + }; + }; + }; + }; + }; +} diff --git a/hosts/nixos/Michishirube/default.nix b/hosts/nixos/Michishirube/default.nix index ca34897..ca3ea87 100644 --- a/hosts/nixos/Michishirube/default.nix +++ b/hosts/nixos/Michishirube/default.nix @@ -49,6 +49,6 @@ in { }; boot.loader = { - grub.device = "/dev/sda"; + grub.device = "/dev/sda1"; }; }