hosts/xps16: use disko as source of truth for fileSystems
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
};
|
||||
|
||||
disko = {
|
||||
url = "github:nix-community/disko/v1.12.0";
|
||||
url = "github:nix-community/disko/v1.13.0";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
@@ -309,6 +309,8 @@
|
||||
nixos-hardware.nixosModules.common-pc-laptop-ssd
|
||||
nixos-hardware.nixosModules.common-cpu-intel
|
||||
nixos-hardware.nixosModules.common-gpu-intel
|
||||
|
||||
disko.nixosModules.default
|
||||
];
|
||||
};
|
||||
tsuki = nixSys "tsuki" {
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
./apparmor.nix
|
||||
./ipu6.nix
|
||||
./disks.nix
|
||||
|
||||
./services/btrfs.nix
|
||||
./services/docker.nix
|
||||
|
||||
149
hosts/xps16/disks.nix
Normal file
149
hosts/xps16/disks.nix
Normal file
@@ -0,0 +1,149 @@
|
||||
{ lib, ... }:
|
||||
{
|
||||
disko.devices = {
|
||||
disk = {
|
||||
sda = {
|
||||
name = "KXG80ZN84T09 NVMe KIOXIA 4096GB";
|
||||
type = "disk";
|
||||
device = "/dev/nvme0n1";
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
win-efi = {
|
||||
uuid = "24d18ca3-d1c0-4fd5-a1f5-c2ef18c3414a";
|
||||
name = "EFI system partition";
|
||||
label = "ESP";
|
||||
start = "2048";
|
||||
size = "409600";
|
||||
};
|
||||
|
||||
win-reserved = {
|
||||
uuid = "7502d3d7-6116-4d9f-afdc-4bb3507a4ae8";
|
||||
name = "Microsoft reserved partition";
|
||||
start = "411648";
|
||||
size = "262144";
|
||||
};
|
||||
|
||||
win-os = {
|
||||
uuid = "5944d017-36ce-41c9-9b7c-d6b948a3cc3b";
|
||||
name = "Basic data partition";
|
||||
label = "OS";
|
||||
start = "673792";
|
||||
size = "1309978624";
|
||||
};
|
||||
|
||||
win-retools = {
|
||||
uuid = "95b4cc0e-673f-496a-9ec8-425b089fad2e";
|
||||
label = "WINRETOOLS";
|
||||
start = "7946752000";
|
||||
size = "2027520";
|
||||
attributes = [
|
||||
0 # Required Partition
|
||||
63 # Do Not Automount
|
||||
];
|
||||
};
|
||||
|
||||
win-image = {
|
||||
uuid = "5e187978-7467-4f35-87bf-167cc23b9e43";
|
||||
label = "Image";
|
||||
start = "7948779520";
|
||||
size = "49674240";
|
||||
attributes = [
|
||||
0 # Required Partition
|
||||
63 # Do Not Automount
|
||||
];
|
||||
};
|
||||
|
||||
win-dellsupport = {
|
||||
uuid = "02f392b7-8a95-48ee-bd4f-2baad5b1595c";
|
||||
label = "DELLSUPPORT";
|
||||
start = "7998455808";
|
||||
size = "3084288";
|
||||
attributes = [
|
||||
0 # Required Partition
|
||||
63 # Do Not Automount
|
||||
];
|
||||
};
|
||||
|
||||
# ----------------------------------------- #
|
||||
# This is where the interesting part starts #
|
||||
|
||||
boot = {
|
||||
uuid = "56cc4363-d1be-4518-8bea-728a4f70464c";
|
||||
label = "nixos-boot";
|
||||
start = "1310652416";
|
||||
size = "2097152";
|
||||
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
mountpoint = "/boot";
|
||||
mountOptions = [ "discard" "umask=0077" ];
|
||||
};
|
||||
};
|
||||
|
||||
nixos = {
|
||||
uuid = "f6995107-19e2-476e-aab4-f414127d7303";
|
||||
label = "nixos";
|
||||
start = " 1312749568";
|
||||
size = "100%";
|
||||
|
||||
content = {
|
||||
type = "luks";
|
||||
name = "crypted";
|
||||
|
||||
settings = {
|
||||
|
||||
};
|
||||
|
||||
content = {
|
||||
type = "btrfs";
|
||||
extraArgs = [ "-f" ]; # Override existing partition
|
||||
subvolumes = let
|
||||
makeSnapshottable = subvolPath: mountOptions: let
|
||||
# name = lib.replaceString "/" "-" subvolPath;
|
||||
name = lib.removePrefix "/" subvolPath;
|
||||
in {
|
||||
"${name}/active" = {
|
||||
mountpoint = subvolPath;
|
||||
inherit mountOptions;
|
||||
};
|
||||
"${name}/snapshots" = {
|
||||
mountpoint = "${subvolPath}/.snapshots";
|
||||
inherit mountOptions;
|
||||
};
|
||||
};
|
||||
in lib.foldl (x: y: x // y) { } [
|
||||
{
|
||||
"@" = { };
|
||||
# "swap" = {
|
||||
# mountpoint = "/.swapvol";
|
||||
# swap.swapfile.size = "8G";
|
||||
# };
|
||||
"root" = {
|
||||
mountpoint = "/";
|
||||
mountOptions = [ "compress=zstd" "noatime" ];
|
||||
};
|
||||
"var/lib/docker" = {
|
||||
mountpoint = "/var/lib/docker";
|
||||
mountOptions = [ "compress=zstd" "noatime" ];
|
||||
};
|
||||
}
|
||||
(makeSnapshottable "/home/h7x4" [ "compress=zstd" "noatime" "nodev" ])
|
||||
(makeSnapshottable "/home/h7x4/git" [ "compress=zstd" "noatime" "nodev" ])
|
||||
(makeSnapshottable "/home/h7x4/ctf" [ "compress=zstd" "noatime" "nodev" ])
|
||||
(makeSnapshottable "/home/h7x4/downloads" [ "compress=zstd" "noatime" "nosuid" "nodev" ])
|
||||
(makeSnapshottable "/home/h7x4/pictures" [ "compress=zstd" "noatime" "noexec" "nosuid" "nodev" ])
|
||||
(makeSnapshottable "/home/h7x4/music" [ "compress=zstd" "noatime" "noexec" "nosuid" "nodev" ])
|
||||
(makeSnapshottable "/var/log" [ "compress=zstd" "noatime" "noexec" "nosuid" "nodev" ])
|
||||
(makeSnapshottable "/var/lib" [ "compress=zstd" "noatime" "nosuid" "nodev" ])
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -13,99 +13,6 @@
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=root" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."crypted".device = "/dev/disk/by-uuid/88bbd92a-88b5-4175-9d6f-c14033607b70";
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/34BA-6EA6";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/home/h7x4" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home/h7x4/active" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/h7x4/.snapshots" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home/h7x4/snapshots" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/h7x4/git" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home/h7x4/git/active" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/h7x4/ctf" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home/h7x4/ctf/active" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/h7x4/downloads" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home/h7x4/downloads/active" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/h7x4/pictures" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home/h7x4/pictures/active" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/h7x4/music" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home/h7x4/music/active" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/home/h7x4/music/.snapshots" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home/h7x4/music/snapshots" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/var/log" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=var/log/active" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/var/log/.snapshots" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=var/log/snapshots" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/var/lib" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=var/lib/active" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/var/lib/.snapshots" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=var/lib/snapshots" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/var/lib/docker" =
|
||||
{ device = "/dev/disk/by-uuid/178502e0-0481-47ed-842c-2d6b1cf81ac5";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=var/lib/docker" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
|
||||
Reference in New Issue
Block a user