mirror of
https://github.com/RichieCahill/dotfiles.git
synced 2026-04-17 04:58:19 -04:00
updated then vars names
This commit is contained in:
@@ -21,9 +21,9 @@ in
|
|||||||
"8118:8118"
|
"8118:8118"
|
||||||
];
|
];
|
||||||
volumes = [
|
volumes = [
|
||||||
"${vars.media_docker_configs}/qbitvpn:/config"
|
"${vars.docker_configs}/qbitvpn:/config"
|
||||||
"${vars.storage_qbitvpn}:/data"
|
"${vars.qbitvpn}:/data"
|
||||||
"${vars.scratch_qbitvpn}:/data/incomplete"
|
"${vars.qbitvpn_scratch}:/data/incomplete"
|
||||||
"/etc/localtime:/etc/localtime:ro"
|
"/etc/localtime:/etc/localtime:ro"
|
||||||
];
|
];
|
||||||
environment = {
|
environment = {
|
||||||
@@ -41,7 +41,7 @@ in
|
|||||||
DELUGE_DAEMON_LOG_LEVEL = "debug";
|
DELUGE_DAEMON_LOG_LEVEL = "debug";
|
||||||
DELUGE_WEB_LOG_LEVEL = "debug";
|
DELUGE_WEB_LOG_LEVEL = "debug";
|
||||||
};
|
};
|
||||||
environmentFiles = [ "${vars.storage_secrets}/docker/qbitvpn" ];
|
environmentFiles = [ "${vars.secrets}/docker/qbitvpn" ];
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ in
|
|||||||
ports = [ "8091:80" ];
|
ports = [ "8091:80" ];
|
||||||
volumes = [
|
volumes = [
|
||||||
"${../../../common/docker_templates}/file_server/sites/:/etc/apache2/sites-enabled/"
|
"${../../../common/docker_templates}/file_server/sites/:/etc/apache2/sites-enabled/"
|
||||||
"${vars.media_share}:/data"
|
"${vars.share}:/data"
|
||||||
];
|
];
|
||||||
extraOptions = [ "--network=web" ];
|
extraOptions = [ "--network=web" ];
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ in
|
|||||||
mountPoint = "/zfs/media/github-runners/${name}";
|
mountPoint = "/zfs/media/github-runners/${name}";
|
||||||
isReadOnly = false;
|
isReadOnly = false;
|
||||||
};
|
};
|
||||||
"/secrets".mountPoint = "${vars.storage_secrets}/services/github-runners/${name}";
|
"/secrets".mountPoint = "${vars.secrets}/services/github-runners/${name}";
|
||||||
"ssh-keys".mountPoint = "${vars.storage_secrets}/services/github-runners/id_ed25519_github-runners";
|
"ssh-keys".mountPoint = "${vars.secrets}/services/github-runners/id_ed25519_github-runners";
|
||||||
};
|
};
|
||||||
config =
|
config =
|
||||||
{
|
{
|
||||||
@@ -65,7 +65,7 @@ in
|
|||||||
Port 629
|
Port 629
|
||||||
User github-runners
|
User github-runners
|
||||||
HostName 192.168.95.14
|
HostName 192.168.95.14
|
||||||
IdentityFile ${vars.storage_secrets}/services/github-runners/id_ed25519_github-runners
|
IdentityFile ${vars.secrets}/services/github-runners/id_ed25519_github-runners
|
||||||
StrictHostKeyChecking no
|
StrictHostKeyChecking no
|
||||||
UserKnownHostsFile /dev/null
|
UserKnownHostsFile /dev/null
|
||||||
'';
|
'';
|
||||||
@@ -75,7 +75,7 @@ in
|
|||||||
workDir = "/zfs/media/github-runners/${name}";
|
workDir = "/zfs/media/github-runners/${name}";
|
||||||
url = "https://github.com/RichieCahill/dotfiles";
|
url = "https://github.com/RichieCahill/dotfiles";
|
||||||
extraLabels = [ "nixos" ];
|
extraLabels = [ "nixos" ];
|
||||||
tokenFile = "${vars.storage_secrets}/services/github-runners/${name}";
|
tokenFile = "${vars.secrets}/services/github-runners/${name}";
|
||||||
user = "github-runners";
|
user = "github-runners";
|
||||||
group = "github-runners";
|
group = "github-runners";
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
|
|||||||
@@ -5,6 +5,6 @@ in
|
|||||||
{
|
{
|
||||||
services.audiobookshelf.enable = true;
|
services.audiobookshelf.enable = true;
|
||||||
systemd.services.audiobookshelf.serviceConfig.WorkingDirectory =
|
systemd.services.audiobookshelf.serviceConfig.WorkingDirectory =
|
||||||
lib.mkForce "${vars.media_docker_configs}/audiobookshelf";
|
lib.mkForce "${vars.docker_configs}/audiobookshelf";
|
||||||
users.users.audiobookshelf.home = lib.mkForce "${vars.media_docker_configs}/audiobookshelf";
|
users.users.audiobookshelf.home = lib.mkForce "${vars.docker_configs}/audiobookshelf";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ in
|
|||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
EnvironmentFile = "${vars.storage_secrets}/docker/cloud_flare_tunnel";
|
EnvironmentFile = "${vars.secrets}/docker/cloud_flare_tunnel";
|
||||||
ExecStart = "${pkgs.cloudflared}/bin/cloudflared --no-autoupdate tunnel run";
|
ExecStart = "${pkgs.cloudflared}/bin/cloudflared --no-autoupdate tunnel run";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ in
|
|||||||
{
|
{
|
||||||
services.duckdns = {
|
services.duckdns = {
|
||||||
enable = true;
|
enable = true;
|
||||||
tokenFile = "${vars.storage_secrets}/services/duckdns/token";
|
tokenFile = "${vars.secrets}/services/duckdns/token";
|
||||||
domainsFile = "${vars.storage_secrets}/services/duckdns/domains";
|
domainsFile = "${vars.secrets}/services/duckdns/domains";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ in
|
|||||||
Type = "simple";
|
Type = "simple";
|
||||||
User = "richie";
|
User = "richie";
|
||||||
Group = "users";
|
Group = "users";
|
||||||
ExecStart = "${pkgs.filebrowser}/bin/filebrowser --root=/zfs --address=0.0.0.0 --database=${vars.media_docker_configs}/filebrowser/filebrowser.db";
|
ExecStart = "${pkgs.filebrowser}/bin/filebrowser --root=/zfs --address=0.0.0.0 --database=${vars.docker_configs}/filebrowser/filebrowser.db";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ in
|
|||||||
home-assistant = {
|
home-assistant = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
configDir = vars.media_home_assistant;
|
configDir = vars.home_assistant;
|
||||||
config = {
|
config = {
|
||||||
http = {
|
http = {
|
||||||
server_port = 8123;
|
server_port = 8123;
|
||||||
|
|||||||
@@ -5,6 +5,6 @@ in
|
|||||||
services.jellyfin = {
|
services.jellyfin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
dataDir = "${vars.media_services}/jellyfin";
|
dataDir = "${vars.services}/jellyfin";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ in
|
|||||||
{
|
{
|
||||||
services.nix-serve = {
|
services.nix-serve = {
|
||||||
enable = true;
|
enable = true;
|
||||||
secretKeyFile = "${vars.storage_secrets}/services/nix-cache/cache-priv-key.pem";
|
secretKeyFile = "${vars.secrets}/services/nix-cache/cache-priv-key.pem";
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ in
|
|||||||
package = pkgs.postgresql_17_jit;
|
package = pkgs.postgresql_17_jit;
|
||||||
enableTCPIP = true;
|
enableTCPIP = true;
|
||||||
enableJIT = true;
|
enableJIT = true;
|
||||||
dataDir = "${vars.media_database}/postgres";
|
dataDir = "${vars.database}/postgres";
|
||||||
|
|
||||||
authentication = pkgs.lib.mkOverride 10 ''
|
authentication = pkgs.lib.mkOverride 10 ''
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ in
|
|||||||
description = "validates startup";
|
description = "validates startup";
|
||||||
path = [ pkgs.zfs ];
|
path = [ pkgs.zfs ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
EnvironmentFile = "${vars.storage_secrets}/services/server-validation";
|
EnvironmentFile = "${vars.secrets}/services/server-validation";
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
ExecStart = "${inputs.system_tools.packages.x86_64-linux.default}/bin/validate_system --config-file='${./validate_system.toml}'";
|
ExecStart = "${inputs.system_tools.packages.x86_64-linux.default}/bin/validate_system --config-file='${./validate_system.toml}'";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,16 +7,16 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.transmission_4;
|
package = pkgs.transmission_4;
|
||||||
webHome = pkgs.flood-for-transmission;
|
webHome = pkgs.flood-for-transmission;
|
||||||
home = "${vars.media_services}/transmission";
|
home = "${vars.services}/transmission";
|
||||||
openPeerPorts = true;
|
openPeerPorts = true;
|
||||||
openRPCPort = true;
|
openRPCPort = true;
|
||||||
downloadDirPermissions = "770";
|
downloadDirPermissions = "770";
|
||||||
settings = {
|
settings = {
|
||||||
bind-address-ipv4 = "192.168.95.14";
|
bind-address-ipv4 = "192.168.95.14";
|
||||||
cache-size-mb = 0;
|
cache-size-mb = 0;
|
||||||
download-dir = "${vars.storage_transmission}/complete";
|
download-dir = "${vars.transmission}/complete";
|
||||||
download-queue-enabled = false;
|
download-queue-enabled = false;
|
||||||
incomplete-dir = "${vars.scratch_transmission}/incomplete";
|
incomplete-dir = "${vars.transmission_scratch}/incomplete";
|
||||||
incomplete-dir-enabled = true;
|
incomplete-dir-enabled = true;
|
||||||
message-level = 3;
|
message-level = 3;
|
||||||
peer-port = 51413;
|
peer-port = 51413;
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ in
|
|||||||
};
|
};
|
||||||
"notes" = {
|
"notes" = {
|
||||||
id = "l62ul-lpweo"; # cspell:disable-line
|
id = "l62ul-lpweo"; # cspell:disable-line
|
||||||
path = vars.media_notes;
|
path = vars.notes;
|
||||||
devices = [
|
devices = [
|
||||||
"rhapsody-in-green"
|
"rhapsody-in-green"
|
||||||
"davids-server"
|
"davids-server"
|
||||||
@@ -29,7 +29,7 @@ in
|
|||||||
};
|
};
|
||||||
"important" = {
|
"important" = {
|
||||||
id = "4ckma-gtshs"; # cspell:disable-line
|
id = "4ckma-gtshs"; # cspell:disable-line
|
||||||
path = "${vars.storage_syncthing}/important";
|
path = "${vars.syncthing}/important";
|
||||||
devices = [
|
devices = [
|
||||||
"bob"
|
"bob"
|
||||||
"rhapsody-in-green"
|
"rhapsody-in-green"
|
||||||
@@ -39,7 +39,7 @@ in
|
|||||||
};
|
};
|
||||||
"music" = {
|
"music" = {
|
||||||
id = "vprc5-3azqc"; # cspell:disable-line
|
id = "vprc5-3azqc"; # cspell:disable-line
|
||||||
path = "${vars.storage_syncthing}/music";
|
path = "${vars.syncthing}/music";
|
||||||
devices = [
|
devices = [
|
||||||
"bob"
|
"bob"
|
||||||
"rhapsody-in-green"
|
"rhapsody-in-green"
|
||||||
@@ -50,14 +50,14 @@ in
|
|||||||
};
|
};
|
||||||
"projects" = {
|
"projects" = {
|
||||||
id = "vyma6-lqqrz"; # cspell:disable-line
|
id = "vyma6-lqqrz"; # cspell:disable-line
|
||||||
path = "${vars.storage_syncthing}/projects";
|
path = "${vars.syncthing}/projects";
|
||||||
devices = [
|
devices = [
|
||||||
"rhapsody-in-green"
|
"rhapsody-in-green"
|
||||||
];
|
];
|
||||||
fsWatcherEnabled = true;
|
fsWatcherEnabled = true;
|
||||||
};
|
};
|
||||||
"rhapsody-in-green_temp" = {
|
"rhapsody-in-green_temp" = {
|
||||||
path = "${vars.storage_syncthing}/rhapsody-in-green_temp";
|
path = "${vars.syncthing}/rhapsody-in-green_temp";
|
||||||
devices = [
|
devices = [
|
||||||
"rhapsody-in-green"
|
"rhapsody-in-green"
|
||||||
];
|
];
|
||||||
@@ -72,7 +72,7 @@ in
|
|||||||
fsWatcherEnabled = true;
|
fsWatcherEnabled = true;
|
||||||
};
|
};
|
||||||
"backup" = {
|
"backup" = {
|
||||||
path = "${vars.storage_syncthing}/backup";
|
path = "${vars.syncthing}/backup";
|
||||||
devices = [
|
devices = [
|
||||||
"davids-server"
|
"davids-server"
|
||||||
];
|
];
|
||||||
@@ -81,7 +81,7 @@ in
|
|||||||
#
|
#
|
||||||
"davids-backup1" = {
|
"davids-backup1" = {
|
||||||
id = "8229p-8z3tm"; # cspell:disable-line
|
id = "8229p-8z3tm"; # cspell:disable-line
|
||||||
path = "${vars.storage_syncthing}/davids_backups/1";
|
path = "${vars.syncthing}/davids_backups/1";
|
||||||
devices = [
|
devices = [
|
||||||
"davids-server"
|
"davids-server"
|
||||||
];
|
];
|
||||||
@@ -90,7 +90,7 @@ in
|
|||||||
};
|
};
|
||||||
"davids-backup2" = {
|
"davids-backup2" = {
|
||||||
id = "iciw3-dp6ao"; # cspell:disable-line
|
id = "iciw3-dp6ao"; # cspell:disable-line
|
||||||
path = "${vars.storage_syncthing}/davids_backups/2";
|
path = "${vars.syncthing}/davids_backups/2";
|
||||||
devices = [
|
devices = [
|
||||||
"davids-server"
|
"davids-server"
|
||||||
];
|
];
|
||||||
@@ -99,7 +99,7 @@ in
|
|||||||
};
|
};
|
||||||
"davids-backup3" = {
|
"davids-backup3" = {
|
||||||
id = "9si6m-bnkjb"; # cspell:disable-line
|
id = "9si6m-bnkjb"; # cspell:disable-line
|
||||||
path = "${vars.storage_syncthing}/davids_backups/3";
|
path = "${vars.syncthing}/davids_backups/3";
|
||||||
devices = [
|
devices = [
|
||||||
"davids-server"
|
"davids-server"
|
||||||
];
|
];
|
||||||
@@ -108,7 +108,7 @@ in
|
|||||||
};
|
};
|
||||||
"davids-backup4" = {
|
"davids-backup4" = {
|
||||||
id = "qjyfy-uupj4"; # cspell:disable-line
|
id = "qjyfy-uupj4"; # cspell:disable-line
|
||||||
path = "${vars.storage_syncthing}/davids_backups/4";
|
path = "${vars.syncthing}/davids_backups/4";
|
||||||
devices = [
|
devices = [
|
||||||
"davids-server"
|
"davids-server"
|
||||||
];
|
];
|
||||||
@@ -117,7 +117,7 @@ in
|
|||||||
};
|
};
|
||||||
"davids-backup5" = {
|
"davids-backup5" = {
|
||||||
id = "fm4h5-emsu2"; # cspell:disable-line
|
id = "fm4h5-emsu2"; # cspell:disable-line
|
||||||
path = "${vars.storage_syncthing}/davids_backups/5";
|
path = "${vars.syncthing}/davids_backups/5";
|
||||||
devices = [
|
devices = [
|
||||||
"davids-server"
|
"davids-server"
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -5,26 +5,17 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
inherit zfs_media zfs_storage zfs_scratch;
|
inherit zfs_media zfs_storage zfs_scratch;
|
||||||
# media
|
database = "${zfs_media}/database";
|
||||||
media_database = "${zfs_media}/database";
|
docker = "${zfs_media}/docker";
|
||||||
media_docker = "${zfs_media}/docker";
|
docker_configs = "${zfs_media}/docker/configs";
|
||||||
media_docker_configs = "${zfs_media}/docker/configs";
|
home_assistant = "${zfs_media}/home_assistant";
|
||||||
media_mirror = "${zfs_media}/mirror";
|
notes = "${zfs_media}/notes";
|
||||||
media_share = "${zfs_media}/share";
|
qbitvpn = "${zfs_storage}/qbitvpn";
|
||||||
media_services = "${zfs_media}/services";
|
qbitvpn_scratch = "${zfs_scratch}/qbitvpn";
|
||||||
media_notes = "${zfs_media}/notes";
|
secrets = "${zfs_storage}/secrets";
|
||||||
media_plex = "${zfs_media}/plex";
|
services = "${zfs_media}/services";
|
||||||
media_home_assistant = "${zfs_media}/home_assistant";
|
share = "${zfs_media}/share";
|
||||||
# storage
|
syncthing = "${zfs_storage}/syncthing";
|
||||||
storage_main = "${zfs_storage}/main";
|
transmission = "${zfs_storage}/transmission";
|
||||||
storage_photos = "${zfs_storage}/photos";
|
transmission_scratch = "${zfs_scratch}/transmission";
|
||||||
storage_plex = "${zfs_storage}/plex";
|
|
||||||
storage_secrets = "${zfs_storage}/secrets";
|
|
||||||
storage_syncthing = "${zfs_storage}/syncthing";
|
|
||||||
storage_library = "${zfs_storage}/library";
|
|
||||||
storage_qbitvpn = "${zfs_storage}/qbitvpn";
|
|
||||||
storage_transmission = "${zfs_storage}/transmission";
|
|
||||||
# scratch
|
|
||||||
scratch_qbitvpn = "${zfs_scratch}/qbitvpn";
|
|
||||||
scratch_transmission = "${zfs_scratch}/transmission";
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user