mirror of
https://github.com/oddlama/nix-config.git
synced 2025-10-10 23:00:39 +02:00
feat: put impermanence for services next to service definitions
This commit is contained in:
parent
8f28273b65
commit
336f648275
13 changed files with 98 additions and 100 deletions
|
@ -34,6 +34,13 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.persistence."/persist".directories = [
|
||||||
|
{
|
||||||
|
directory = "/var/lib/private/AdGuardHome";
|
||||||
|
mode = "0700";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
allowedTCPPorts = [53];
|
allowedTCPPorts = [53];
|
||||||
allowedUDPPorts = [53];
|
allowedUDPPorts = [53];
|
||||||
|
|
|
@ -61,6 +61,15 @@ in {
|
||||||
# Recommended by forgejo: https://forgejo.org/docs/latest/admin/recommendations/#git-over-ssh
|
# Recommended by forgejo: https://forgejo.org/docs/latest/admin/recommendations/#git-over-ssh
|
||||||
services.openssh.settings.AcceptEnv = "GIT_PROTOCOL";
|
services.openssh.settings.AcceptEnv = "GIT_PROTOCOL";
|
||||||
|
|
||||||
|
environment.persistence."/persist".directories = [
|
||||||
|
{
|
||||||
|
directory = config.services.gitea.stateDir;
|
||||||
|
user = "gitea";
|
||||||
|
group = "gitea";
|
||||||
|
mode = "0700";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
services.gitea = {
|
services.gitea = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.forgejo;
|
package = pkgs.forgejo;
|
||||||
|
|
|
@ -75,6 +75,15 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.persistence."/persist".directories = [
|
||||||
|
{
|
||||||
|
directory = config.services.grafana.dataDir;
|
||||||
|
user = "grafana";
|
||||||
|
group = "grafana";
|
||||||
|
mode = "0700";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
services.grafana = {
|
services.grafana = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -68,6 +68,15 @@ in {
|
||||||
group = "influxdb2";
|
group = "influxdb2";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.persistence."/persist".directories = [
|
||||||
|
{
|
||||||
|
directory = "/var/lib/influxdb2";
|
||||||
|
user = "influxdb2";
|
||||||
|
group = "influxdb2";
|
||||||
|
mode = "0700";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
services.influxdb2 = {
|
services.influxdb2 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -80,6 +80,15 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.persistence."/persist".directories = [
|
||||||
|
{
|
||||||
|
directory = "/var/lib/kanidm";
|
||||||
|
user = "kanidm";
|
||||||
|
group = "kanidm";
|
||||||
|
mode = "0700";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
services.kanidm = {
|
services.kanidm = {
|
||||||
enableServer = true;
|
enableServer = true;
|
||||||
serverSettings = {
|
serverSettings = {
|
||||||
|
|
|
@ -52,6 +52,15 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.persistence."/persist".directories = [
|
||||||
|
{
|
||||||
|
directory = "/var/lib/loki";
|
||||||
|
user = "loki";
|
||||||
|
group = "loki";
|
||||||
|
mode = "0700";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
services.loki = let
|
services.loki = let
|
||||||
lokiDir = "/var/lib/loki";
|
lokiDir = "/var/lib/loki";
|
||||||
in {
|
in {
|
||||||
|
|
|
@ -46,6 +46,15 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# TODO environment.persistence."/persist".directories = [
|
||||||
|
# TODO {
|
||||||
|
# TODO directory = "/var/lib/???";
|
||||||
|
# TODO user = "???";
|
||||||
|
# TODO group = "???";
|
||||||
|
# TODO mode = "0700";
|
||||||
|
# TODO }
|
||||||
|
# TODO ];
|
||||||
|
|
||||||
services.paperless = {
|
services.paperless = {
|
||||||
enable = true;
|
enable = true;
|
||||||
address = "0.0.0.0";
|
address = "0.0.0.0";
|
||||||
|
|
|
@ -18,6 +18,15 @@ in {
|
||||||
group = "vaultwarden";
|
group = "vaultwarden";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.persistence."/persist".directories = [
|
||||||
|
{
|
||||||
|
directory = "/var/lib/vaultwarden";
|
||||||
|
user = "vaultwarden";
|
||||||
|
group = "vaultwarden";
|
||||||
|
mode = "0700";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
nodes.sentinel = {
|
nodes.sentinel = {
|
||||||
networking.providedDomains.vaultwarden = vaultwardenDomain;
|
networking.providedDomains.vaultwarden = vaultwardenDomain;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
{config, ...}: {
|
{config, ...}: {
|
||||||
|
environment.persistence."/persist".directories = [
|
||||||
|
{
|
||||||
|
directory = "/var/lib/private/esphome";
|
||||||
|
mode = "0700";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
services.esphome = {
|
services.esphome = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableUnixSocket = true;
|
enableUnixSocket = true;
|
||||||
|
|
|
@ -9,6 +9,15 @@
|
||||||
in {
|
in {
|
||||||
meta.wireguard-proxy.sentinel.allowedTCPPorts = [80];
|
meta.wireguard-proxy.sentinel.allowedTCPPorts = [80];
|
||||||
|
|
||||||
|
environment.persistence."/persist".directories = [
|
||||||
|
{
|
||||||
|
directory = config.services.home-assistant.configDir;
|
||||||
|
user = "hass";
|
||||||
|
group = "hass";
|
||||||
|
mode = "0700";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
services.home-assistant = {
|
services.home-assistant = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraComponents = [
|
extraComponents = [
|
||||||
|
|
|
@ -117,14 +117,6 @@ in {
|
||||||
[
|
[
|
||||||
"/var/lib/nixos"
|
"/var/lib/nixos"
|
||||||
]
|
]
|
||||||
++ optionals config.hardware.bluetooth.enable [
|
|
||||||
{
|
|
||||||
directory = "/var/lib/bluetooth";
|
|
||||||
#user = "acme";
|
|
||||||
#group = "acme";
|
|
||||||
#mode = "0755";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ optionals config.security.acme.acceptTerms [
|
++ optionals config.security.acme.acceptTerms [
|
||||||
{
|
{
|
||||||
directory = "/var/lib/acme";
|
directory = "/var/lib/acme";
|
||||||
|
@ -139,14 +131,6 @@ in {
|
||||||
mode = "0700";
|
mode = "0700";
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
++ optionals config.services.fail2ban.enable [
|
|
||||||
{
|
|
||||||
directory = "/var/lib/fail2ban";
|
|
||||||
user = "fail2ban";
|
|
||||||
group = "fail2ban";
|
|
||||||
mode = "0750";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ optionals config.services.postgresql.enable [
|
++ optionals config.services.postgresql.enable [
|
||||||
{
|
{
|
||||||
directory = "/var/lib/postgresql";
|
directory = "/var/lib/postgresql";
|
||||||
|
@ -154,90 +138,6 @@ in {
|
||||||
group = "postgres";
|
group = "postgres";
|
||||||
mode = "0700";
|
mode = "0700";
|
||||||
}
|
}
|
||||||
]
|
|
||||||
++ optionals config.services.gitea.enable [
|
|
||||||
{
|
|
||||||
directory = config.services.gitea.stateDir;
|
|
||||||
user = "gitea";
|
|
||||||
group = "gitea";
|
|
||||||
mode = "0700";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ optionals config.services.caddy.enable [
|
|
||||||
{
|
|
||||||
directory = config.services.caddy.dataDir;
|
|
||||||
user = "caddy";
|
|
||||||
group = "caddy";
|
|
||||||
mode = "0700";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ optionals config.services.loki.enable [
|
|
||||||
{
|
|
||||||
directory = "/var/lib/loki";
|
|
||||||
user = "loki";
|
|
||||||
group = "loki";
|
|
||||||
mode = "0700";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ optionals config.services.grafana.enable [
|
|
||||||
{
|
|
||||||
directory = config.services.grafana.dataDir;
|
|
||||||
user = "grafana";
|
|
||||||
group = "grafana";
|
|
||||||
mode = "0700";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ optionals config.services.kanidm.enableServer [
|
|
||||||
{
|
|
||||||
directory = "/var/lib/kanidm";
|
|
||||||
user = "kanidm";
|
|
||||||
group = "kanidm";
|
|
||||||
mode = "0700";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ optionals config.services.vaultwarden.enable [
|
|
||||||
{
|
|
||||||
directory = "/var/lib/vaultwarden";
|
|
||||||
user = "vaultwarden";
|
|
||||||
group = "vaultwarden";
|
|
||||||
mode = "0700";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ optionals config.services.influxdb2.enable [
|
|
||||||
{
|
|
||||||
directory = "/var/lib/influxdb2";
|
|
||||||
user = "influxdb2";
|
|
||||||
group = "influxdb2";
|
|
||||||
mode = "0700";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ optionals config.services.telegraf.enable [
|
|
||||||
{
|
|
||||||
directory = "/var/lib/telegraf";
|
|
||||||
user = "telegraf";
|
|
||||||
group = "telegraf";
|
|
||||||
mode = "0700";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ optionals config.services.adguardhome.enable [
|
|
||||||
{
|
|
||||||
directory = "/var/lib/private/AdGuardHome";
|
|
||||||
mode = "0700";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ optionals config.services.esphome.enable [
|
|
||||||
{
|
|
||||||
directory = "/var/lib/private/esphome";
|
|
||||||
mode = "0700";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
++ optionals config.services.home-assistant.enable [
|
|
||||||
{
|
|
||||||
directory = config.services.home-assistant.configDir;
|
|
||||||
user = "hass";
|
|
||||||
group = "hass";
|
|
||||||
mode = "0700";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
environment.systemPackages = with pkgs; [bluetuith];
|
environment.systemPackages = with pkgs; [bluetuith];
|
||||||
|
environment.persistence."/persist".directories = [
|
||||||
|
"/var/lib/bluetooth"
|
||||||
|
];
|
||||||
|
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -177,6 +177,15 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.persistence."/persist".directories = [
|
||||||
|
{
|
||||||
|
directory = "/var/lib/telegraf";
|
||||||
|
user = "telegraf";
|
||||||
|
group = "telegraf";
|
||||||
|
mode = "0700";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
systemd.services.telegraf = {
|
systemd.services.telegraf = {
|
||||||
path = [
|
path = [
|
||||||
# Make sensors refer to the correct wrapper
|
# Make sensors refer to the correct wrapper
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue