summaryrefslogtreecommitdiff
path: root/modules/xnet/disk
diff options
context:
space:
mode:
authorKleidi Bujari <mail@4kb.net>2024-12-01 22:30:26 -0500
committerKleidi Bujari <mail@4kb.net>2024-12-01 22:30:26 -0500
commitf08f3812f40322b6098d75573413ed83f358871f (patch)
tree0f864c4695dab404e261e6bf179cfc1b04d6c7f5 /modules/xnet/disk
parent3ccc7e784a0ed5b19910ab856f6d9774a6f27956 (diff)
downloaddepot-f08f3812f40322b6098d75573413ed83f358871f.tar.gz
depot-f08f3812f40322b6098d75573413ed83f358871f.tar.bz2
depot-f08f3812f40322b6098d75573413ed83f358871f.zip
Cleanup xnet module and add baseline modules
With these changes, the xnet module is useable as a system builder. At this point, it is still undecided whether all configuration will be generalized into this module, rather than keeping mini-modules local to the machine they will run on.
Diffstat (limited to 'modules/xnet/disk')
-rw-r--r--modules/xnet/disk/boot.nix13
-rw-r--r--modules/xnet/disk/default.nix113
-rw-r--r--modules/xnet/disk/layouts/mirror.nix43
-rw-r--r--modules/xnet/disk/layouts/single.nix29
4 files changed, 0 insertions, 198 deletions
diff --git a/modules/xnet/disk/boot.nix b/modules/xnet/disk/boot.nix
deleted file mode 100644
index 65be2f3..0000000
--- a/modules/xnet/disk/boot.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ lib, ... }:
-let
- inherit (lib) mkDefault;
-in
-{
- boot = {
- loader.systemd-boot.enable = true;
- initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ];
- kernelModules = [ "kvm-intel" "kvm-amd" ];
- swraid.mdadmConf = "MAILADDR = nobody@example.com";
- tmp.cleanOnBoot = mkDefault true;
- };
-}
diff --git a/modules/xnet/disk/default.nix b/modules/xnet/disk/default.nix
deleted file mode 100644
index aca6ae2..0000000
--- a/modules/xnet/disk/default.nix
+++ /dev/null
@@ -1,113 +0,0 @@
-{ config, lib, modulesPath, ... }:
-let
- cfg = config.xnet.disk;
- commonOpts = {
- acltype = "posixacl";
- atime = "off";
- compression = "on";
- normalization = "formD";
- relatime = "off";
- xattr = "sa";
- "com.sun:auto-snapshot" = "false";
- };
-
- inherit (lib) mkOption mkDefault mkIf types;
-in
-{
- imports = [
- ./boot.nix
- (modulesPath + "/installer/scan/not-detected.nix")
- ];
-
- options.xnet.disk = {
- enable = mkOption {
- type = types.bool;
- default = false;
- description = "Apply xnet-standard ZFS disk layout.";
- };
-
- device = mkOption {
- type = types.str;
- description = "Underlying device that build the root ZFS pool.";
- };
-
- extraDatasets = mkOption { };
- };
-
- config = mkIf cfg.enable {
- networking.hostId = builtins.substring 0 8
- (builtins.hashString "md5" config.networking.hostName);
-
- services.zfs = {
- autoScrub.enable = true;
- trim.enable = true;
- };
-
- zramSwap.enable = mkDefault true;
-
- boot = {
- kernelParams = [ "nohibernate" "elevator=none" ];
- supportedFilesystems = [ "vfat" "zfs" ];
- zfs.devNodes = "/dev/disk/by-partuuid";
- };
-
- disko.devices = (import ./layouts/single.nix cfg.device) // {
- nodev."/" = {
- fsType = "tmpfs";
- mountOptions = [ "defaults" "size=2G" "mode=755" ];
- };
-
- zpool.zroot = {
- type = "zpool";
- options = {
- ashift = "12";
- autotrim = "on";
- };
-
- datasets = {
- "local" = {
- type = "zfs_fs";
- options = commonOpts;
- };
-
- "local/reserved" = {
- type = "zfs_fs";
- options = {
- refreservation = "10G";
- mountpoint = "none";
- };
- };
-
- "local/nix" = {
- type = "zfs_fs";
- mountpoint = "/nix";
- options.mountpoint = "legacy";
- };
-
- "local/certs" = {
- type = "zfs_fs";
- mountpoint = "/certs";
- options.mountpoint = "legacy";
- };
-
- "persist" = {
- type = "zfs_fs";
- mountpoint = "/persist";
- options = { mountpoint = "legacy"; } // commonOpts;
- };
-
- "persist/data" = {
- type = "zfs_fs";
- mountpoint = "/persist/data";
- options.mountpoint = "legacy";
- };
- } // cfg.extraDatasets;
- };
- };
-
- users.groups.backup = {
- members = [ config.services.syncoid.group ];
- gid = 2001;
- };
- };
-}
diff --git a/modules/xnet/disk/layouts/mirror.nix b/modules/xnet/disk/layouts/mirror.nix
deleted file mode 100644
index 5a9835b..0000000
--- a/modules/xnet/disk/layouts/mirror.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-devices: {
- disk = builtins.listToAttrs (map
- (device: {
- name = device;
- value = {
- type = "disk";
- device = "/dev/${device}";
- content = {
- type = "gpt";
- partitions = {
- ESP = {
- size = "1G";
- type = "EF00";
- content = {
- type = "mdraid";
- name = "boot";
- };
- };
- ZFS = {
- size = "100%";
- content = {
- type = "zfs";
- pool = "zroot";
- };
- };
- };
- };
- };
- })
- devices);
- mdadm = {
- boot = {
- type = "mdadm";
- level = 1;
- metadata = "1.0";
- content = {
- type = "filesystem";
- format = "vfat";
- mountpoint = "/boot";
- };
- };
- };
-}
diff --git a/modules/xnet/disk/layouts/single.nix b/modules/xnet/disk/layouts/single.nix
deleted file mode 100644
index b779a39..0000000
--- a/modules/xnet/disk/layouts/single.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-device: {
- disk = {
- "${device}" = {
- type = "disk";
- device = "/dev/${device}";
- content = {
- type = "gpt";
- partitions = {
- ESP = {
- size = "1G";
- type = "EF00";
- content = {
- type = "filesystem";
- format = "vfat";
- mountpoint = "/boot";
- };
- };
- ZFS = {
- size = "100%";
- content = {
- type = "zfs";
- pool = "zroot";
- };
- };
- };
- };
- };
- };
-}