mirror of
https://github.com/RichieCahill/dotfiles.git
synced 2026-04-17 13:08:19 -04:00
added EnvironmentFile to snapshot_manager
This commit is contained in:
@@ -11,33 +11,39 @@ in
|
|||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
services.snapshot_manager = {
|
services.snapshot_manager = {
|
||||||
enable = lib.mkOption {
|
enable = lib.mkEnableOption "ZFS snapshot manager";
|
||||||
default = true;
|
|
||||||
example = true;
|
|
||||||
description = "Whether to enable k3s-net.";
|
|
||||||
type = lib.types.bool;
|
|
||||||
};
|
|
||||||
path = lib.mkOption {
|
path = lib.mkOption {
|
||||||
type = lib.types.path;
|
type = lib.types.path;
|
||||||
description = "Path that needs to be updated via git pull";
|
|
||||||
default = ./snapshot_config.toml;
|
default = ./snapshot_config.toml;
|
||||||
|
description = "Path to the snapshot_manager TOML config.";
|
||||||
|
};
|
||||||
|
EnvironmentFile = lib.mkOption {
|
||||||
|
type = lib.types.nullOr (lib.types.coercedTo lib.types.path lib.isString lib.types.str);
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
Single environment file for the service (e.g. /etc/snapshot-manager/env).
|
||||||
|
Use a leading "-" to ignore if missing (systemd feature).
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
systemd = {
|
systemd = {
|
||||||
services."snapshot_manager" = {
|
services.snapshot_manager = {
|
||||||
description = "ZFS Snapshot Manager";
|
description = "ZFS Snapshot Manager";
|
||||||
requires = [ "zfs-import.target" ];
|
requires = [ "zfs-import.target" ];
|
||||||
after = [ "zfs-import.target" ];
|
after = [ "zfs-import.target" ];
|
||||||
path = [ pkgs.zfs ];
|
path = [ pkgs.zfs ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
ExecStart = "${inputs.system_tools.packages.x86_64-linux.default}/bin/snapshot_manager --config-file='${cfg.path}'";
|
ExecStart = "${inputs.system_tools.packages.x86_64-linux.default}/bin/snapshot_manager --config-file=${lib.escapeShellArg cfg.path}";
|
||||||
|
}
|
||||||
|
// lib.optionalAttrs (cfg.EnvironmentFile != null) {
|
||||||
|
EnvironmentFile = cfg.EnvironmentFile;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
timers."snapshot_manager" = {
|
timers.snapshot_manager = {
|
||||||
wantedBy = [ "timers.target" ];
|
wantedBy = [ "timers.target" ];
|
||||||
timerConfig = {
|
timerConfig = {
|
||||||
OnBootSec = "15m";
|
OnBootSec = "15m";
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
let
|
||||||
|
vars = import ./vars.nix;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../users/richie
|
../../users/richie
|
||||||
@@ -23,7 +26,10 @@
|
|||||||
|
|
||||||
smartd.enable = true;
|
smartd.enable = true;
|
||||||
|
|
||||||
snapshot_manager.path = ./snapshot_config.toml;
|
snapshot_manager = {
|
||||||
|
path = ./snapshot_config.toml;
|
||||||
|
EnvironmentFile = "${vars.secrets}/services/snapshot_manager";
|
||||||
|
};
|
||||||
|
|
||||||
zerotierone.joinNetworks = [ "a09acf02330d37b9" ];
|
zerotierone.joinNetworks = [ "a09acf02330d37b9" ];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -51,3 +51,45 @@ monthly = 12
|
|||||||
hourly = 12
|
hourly = 12
|
||||||
daily = 14
|
daily = 14
|
||||||
monthly = 2
|
monthly = 2
|
||||||
|
|
||||||
|
["media/services"]
|
||||||
|
15_min = 3
|
||||||
|
hourly = 12
|
||||||
|
daily = 14
|
||||||
|
monthly = 2
|
||||||
|
|
||||||
|
["media/home_assistant"]
|
||||||
|
15_min = 3
|
||||||
|
hourly = 12
|
||||||
|
daily = 14
|
||||||
|
monthly = 2
|
||||||
|
|
||||||
|
["scratch/qbitvpn"]
|
||||||
|
15_min = 0
|
||||||
|
hourly = 0
|
||||||
|
daily = 0
|
||||||
|
monthly = 0
|
||||||
|
|
||||||
|
["scratch/transmission"]
|
||||||
|
15_min = 0
|
||||||
|
hourly = 0
|
||||||
|
daily = 0
|
||||||
|
monthly = 0
|
||||||
|
|
||||||
|
["storage/qbitvpn"]
|
||||||
|
15_min = 0
|
||||||
|
hourly = 0
|
||||||
|
daily = 0
|
||||||
|
monthly = 0
|
||||||
|
|
||||||
|
["storage/transmission"]
|
||||||
|
15_min = 0
|
||||||
|
hourly = 0
|
||||||
|
daily = 0
|
||||||
|
monthly = 0
|
||||||
|
|
||||||
|
["storage/ollama"]
|
||||||
|
15_min = 0
|
||||||
|
hourly = 0
|
||||||
|
daily = 0
|
||||||
|
monthly = 0
|
||||||
|
|||||||
@@ -55,6 +55,5 @@
|
|||||||
nix-tree
|
nix-tree
|
||||||
nixfmt-rfc-style
|
nixfmt-rfc-style
|
||||||
treefmt
|
treefmt
|
||||||
inputs.system_tools.packages.x86_64-linux.default
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user