rm zfs
This commit is contained in:
parent
4253e78b07
commit
abb7513d57
@ -10,11 +10,9 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./snapshot
|
|
||||||
./sshd
|
./sshd
|
||||||
./unitstatus
|
./unitstatus
|
||||||
./users
|
./users
|
||||||
./zfs
|
|
||||||
];
|
];
|
||||||
|
|
||||||
options.mj = with lib.types; {
|
options.mj = with lib.types; {
|
||||||
|
@ -1,41 +0,0 @@
|
|||||||
{ config, lib, ... }:
|
|
||||||
{
|
|
||||||
options.mj.base.snapshot = {
|
|
||||||
enable = lib.mkEnableOption "Enable zfs snapshots";
|
|
||||||
|
|
||||||
mountpoints = lib.mkOption {
|
|
||||||
default = { };
|
|
||||||
type = with lib.types; listOf str;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf config.mj.base.snapshot.enable {
|
|
||||||
services.sanoid = {
|
|
||||||
enable = true;
|
|
||||||
templates.prod = {
|
|
||||||
hourly = 24;
|
|
||||||
daily = 7;
|
|
||||||
autosnap = true;
|
|
||||||
autoprune = true;
|
|
||||||
};
|
|
||||||
extraArgs = [ "--verbose" ];
|
|
||||||
datasets =
|
|
||||||
let
|
|
||||||
fs_zfs = lib.filterAttrs (_: v: v.fsType == "zfs") config.fileSystems;
|
|
||||||
mountpoint2fs = builtins.listToAttrs (
|
|
||||||
map (mountpoint: {
|
|
||||||
name = mountpoint;
|
|
||||||
value = builtins.getAttr mountpoint fs_zfs;
|
|
||||||
}) config.mj.base.snapshot.mountpoints
|
|
||||||
);
|
|
||||||
s_datasets = lib.mapAttrs' (_mountpoint: fs: {
|
|
||||||
name = fs.device;
|
|
||||||
value = {
|
|
||||||
use_template = [ "prod" ];
|
|
||||||
};
|
|
||||||
}) mountpoint2fs;
|
|
||||||
in
|
|
||||||
s_datasets;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
{ config, lib, ... }:
|
|
||||||
{
|
|
||||||
options.mj.base.zfs = with lib.types; {
|
|
||||||
enable = lib.mkEnableOption "Enable common zfs options";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf config.mj.base.zfs.enable {
|
|
||||||
# TODO
|
|
||||||
#services.zfs = assert lib.assertMsg (config.mj.base.unitstatus.enable "mj.base.unitstatus must be enabled"; {
|
|
||||||
services.zfs = {
|
|
||||||
autoScrub.enable = true;
|
|
||||||
trim.enable = true;
|
|
||||||
expandOnBoot = "all";
|
|
||||||
};
|
|
||||||
|
|
||||||
mj.base.unitstatus.units = [ "zfs-scrub" ];
|
|
||||||
};
|
|
||||||
}
|
|
@ -61,18 +61,12 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
public = defaults // {
|
public = defaults // {
|
||||||
#"path" = cfg.dataDir;
|
|
||||||
"path" = "/var/run/samba/dataDir";
|
"path" = "/var/run/samba/dataDir";
|
||||||
"writeable" = "yes";
|
"writeable" = "yes";
|
||||||
"read only" = "no";
|
"read only" = "no";
|
||||||
"create mask" = "0664";
|
"create mask" = "0664";
|
||||||
"directory mask" = "0775";
|
"directory mask" = "0775";
|
||||||
};
|
};
|
||||||
#snapshots = defaults // {
|
|
||||||
# "path" = cfg.dataDir + "/.zfs/snapshot";
|
|
||||||
# "writeable" = "no";
|
|
||||||
# "read only" = "yes";
|
|
||||||
#};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user