From 2b211cc29db28021b6a8477d7fce45657e39fdfc Mon Sep 17 00:00:00 2001 From: Anish Lakhwara Date: Tue, 30 May 2023 22:21:29 +1000 Subject: [PATCH] add disko (unused) --- flake.nix | 11 +++++++--- hosts/helix/disko.nix | 51 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 hosts/helix/disko.nix diff --git a/flake.nix b/flake.nix index d11ac923..091a69c6 100644 --- a/flake.nix +++ b/flake.nix @@ -17,8 +17,10 @@ agenix.inputs.nixpkgs.follows = "nixpkgs"; deploy-rs.url = "github:serokell/deploy-rs"; deploy-rs.inputs.nixpkgs.follows = "nixpkgs"; + disko.url = "github:nix-community/disko"; + disko.inputs.nixpkgs.follows = "nixpkgs"; - # Packages + # My Packages poonam.url = "git+ssh://gitea@git.sealight.xyz/aynish/kitaab?ref=main"; poonam.inputs.nixpkgs.follows = "nixpkgs"; basant.url = "git+ssh://gitea@git.sealight.xyz/aynish/basant?ref=main"; @@ -26,11 +28,12 @@ basant.inputs.nixpkgs.follows = "nixpkgs"; basant.inputs.poonam.follows = "poonam"; vimwikicli.inputs.nixpkgs.follows = "nixpkgs"; - grasp.url = "git+ssh://gitea@git.sealight.xyz/aynish/grasp.git?ref=main"; grasp.inputs.nixpkgs.follows = "nixpkgs"; + # Matrix nix-matrix-appservices.url = "gitlab:coffeetables/nix-matrix-appservices"; + # Others nur.url = "github:nix-community/NUR"; rust-overlay = { @@ -63,6 +66,7 @@ , home-manager , deploy-rs , agenix + , disko , basant , grasp , nix-matrix-appservices @@ -184,6 +188,7 @@ self.nixosModules.backup self.nixosModules.wireguard self.nixosModules.microbin + disko.nixosModules.disko ]; }; @@ -275,7 +280,7 @@ }; helix = { hostname = "git.sealight.xyz"; - # autoRollback = false; + autoRollback = false; profiles.system = { user = "root"; path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.helix; diff --git a/hosts/helix/disko.nix b/hosts/helix/disko.nix new file mode 100644 index 00000000..9d0a0725 --- /dev/null +++ b/hosts/helix/disko.nix @@ -0,0 +1,51 @@ +{ disks ? [ "/dev/vdb" ], ... }: { + disko.devices = { + disk = { + vdb = { + type = "disk"; + device = builtins.elemAt disks 0; + content = { + type = "table"; + format = "gpt"; + partitions = [ + { + name = "ESP"; + start = "1MiB"; + end = "128MiB"; + fs-type = "fat32"; + bootable = true; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + }; + } + { + name = "root"; + start = "128MiB"; + end = "100%"; + content = { + type = "btrfs"; + extraArgs = [ "-f" ]; # Override existing partition + subvolumes = { + # Subvolume name is different from mountpoint + "/rootfs" = { + mountpoint = "/"; + }; + # Mountpoints inferred from subvolume name + "/home" = { + mountOptions = [ "compress=zstd" ]; + }; + "/nix" = { + mountOptions = [ "compress=zstd" "noatime" ]; + }; + }; + }; + } + ]; + }; + }; + }; + }; +} +