experimental: harbor disko schema

This commit is contained in:
2026-03-24 19:24:02 +01:00
parent 0b2e349268
commit 4fa113f274
3 changed files with 76 additions and 0 deletions

View File

@@ -13,6 +13,8 @@
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs";
plasma-manager = {
url = "github:pjones/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs";
@@ -48,6 +50,7 @@
self,
nixpkgs,
nixpkgs-unstable,
disko,
nixos-hardware,
home-manager,
nixos-cosmic,
@@ -120,6 +123,7 @@
({...}: {nixpkgs.overlays = [overlay-unstable self.overlays.default audio.overlays.default];})
({...}: {nixpkgs.config.allowUnfree = true;})
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
./modules
./hosts/harbor/configuration.nix
];

View File

@@ -5,6 +5,7 @@
}: {
imports = [
./hardware-configuration.nix
./disko.nix
];
# Secret management

71
hosts/harbor/disko.nix Normal file
View File

@@ -0,0 +1,71 @@
let
btrfsopt = [
"compress=zstd"
"noatime"
"ssd"
"space_cache=v2"
"user_subvol_rm_allowed"
];
in {
disko.devices = {
disk = {
main = {
type = "disk";
device = "/dev/sda";
content = {
type = "gpt";
partitions = {
boot = {
name = "boot";
size = "1M";
type = "ef02";
};
esp = {
name = "esp";
size = "500M";
type = "ef00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
luks = {
size = "100%";
content = {
type = "luks";
name = "nixos";
passwordFile = "/tmp/pass";
additionalKeyFiles = ["/nixos-enc.key"];
extraFormatArgs = [
"--type luks1"
"--iter-time 3000"
];
settings = {
allowDiscards = true;
};
content = {
type = "btrfs";
subvolumes = {
"@root" = {
mountpoint = "/";
mountOptions = btrfsopt;
};
"@home" = {
mountpoint = "/home";
mountOptions = btrfsopt;
};
"@nix" = {
mountpoint = "/nix";
mountOptions = btrfsopt;
};
};
};
};
};
};
};
};
};
};
}