forked from hacc/haccfiles
stuebinm
39531f1c48
the bind mount module has been tweaked in a couple ways: - rename hexchen.* to hacc.* - rename bindmount to bindMount to make it consistent with usage in the nixpkgs container module - add a hacc.bindToPersist option as shorthand for prepending /perist to a path via bind mount the nopersist module has been shortened a little by moving service-specific things which are used once out into the individual service files, and removing those which we don't need at all (this also means we get to loose a mkForce or two in case of mismatches between hexchen's and our current config).
28 lines
593 B
Nix
28 lines
593 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
let cfg = config.hacc;
|
|
|
|
in {
|
|
|
|
options.hacc.bindMounts = mkOption {
|
|
type = types.attrsOf types.str;
|
|
default = { };
|
|
example = { "/etc/asdf" = "/persist/asdf"; };
|
|
};
|
|
options.hacc.bindToPersist = mkOption {
|
|
type = types.listOf types.str;
|
|
default = [];
|
|
example = [ "postgres" ];
|
|
};
|
|
|
|
config.fileSystems = mapAttrs (_: device: {
|
|
inherit device;
|
|
options = [ "bind" ];
|
|
}) cfg.bindMounts;
|
|
|
|
config.hacc.bindMounts = listToAttrs
|
|
(map (name: { inherit name; value = "/persist${name}"; })
|
|
cfg.bindToPersist);
|
|
}
|