Added Disko setup

This commit is contained in:
2026-06-27 10:00:19 +02:00
parent 60d9a97ae8
commit e2e63fbcab
4 changed files with 77 additions and 4 deletions
+7
View File
@@ -10,6 +10,11 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
# declarative impermanence # declarative impermanence
impermanence = { impermanence = {
url = "github:nix-community/impermanence"; url = "github:nix-community/impermanence";
@@ -97,6 +102,7 @@
nixos-generators, nixos-generators,
nur, nur,
impermanence, impermanence,
disko,
... ...
}@inputs: }@inputs:
let let
@@ -211,6 +217,7 @@
{ nixpkgs.hostPlatform = system; } { nixpkgs.hostPlatform = system; }
./nixos ./nixos
inputs.impermanence.nixosModules.impermanence inputs.impermanence.nixosModules.impermanence
inputs.disko.nixosModules.disko
]; ];
in in
+1
View File
@@ -1,5 +1,6 @@
{ {
imports = [ imports = [
./disko.nix
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
+68
View File
@@ -0,0 +1,68 @@
{
disko.devices.disk.main = {
type = "disk";
device = "/dev/sda"; # change to your actual disk, e.g. /dev/nvme0n1
content = {
type = "gpt";
partitions = {
ESP = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [
"fmask=0022"
"dmask=0022"
];
extraArgs = [
"-n"
"NIXBOOT"
];
};
};
swap = {
size = "4G";
content = {
type = "swap";
extraArgs = [
"-L"
"NIXSWAP"
];
};
};
nix = {
size = "50G";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/nix";
mountOptions = [ "defaults" ];
extraArgs = [
"-L"
"NIXSTORE"
];
};
};
persist = {
size = "100%";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/persist";
extraArgs = [
"-L"
"NIXPERSIST"
];
};
};
};
};
};
}
@@ -52,10 +52,7 @@
}; };
swapDevices = [ swapDevices = [
{ { device = "/dev/disk/by-label/NIXSWAP"; }
device = "/persist/swapfile";
size = 4096;
}
]; ];
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;