From 02abf4ed0131237c25e0a10db50fa4c41a902a50 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Sun, 14 Jul 2024 17:53:13 -0600 Subject: sys: final merge of dmz, hv into sys --- sys/btrfs/mounts.nix | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 sys/btrfs/mounts.nix (limited to 'sys/btrfs/mounts.nix') diff --git a/sys/btrfs/mounts.nix b/sys/btrfs/mounts.nix new file mode 100644 index 0000000..133f08f --- /dev/null +++ b/sys/btrfs/mounts.nix @@ -0,0 +1,39 @@ +{ lib, config, pkgs, ... }: +with lib; let + cfg = config.local.btrfs; +in +{ + options.local.btrfs = { + mounts = mkOption { + default = { }; + + type = with lib.types; attrsOf (submodule { + options = { + ssd = mkOption { + type = bool; + }; + + device = mkOption { + type = str; + }; + + subvol = mkOption { + type = str; + }; + }; + }); + }; + }; + + config = mkIf (cfg.mounts != { }) { + fileSystems = + let + btrfsMount = { device, subvol, ssd }: { + inherit device; + fsType = "btrfs"; + options = [ "noatime" "compress=zstd" "subvol=${subvol}" ] ++ optional ssd "ssd"; + }; + in + mapAttrs (_: btrfsMount) cfg.mounts; + }; +} -- cgit v1.2.3