mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 16:57:55 +00:00
73 lines
1.8 KiB
Nix
73 lines
1.8 KiB
Nix
{ config, options, lib, pkgs, ... }:
|
|
|
|
let
|
|
cfg = config.profiles.filesystem;
|
|
in
|
|
{
|
|
options.profiles.filesystem = {
|
|
archive.enable = lib.mkOption {
|
|
type = lib.types.bool;
|
|
description = ''
|
|
Add the archive storage to the list of filesystems.
|
|
'';
|
|
default = false;
|
|
};
|
|
|
|
external-hdd.enable = lib.mkOption {
|
|
type = lib.types.bool;
|
|
description = ''
|
|
Add the external hard drive to the list of filesystems.
|
|
'';
|
|
default = false;
|
|
};
|
|
};
|
|
|
|
config = lib.mkMerge [
|
|
(lib.mkIf cfg.archive.enable {
|
|
fileSystems."/mnt/archives" = {
|
|
device = "/dev/disk/by-uuid/6ba86a30-5fa4-41d9-8354-fa8af0f57f49";
|
|
fsType = "btrfs";
|
|
noCheck = true;
|
|
options = [
|
|
# These are btrfs-specific mount options which can found in btrfs.5
|
|
# manual page.
|
|
"subvol=@"
|
|
"noatime"
|
|
"compress=zstd:9"
|
|
"space_cache=v2"
|
|
|
|
# General mount options from mount.5 manual page.
|
|
"noauto"
|
|
"nofail"
|
|
"user"
|
|
|
|
# See systemd.mount.5 and systemd.automount.5 manual page for more
|
|
# details.
|
|
"x-systemd.automount"
|
|
"x-systemd.idle-timeout=2"
|
|
"x-systemd.device-timeout=2"
|
|
];
|
|
};
|
|
})
|
|
|
|
(lib.mkIf cfg.external-hdd.enable {
|
|
fileSystems."/mnt/external-storage" = {
|
|
device = "/dev/disk/by-uuid/665A391C5A38EB07";
|
|
fsType = "ntfs";
|
|
noCheck = true;
|
|
options = [
|
|
"nofail"
|
|
"noauto"
|
|
"user"
|
|
|
|
# See systemd.mount.5 and systemd.automount.5 manual page for more
|
|
# details.
|
|
"x-systemd.automount"
|
|
"x-systemd.device-timeout=2"
|
|
"x-systemd.idle-timeout=2"
|
|
];
|
|
};
|
|
})
|
|
];
|
|
}
|