nixos-config/modules/shared/base/zfs/default.nix
Charlotte Van Petegem 6c612b12f5
All checks were successful
Cachix / build (elendel) (push) Successful in 1m9s
Cachix / build (kholinar) (push) Successful in 2m4s
Cachix / build (lasting-integrity) (push) Successful in 1m4s
Cachix / build (marabethia) (push) Successful in 1m19s
Cachix / build (urithiru) (push) Successful in 1m22s
wireguard: Make marabethia the leader
2024-11-11 19:27:55 +01:00

52 lines
1.3 KiB
Nix

{ config, lib, ... }:
# Define shared options so that links configuration can live close to actual configuration
{
options.chvp.base.zfs = {
enable = lib.mkOption {
default = false;
example = true;
};
encrypted = lib.mkOption {
default = false;
example = true;
};
systemLinks = lib.mkOption {
default = [ ];
example = [
{ path = "/var/lib/docker"; type = "cache"; }
{ path = "/var/lib/docker/volumes"; type = "data"; }
];
};
homeLinks = lib.mkOption {
default = [ ];
example = [
{ path = ".config/syncthing"; type = "data"; }
{ path = ".cache/nix-index"; type = "cache"; }
];
};
ensureSystemExists = lib.mkOption {
default = [ ];
example = [ "/data/etc/ssh" ];
};
ensureHomeExists = lib.mkOption {
default = [ ];
example = [ ".ssh" ];
};
backups = lib.mkOption {
default = [ ];
example = [{
path = "rpool/safe/data";
remotePath = "zdata/recv/<hostname>/safe/data";
fast = false;
location = "marabethia.vanpetegem.me";
}];
};
rootDataset = lib.mkOption {
example = "rpool/local/root";
};
rootPool = lib.mkOption {
example = "rpool";
};
};
}