From f08f3812f40322b6098d75573413ed83f358871f Mon Sep 17 00:00:00 2001 From: Kleidi Bujari Date: Sun, 1 Dec 2024 22:30:26 -0500 Subject: 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. --- modules/xnet/disk/boot.nix | 13 ---- modules/xnet/disk/default.nix | 113 ----------------------------------- modules/xnet/disk/layouts/mirror.nix | 43 ------------- modules/xnet/disk/layouts/single.nix | 29 --------- 4 files changed, 198 deletions(-) delete mode 100644 modules/xnet/disk/boot.nix delete mode 100644 modules/xnet/disk/default.nix delete mode 100644 modules/xnet/disk/layouts/mirror.nix delete mode 100644 modules/xnet/disk/layouts/single.nix (limited to 'modules/xnet/disk') 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"; - }; - }; - }; - }; - }; - }; -} -- cgit v1.3.1