add kodi and jellyfin

This commit is contained in:
Patrick Neff 2025-01-18 12:21:20 +01:00
parent 3987b94d21
commit 2bc75821a5
22 changed files with 248 additions and 80 deletions

View File

@ -1,7 +1,8 @@
keys: keys:
- &admin_odie age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7 - &admin_odie age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7
- &server_asgard age1nnx85asl5nmxmurr3g8mazcsggvtazt0hpauw42l7v4k3de74s6s649w0k - &server_asgard age1nnx85asl5nmxmurr3g8mazcsggvtazt0hpauw42l7v4k3de74s6s649w0k
- &server_pi0 age1v522tvf0gclgjnnu8q0mekl0rcmpdk7d7lwravwazstfn9zqhecsngvhpf #- &server_pi0 age1v522tvf0gclgjnnu8q0mekl0rcmpdk7d7lwravwazstfn9zqhecsngvhpf
- &server_pi0 age19wm2y96tr02uz20yuqskvhwltygf47feenf7zuxqhegtqfu4le8q9adqdd
#- &server_pi1 age1u6k49fuphu4n5p7hhuxd03ktwhujr55mrs72cqe6ttfagljpc5asa0jsgx #- &server_pi1 age1u6k49fuphu4n5p7hhuxd03ktwhujr55mrs72cqe6ttfagljpc5asa0jsgx
- &server_pi1 age16vz5m0stsh39ajn3zhkzj7x7zfgexlx3zzk2k9vrrrsn78tyzd2qmjkt2a - &server_pi1 age16vz5m0stsh39ajn3zhkzj7x7zfgexlx3zzk2k9vrrrsn78tyzd2qmjkt2a
- &server_nixos age1j8wprrs23m46h7xl26su3k6uztnvza5k89c9uk9rwwzefv8a4yvqpscxun - &server_nixos age1j8wprrs23m46h7xl26su3k6uztnvza5k89c9uk9rwwzefv8a4yvqpscxun
@ -17,3 +18,8 @@ creation_rules:
- *server_pi1 - *server_pi1
- *server_nixos - *server_nixos
- *workstation_wanaheim - *workstation_wanaheim
- path_regex: modules/nixos/mediacenter/kodi/secrets/[^/]+\.(yaml|json|env|ini|xml)$
key_groups:
- age:
- *admin_odie
- *server_pi0

View File

@ -28,6 +28,7 @@
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIByWNNmKhjVk5VEjk3aSKosOXzglCbiq7q8IQ8mA0qQe odie" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIByWNNmKhjVk5VEjk3aSKosOXzglCbiq7q8IQ8mA0qQe odie"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA1QZO6fF2RLcmjMKdG1eZi0RLw3joa+VBXaKvfmA7Tg odie" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA1QZO6fF2RLcmjMKdG1eZi0RLw3joa+VBXaKvfmA7Tg odie"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINs89u4Kvwlmq67eV+H/n+x9M8gsKDxQU+dCPSEb2vJe odie" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINs89u4Kvwlmq67eV+H/n+x9M8gsKDxQU+dCPSEb2vJe odie"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKoBcSKQSPmPo3Y/zvnaIaIpT6dHX4ZQYUirj4x7a8wB odie@pi0"
]; ];
domain = "odie.home.arpa"; domain = "odie.home.arpa";
neorg.workspaces = genNeorgWorkspaces "${homeDirectory}/Notes" neorgWorkspaces; neorg.workspaces = genNeorgWorkspaces "${homeDirectory}/Notes" neorgWorkspaces;

View File

@ -1,6 +1,6 @@
{pkgs, ...}: { {pkgs, lib, ...}: with lib; {
nixpkgs = { nixpkgs = {
config.allowUnfree = true; config.allowUnfree = true;
}; };
nix.package = pkgs.nix; nix.package = mkForce pkgs.nix;
} }

View File

@ -24,8 +24,6 @@ lib.mkIf config.desktop.awesome.enable {
}; };
}; };
services.gnome-keyring.enable = true;
xsession = { xsession = {
windowManager.awesome = { windowManager.awesome = {
enable = true; enable = true;

View File

@ -14,6 +14,12 @@
require("awful.hotkeys_popup.keys") require("awful.hotkeys_popup.keys")
local vicious = require("vicious") local vicious = require("vicious")
awful.spawn.with_shell(
'if (xrdb -query | grep -q "^awesome\\.started:\\s*true$"); then exit; fi;' ..
'xrdb -merge <<< "awesome.started:true";' ..
'dex --environment Awesome --autostart --search-paths "$${XDG_CONFIG_HOME:-$HOME/.config}/autostart:$${XDG_CONFIG_DIRS:-/etc/xdg}/autostart";'
)
-- {{{ Error handling -- {{{ Error handling
if awesome.startup_errors then if awesome.startup_errors then
naughty.notify({ naughty.notify({

View File

@ -61,6 +61,7 @@
kitty.enable = lib.mkDefault true; kitty.enable = lib.mkDefault true;
}; };
services = { services = {
gnome-keyring.enable = true;
nextcloud-client.enable = lib.mkDefault true; nextcloud-client.enable = lib.mkDefault true;
udiskie = { udiskie = {
enable = lib.mkDefault true; enable = lib.mkDefault true;

View File

@ -19,7 +19,7 @@
package = pkgs.papirus-icon-theme; package = pkgs.papirus-icon-theme;
}; };
theme = { theme = {
name = "catppuccin-mocha-blue-standard+default"; name = "catppuccin-mocha-blue-standard";
package = pkgs.catppuccin-gtk; package = pkgs.catppuccin-gtk;
}; };
}; };

View File

@ -1,8 +1,13 @@
_: { _: {
programs = { programs = {
yazi = { yazi = {
enable = false; enable = true;
enableZshIntegration = true; enableZshIntegration = true;
keymap = {
manager.prepend_keymap = [
{ run = "cd /media/net/svartalbenheim/media_data/"; on = [ "g" "m" ]; desc = "Cd to media_data"; }
];
};
}; };
}; };
} }

View File

@ -40,6 +40,9 @@ in
users = { users = {
groups.${username} = { }; groups.${username} = { };
users = { users = {
root = {
openssh.authorizedKeys.keys = sshKeys;
};
${username} = { ${username} = {
inherit packages extraGroups; inherit packages extraGroups;
name = username; name = username;

View File

@ -20,11 +20,12 @@
upower.enable = lib.mkDefault true; upower.enable = lib.mkDefault true;
gvfs.enable = lib.mkDefault true; gvfs.enable = lib.mkDefault true;
}; };
services.gnome.gnome-keyring.enable = true;
qt = { qt = {
enable = true; enable = true;
platformTheme = "qt5ct"; platformTheme = "qt5ct";
style= "kvantum"; style = "kvantum";
}; };
}; };
} }

View File

@ -0,0 +1,23 @@
{ config, ... }: {
config = {
services = {
sonarr = {
enable = true;
};
radarr = {
enable = true;
};
prowlarr = {
enable = true;
};
};
networking.firewall.allowedTCPPorts = [
];
nixpkgs.config.permittedInsecurePackages = [
"dotnet-sdk-6.0.428"
"aspnetcore-runtime-6.0.36"
];
};
}

View File

@ -1,8 +1,10 @@
_: _:
{ {
imports = [ imports = [
./arr
./kodi ./kodi
#./jellyfin ./jellyfin
./gokosync ./gokosync
./torrent
]; ];
} }

View File

@ -34,6 +34,8 @@ in
services.jellyfin = { services.jellyfin = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
dataDir = "/media/net/svartalbenheim/media_config/data/jellyfin";
cacheDir = "/media/net/svartalbenheim/media_config/cache/jellyfin";
}; };
users.users.jellyfin = { users.users.jellyfin = {
inherit extraGroups; inherit extraGroups;
@ -42,6 +44,41 @@ in
allowedUDPPorts = [ 1900 ]; allowedUDPPorts = [ 1900 ];
allowedTCPPorts = [ 8920 ]; allowedTCPPorts = [ 8920 ];
}; };
security.pki.certificates = [
''
-----BEGIN CERTIFICATE-----
MIIFGzCCAwOgAwIBAgIUNHajISouQmW1yBoODpk3Yd6tXs4wDQYJKoZIhvcNAQEL
BQAwHTEbMBkGA1UEAwwScGkwLm9kaWUuaG9tZS5hcnBhMB4XDTI1MDExMDA3Mjg1
NFoXDTI1MDIwOTA3Mjg1NFowHTEbMBkGA1UEAwwScGkwLm9kaWUuaG9tZS5hcnBh
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzn4txPhKVq/mrHpyICkl
yFw0gTPZ/wUdnvUu8r9IZu5UjNgygyHN1H5x5T+XSDxbGNjtNZLxLMlCIKPbVFhx
JJLdDuAbeVZ/Et69az3RtLgJ93uyL6B8xD4N0GuPNwz0UhqCNcp+NlljmntFaONa
rH0J4A9TnJfbVAcMlXs13v9WNP0qTrcAdLjmYp3Bhfp5Vugtf7J3z4xaLXX4MQzQ
CNXixB1jDmiy3nespCQAIwHIiMqLXI8MP7UiMcKglH4UB2rf1wv67Bgl7DLo+KzZ
fU/eD9EdssZ+4pYbRxf6WMKi8wSw+4QfxF9Flv9jDn+cqt1drgcr2GdvzsAPg0Ab
HTCmgRJv7VyZr0p6o6pYLugXzEiOXEk2ClD+wJmCZQv6yHI47CnGgAxIG5FFVwvc
94lk06nKLfURdeEXaG/36BDKpdZNI58StYwUFl65BXi07MimObCaJ18T8m6JpaSl
u/GhKDH00ryoPxUwDjLNTqt2Fb/wYX+rKhLmjqkkba+FtBjlwr7WtlspFtsPTLvb
mCiQWGN2VWeXk0mBEXMIgN6ECiFlBtc0wZGlALFao++GDME45o+swNr9HJMxKQpr
QlOWRDxHean6Fl8SRCtGM5XmclNeCBuu/lAC9nBI0d10dipG2R+lltwQqu5aXuNP
9M43J6ANP5C6vR/PopyTqC8CAwEAAaNTMFEwHQYDVR0OBBYEFND5BOssGEusttif
GncLz2BlEqUMMB8GA1UdIwQYMBaAFND5BOssGEusttifGncLz2BlEqUMMA8GA1Ud
EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAIRIDQ07MySPXOPyAYNxF1Mz
2+MyM3N8YKIZy6I6bQ9xK8u6FIyBtfxVqd3c9sDa1aam2etmbpe32GT0oQilr3EQ
eBh9MPCSLHtfIT2MCmUFx9y+ygCRsO1hMSnlQpVOKt4HbU+3Bg/iV8eBQlAsYuzK
BWzvmMM95uhiB0l/7QRjse71tG1kOCc8b6/LpQms2kSmJ0x3JEF9FRscACdE11ek
mdqTbY0SEw+LEGg7yECg9O8iG4nRTsAbyb78GuXOGeoeEPAgyAF7Iwn488lSyb4f
zXvU66aSyP0kTWh7JgKK1iU7ecvUkhCFNtswb5CTuADlhA6ravkvaQk6fZAGRAx0
uV8mhKwM3+xktIKEsNvSPCjNSSsj+dN3Vv74Sbu8oeOZ+jT1/jP5yorRIsahpqIM
fGMYgdJ62A20MpDKdObdZsoPIN1KaKk6tuW2TjNO4HmcEDBpyIX7vi3Pkq4/+9VR
4lfJt2xqsL7XAAJCIuY122SZGLn9m9K6E+4irzOjmdow3CPSYuvUBvTMh2DyxBWU
zkVpmGkad4e+xpBelm1RV2jzWg0x7FAkr4DGCws3Pq6G0AhsOv4OpVmmvAxAlQOe
4keAD5gL9bCYywH33Y2ccCB42BNwd6HmiDBsmli++szUoOlFUjQIKQ/6S2H+pw/S
UHQ+hpji7ZS9AH4oeHIG
-----END CERTIFICATE-----
''
];
}; };
} }

View File

@ -53,6 +53,10 @@ in
WLR_LIBINPUT_NO_DEVICES = builtins.toString 1; WLR_LIBINPUT_NO_DEVICES = builtins.toString 1;
}; };
systemd.tmpfiles.rules = [
"d /home/kodi/.kodi/temp 0750 kodi users -"
];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
#kodi-standalone #kodi-standalone
alsa-utils alsa-utils

View File

@ -1,5 +1,5 @@
{ {
"data": "ENC[AES256_GCM,data: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,iv:OFKpx7VTY03kM9Dgf/LFkhweMwJabQ/Rf6IVdIWOAVI=,tag:WMQvgxLCmIbrDCuEyyyUOQ==,type:str]", "data": "ENC[AES256_GCM,data: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,iv:USf8krJr661dSsUoa6lkY1jpaAx1NyNhsqE4CPOEG84=,tag:S3RN8GCzzNFghUCjSC7iRQ==,type:str]",
"sops": { "sops": {
"kms": null, "kms": null,
"gcp_kms": null, "gcp_kms": null,
@ -8,15 +8,15 @@
"age": [ "age": [
{ {
"recipient": "age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7", "recipient": "age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvbGN4YmZ6Q1JZamNIVDd0\nblBJQ3ZyNjBkYWlMdWFZeVB3bDU2NEE2SkdNCkhqc05hbWF5Y0RVS3Jld2pPeGFw\nZ2tXbm9rekpyWDU5d2xRL1RveDBCNTQKLS0tIEZBb3FxRGZuTlZOSE1TeWtsN2pI\nOFUwUEVKTklRSXY3d09zVEs2LzdvYmMKCvbPXIPfwz9XQGG6LqjgXQF3FEwpIrQQ\nxHcCVCFtTnuePDcBpiUa0LNO7pbykTLM8QDk720lXh5YeKcJYN1+wQ==\n-----END AGE ENCRYPTED FILE-----\n" "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBobUdZR084dUhqN3BSSFJH\nWnh2MEZSRHpaZVlpdVlHcnhBeUVxMnpOTUJNCmVMOHpoVmVwUFk4QVg4MXRyZlBo\nTzl1TlpWQ0RaY3o3UFplWmp4TTZEOFEKLS0tIDVVUFkzbUtDVnFlQlZ4SmVHNm5W\nMHJaNUxMUzFtV0VNWjhqdmlJMmZQc3cKaUCJoL1eYr3NFCWpZJrvlkB/4Sap/PWD\nvGj2KA4uq8yQH6IjbVKqivzJO4kv4e3hE1O1sIpv7TZbKRaiQLyi5w==\n-----END AGE ENCRYPTED FILE-----\n"
}, },
{ {
"recipient": "age1v522tvf0gclgjnnu8q0mekl0rcmpdk7d7lwravwazstfn9zqhecsngvhpf", "recipient": "age19wm2y96tr02uz20yuqskvhwltygf47feenf7zuxqhegtqfu4le8q9adqdd",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0cGZFU3FrZTVsNFE2ZGVn\nKzRabVo4Y2tLWEZrbW1aY1oydkZWbWFxV1FFClE5dkR2N1RFaWRvYlNwaUh0VGNx\nakVnbW84T3pGc1lGNzlLNmRMdHNzN2sKLS0tIEhZbENEUTdLQ0laL1B5Tmd3UW5h\nTWtlZFp2bXFHQ0tYK1pSV2xPSHhJeGMKV2WF/21OkoIUBSViIzX5pXZX+8OIwkuP\nb/4owrDej1otYCczA7upnO8d7r9HgdzV0PohZ9ghY+L7xMDtE2Pb0A==\n-----END AGE ENCRYPTED FILE-----\n" "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBMFhranA3MVdVL0VvWi9B\nVDZUS3BjSnp6UWg2a2lWZndTSFRyTjhncnhVClV2aUNlZTdWVFFHa1VqTmdKL1Bu\nanM1SXAvRUdDMnlhMDgwMG42N2JCQUkKLS0tIHJoOUIyVlBKV3JPK1h1UUpSQUNp\nZVNETm5oUWtFZ1pTcld4TVY3cEhtV0kK3PiUq7FUOYnB+m/Hd5pmNZx2V8pxEhHE\nlslxOYOW+McZlAMlviZslYl0syDlU5ghcMiQ/vuYbMeHijlFJhxN+g==\n-----END AGE ENCRYPTED FILE-----\n"
} }
], ],
"lastmodified": "2025-01-06T09:21:00Z", "lastmodified": "2025-01-10T00:22:26Z",
"mac": "ENC[AES256_GCM,data:fQZoXecKTIqGjah5sxkylLRE4xgj7wKKBUR4Vk5lf2PvSFyxlC1WUinjPl8ltqm/NTiHY+XeL0mkD0ODlo8LN/QOjz++coWeNHyx5Y8+pSjb6hC/RA3GVfmSeMi6oTJryMbJeZ0fpurXBT3CFlCX2iYdfFOymJcfi92mNYupENQ=,iv:431aHv9TrhPPa7PAEAcgZcyLkM4YMWw+QM8mYr1T4mo=,tag:OUbGZDEfxU9rEGD33L70Jg==,type:str]", "mac": "ENC[AES256_GCM,data:1RWXwQJAonV3/OzZVIshUIDjER3lbv7uolTg+2jASpbpNGfSfVC/V40DkLu6AFXK2yDSZbsd1x4PmXL1R6uOPvfYDqoYposCKgbOtVFoY+X4jWttoA62rbwLo6WSiMC3h2tbsc3UjDBIU4S9Kt/WntPKc7P5dh2fYDo3m3lYU70=,iv:9dCC9TGffKrR7BlfWP8idb8AaEb/OMeL4xrsOTvkWQA=,tag:XPoGwVi33x8PLaYqyYdYdA==,type:str]",
"pgp": null, "pgp": null,
"unencrypted_suffix": "_unencrypted", "unencrypted_suffix": "_unencrypted",
"version": "3.9.1" "version": "3.9.1"

View File

@ -8,11 +8,11 @@
"age": [ "age": [
{ {
"recipient": "age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7", "recipient": "age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBETWFndzB6RjJvbTVYZTdp\nd2VDUUJkNDBDR3R4Q1hxZGhsdk9yU1NFd2pzCmUxUU45cnEzVW9XK3dhcTA0NGxk\nQUozMk5jb0xDLzJxcFFPclp4VFBlYUkKLS0tIE83a1MwL3psL3I5U0wzRHJUcGxT\nVnNkWUJpK293TTJUeDk4aEtsekg4a0UKR+Pqu+ia+Kg/bHZP6l+bfRZQ1/9O92kZ\nhrfePv7Guxd5t91x+GyKOaGa6KituX7slskcQNc7JbKxhqXgZ1sXUA==\n-----END AGE ENCRYPTED FILE-----\n" "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArOGMraTZNb1h5QkJpQnFT\nRDArOXZYSmduUjZJQi9sSVdabmlmTUtaOWlZCi9EY3BheWtRbnk5b0dCMGZ3U0ly\neWhuWUNOL3Z4dkoyQ3E5WVNucitZaDQKLS0tIEJOY1ZWdDExWTBsQ2pDaWhaZFRw\nVEVhNm9ocVBPOXJQY3hxMGpJbFJ6L3cKP1Z+nMtXZgvpfG7u2dht/7yc+oquUNdl\nzSFsxhLNFuvt1EvZ4ybccSoniR1ziu5dPVpgmPO4sA84U8rc1L4Qmw==\n-----END AGE ENCRYPTED FILE-----\n"
}, },
{ {
"recipient": "age1v522tvf0gclgjnnu8q0mekl0rcmpdk7d7lwravwazstfn9zqhecsngvhpf", "recipient": "age19wm2y96tr02uz20yuqskvhwltygf47feenf7zuxqhegtqfu4le8q9adqdd",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZTHU4SFIxamhRNkZVWmtC\ndXl0czJkMFVNZEU3Q3ZScitwNW1Qbm9RZ2xJClk0N0E1TEpxVzQyOEtuTUxZR3lF\nSmQxM1VRam9Ici9vaXBWTGdYWjAvYTgKLS0tIEFsUS9UcmZFWWY2S05BTVVZdHcr\neHpuL3dzTEh3dEQxb1B1SDFFSDBhUkUKKgF3hmHbqVZDiCdkvFf8cCI00w0AFWHG\nSMtsQ3i7IhHMLK9RAUM2hlrl4uagF0Qh5WKTX4QlsHFPQur4Qe2qpw==\n-----END AGE ENCRYPTED FILE-----\n" "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXY2Z3V2FuNmxRUGkreXRx\nVFY3eDRWOHlVb2h3eEIwNDlQV2hYLy9QREVJClhRTHJNUFNMTnhFUUxtME8xamZW\nVFdQSVpWZ1VFVlAxNmt6WFVTL1Jsd00KLS0tIFlOeEpmenc0dXQwTVJMZzFvZXVm\nbzVOWi9XMStJalR6b2o1d21tWERLTmsK4/XLQpk8wr3DX/D5g6IQfQdDtORBJBBx\nFdXkY7SjyebcUtZUY+qfAI3PAdbIlp9dCad05gTadQ0SDqQ4J+Xbwg==\n-----END AGE ENCRYPTED FILE-----\n"
} }
], ],
"lastmodified": "2025-01-05T05:39:59Z", "lastmodified": "2025-01-05T05:39:59Z",

View File

@ -8,27 +8,27 @@
"age": [ "age": [
{ {
"recipient": "age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7", "recipient": "age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmZmoxZmFSb045K29wdE9P\nb2MrMENUUkkrdG1ReS93Q2tpa2pOeldETjE0CktuWHBtanVQY2VtN2NWWlNhdjJw\neDJqVGZBZlN2ZDRWNHY2QmNTbkMzdWMKLS0tIG5XQkZaTzljbXgzb3hkZUREdHVj\ncXA3RzZGT1M0OHBrK0RXNzlPeEJ5b0kKBMVfIOf87UL2iAMz3c2r4mROPBMncr5O\nSVJPGbr79iEAxvLtCJL8jDA0kUt4/L+/hGXCBgtX+VY7GD05cIeesA==\n-----END AGE ENCRYPTED FILE-----\n" "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPbkFCVzhxTUFEUVRjelFy\nU01XV1JIS2s5Nnp2dFdEQVV5SUppelZiQVJ3ClNvNjNsQ1ZOV2w3K05kbEZnZU9l\nYjluWGFVay9qc2JSOWxMb21keCtjTHcKLS0tIGowMGk3b2hrZEdrQW1Mdmg4OU1R\nS25sRC9IS2diZDlQcXU3b2VzTzV2dW8KvPL8PE2oUJu+bU8BdbHt50H+Vijva1AG\nB84+9RgcgqLBpiv0QelQP6/zZjOvoZXMr8lmyrgD6ZZ36zGAjCAWzA==\n-----END AGE ENCRYPTED FILE-----\n"
}, },
{ {
"recipient": "age1nnx85asl5nmxmurr3g8mazcsggvtazt0hpauw42l7v4k3de74s6s649w0k", "recipient": "age1nnx85asl5nmxmurr3g8mazcsggvtazt0hpauw42l7v4k3de74s6s649w0k",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2Q3k1bW1qd3RlcGlhQkhI\nYzBLd09ZbG9yOVpGcFJ0dWs0a2p2dGEwYUFjCklpT21aTXhsclBUMUZybnI2TzF2\nYk9zTDVJQzNWSnZSU3ZCZnZPTnd3V1UKLS0tIDNuUTJzYWRwRnluR1Z0aTJRSE80\nWldmQnE5RTlkbVdidk1FMjVvVStvekUKUkY5iCm6PvY5BH696cJC8KSia2MyxM1C\nQrv79R4yZHC6pmn9/v513aiprX2GCbPyDUSMM2pOGeJZgvgfnNmlUQ==\n-----END AGE ENCRYPTED FILE-----\n" "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJdTROeUd6Ym9JTlVRQlFY\nV3U5bXNxMlJhb2l5bFpNNnRzVVZMUFpkMDNBClAwNXIyTjF6eXlJc3ltT3FTMjEz\nRzNhYjFtZGJNR283eEJJQ2tuMVBMNWMKLS0tIFV4dzh3cW1vYU0rYk1BTDFuWWll\nVm5sRVFZVjJzaU5yOG02U1NBWjNGSVkKTTGhAFS+gDX9pULHLUvW2RKycfVoK0Pj\nku72ftVZsfMrd6mQkCQKXKQlAtopL/lF1VPYF+F6wgquK8W5RyU/zQ==\n-----END AGE ENCRYPTED FILE-----\n"
}, },
{ {
"recipient": "age1v522tvf0gclgjnnu8q0mekl0rcmpdk7d7lwravwazstfn9zqhecsngvhpf", "recipient": "age19wm2y96tr02uz20yuqskvhwltygf47feenf7zuxqhegtqfu4le8q9adqdd",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4Q2ZsdVk4V3R2TVBadmZp\nOFN2aXg2N0owOTQxZG05RExrZ052MThDc2xZCjFhK2lmdGVibi9uMHE5dytUbEdW\nV3FndWRLbmJCZFVMRzZXMDZqU2kwRWMKLS0tIDcwTVo5bWxQcTV2Z0pQcE83Y2pD\naWJMMHFJWmtId3hqWTlUUXdQVk13U0UKlYm7hcHCu3Wmcns30u+8j6cpeK80VpR4\neocylEOaWoNNUZjU7ojWWQ6thCmJOt41o3YlX23kVDgeN4sc4FMKZw==\n-----END AGE ENCRYPTED FILE-----\n" "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIVnRCajZmZzBLaHpxRldO\nai9MdFRxaFIzRnZOVmVkYXR1ZmZib1RkNzJjCmp2RFhpcDFxcEdLWVNUM3pqL0tQ\ndVd5RnJmU1ZhUlh1Y2dvMWV2cXoybHMKLS0tIDBWajM5VWVsZzYzMThqZEZYMnlF\nQklXZldEbWxuNGl2a21CSnVvSTNFbm8KMR+7lah1KaBnt4nitDel5Tiyj9qy1pRp\nm3rkYXzFsy9frZyjG36flH7BLUwMaFvwE2bdBpmJgqKCSZlEMoxIiw==\n-----END AGE ENCRYPTED FILE-----\n"
}, },
{ {
"recipient": "age16vz5m0stsh39ajn3zhkzj7x7zfgexlx3zzk2k9vrrrsn78tyzd2qmjkt2a", "recipient": "age16vz5m0stsh39ajn3zhkzj7x7zfgexlx3zzk2k9vrrrsn78tyzd2qmjkt2a",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWQ1hESkgwSjQzaXZCWUU1\nczR0dGUvamt1aEVoaVRUS3dmaTBOL0E1RUV3CkprU3ZGcWdjSGphQ3N6MUk3cTRx\nZVA4bkN3cVErYkFxU2ZzTy9uT1BndUUKLS0tIG1aRk51UjRleWU4Ync5aGhhc1Zt\nR0hkczUydW1HMjJRZ3MrWFZEbDlsTm8Kn2HibVG1t+Z4KhJv9S8wEJqCAhLsFS6v\nSrsYbE4ignDfXf2gN05wgYnqpSXeQHiJaBhLIKhBt+toEgDAXA6d6w==\n-----END AGE ENCRYPTED FILE-----\n" "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmUkN5cnhyT2lkNS94V1h6\ndGRkbTd6L1Y3VEc0VU50cVhYWUVUWjNNSkZ3CndsUXR5SnJ3VnpucWNEQTEwekZC\nZTVHZ04wZ01VNTJmMWM5MVRoWXIwa3MKLS0tIGp5TEhnTjMyV2haclUrdW43MktM\nNzFlekg3eFc3SkkwaHBmWHVKUERtaWMK5FwD0OE4Zo3qrgMGDkWZYO7ZIGCdRGcx\nOj5kkW/wHS/+UJtmnJVYJZYpodOCSsRXhXNvLOA3YkvqSgFc9mCa4A==\n-----END AGE ENCRYPTED FILE-----\n"
}, },
{ {
"recipient": "age1j8wprrs23m46h7xl26su3k6uztnvza5k89c9uk9rwwzefv8a4yvqpscxun", "recipient": "age1j8wprrs23m46h7xl26su3k6uztnvza5k89c9uk9rwwzefv8a4yvqpscxun",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFSmxwKzU2WVFHL2xEODNL\ndWt5bVdRT2JUa1U5a3JuREc0TEF0UkdBNnlrCkdSVTVvTjBaalZhY3NHQzRhZElX\ncnJlaEVlbTZleCtIeEZxOXdldWEreWcKLS0tIGc4ajBDcGtVODJIN25qSTFUTVN4\nVzltaVN4REo2c05KSnNEZWU4cFViclEKVtUtFv8817DuI/cQRleYVtqTXuqdJzjW\nE2nRwHjRPOCIGlKinUfmdG3t5YVz0iy0YHGkpsvo+elMC/pijpcryQ==\n-----END AGE ENCRYPTED FILE-----\n" "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvcjNldG5QWUhlU08zOGVo\nT2kvQnNMam1iSmtPVUtDamVzUFJmb25neEJZCmhWWEwydUhFbk9LRXEwQjI0LzRM\nWkNiaVR0WldyS0NVSVh2ckI2RW1nM0UKLS0tIG5aYVZaN1ZVbzczT3Y1dDR0UWFN\nQlNYdE1hZGczTk5IamhpMzhlb2FVTEEKtS4EyNv4nhzIobMf1mqZUuUDWulk8vK1\n4kEHwS5tfV3ZbDF15fRoSnnk9nO8SANntB5ftfG+d3XgP2QWBTS5tg==\n-----END AGE ENCRYPTED FILE-----\n"
}, },
{ {
"recipient": "age1jerjsfhnenzzqtnuxez8g79kc0xxulxyhu2evp9p6gjyswu2syqskgt62v", "recipient": "age1jerjsfhnenzzqtnuxez8g79kc0xxulxyhu2evp9p6gjyswu2syqskgt62v",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRUjdnbXJsWXQwb0hZTkYw\nRVYvZU5HbXZUMnY2WHNhRmFnTzQzaGZERlJFCmdIdzBocmVvSUVWUmJQK0ErNURI\nSjVWN2c3dmtwZWl3V25tV1VNMEtmZlkKLS0tIFVJR0g4NUZzcTJYUWN2QlI0WC9D\na3ZPdTRRekRlRDNFMjFPMnI4eG01TTgK7g8H2Quq1DzJYq8Im0j0bwyW5ajg0No8\njfNR05ULMPGbr4rctJ+lNTYeCWpl44eTpxFRWTe+wDSQ2XlCkp5jrA==\n-----END AGE ENCRYPTED FILE-----\n" "enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBWGhoUHJaWWtPZTZlY2pw\nZHg2S1ZlaU4wdVRKajVJL3VOblFXMFlCdHh3ClRJeWVYNUhVYWl6QXdpNlRBb2sz\nc2VrSkZSSGxtZTJ2bDNrZTdCOFUzcDQKLS0tIFdmUk9Ia3ptVkZlc0IzZ1Mrc2lN\nSUZMZXdkVXVobWhFaU1XWHNha0w5UmMK/86m63U4w4+/EM6u5eWhI71iFEEosdUS\nwGVSi1WXgx6YWF22TK9TuhaH5YfyUjOHH2ZtfT57cDk739sMdYnqhw==\n-----END AGE ENCRYPTED FILE-----\n"
} }
], ],
"lastmodified": "2023-11-20T12:29:43Z", "lastmodified": "2023-11-20T12:29:43Z",

View File

@ -0,0 +1,6 @@
{
services.deluge = {
enable = true;
web.enable = true;
};
}

View File

@ -8,6 +8,7 @@
imports = [ imports = [
#inputs.nixos-hardware.nixosModules.raspberry-pi-4 #inputs.nixos-hardware.nixosModules.raspberry-pi-4
outputs.nixosModules.base outputs.nixosModules.base
outputs.nixosModules.home-manager
outputs.nixosModules.raspberry-pi outputs.nixosModules.raspberry-pi
./hardware-configuration.nix ./hardware-configuration.nix
]; ];

View File

@ -14,6 +14,11 @@ let
"pi0.odie.home.arpa" "pi0.odie.home.arpa"
"jellyfin.odie.home.arpa" "jellyfin.odie.home.arpa"
"gokosync.odie.home.arpa" "gokosync.odie.home.arpa"
"radarr.odie.home.arpa"
"sonarr.odie.home.arpa"
"prowlarr.odie.home.arpa"
#"transmission.odie.home.arpa"
"deluge.odie.home.arpa"
]; ];
}; };
in in
@ -26,33 +31,43 @@ in
outputs.nixosModules.sops outputs.nixosModules.sops
outputs.nixosModules.raspberry-pi outputs.nixosModules.raspberry-pi
./hardware-configuration.nix ./hardware-configuration.nix
] ]
++ map (name: (import ../../../lib/genSslCert.nix { ++ map
inherit name; (name: (import ../../../lib/genSslCert.nix {
inherit (config.services.haproxy) user; inherit name;
dataDir = haproxy.certDir; inherit (config.services.haproxy) user;
domain = name; dataDir = haproxy.certDir;
wantedBy = [ "haproxy.service" ]; domain = name;
Before = [ "haproxy.service" ]; wantedBy = [ "haproxy.service" ];
})) haproxy.domains Before = [ "haproxy.service" ];
; }))
haproxy.domains
;
networking = { networking = {
inherit (vars) hostName domain; inherit (vars) hostName domain;
}; };
fileSystems = { fileSystems = {
"/media/net/hel_Public" = { "/media/net/hel/USB" = {
device = "hel.odie.home.arpa:/nfs/Public";
fsType = "nfs";
};
"/media/net/hel_USB" = {
device = "hel.odie.home.arpa:/nfs/USB_Video"; device = "hel.odie.home.arpa:/nfs/USB_Video";
fsType = "nfs"; fsType = "nfs";
options = [ "_netdev" ];
}; };
"/media/net/svartalbenheim_Video" = { "/media/net/hel/media_data" = {
device = "svartalbenheim.odie.home.arpa:/volume1/media/Video"; device = "hel.odie.home.arpa:/nfs/media_data";
fsType = "nfs"; fsType = "nfs";
options = [ "_netdev" ];
};
"/media/net/svartalbenheim/media_data" = {
device = "svartalbenheim.odie.home.arpa:/volume1/media_data";
fsType = "nfs";
options = [ "_netdev" ];
};
"/media/net/svartalbenheim/media_config" = {
device = "svartalbenheim.odie.home.arpa:/volume1/media_config";
fsType = "nfs";
options = [ "_netdev" ];
}; };
}; };
@ -73,10 +88,17 @@ in
programs.zsh.enable = true; programs.zsh.enable = true;
networking.firewall.allowedTCPPorts = [ 80 443 ]; networking.firewall.allowedTCPPorts = [ 80 443 5000 8404 ];
services = { services = {
gokosync.enable = true; nix-serve = {
enable = true;
secretKeyFile = "/var/cache-priv-key.pem";
};
gokosync = {
enable = true;
port = 8090;
};
haproxy = { haproxy = {
enable = true; enable = true;
config = config =
@ -93,6 +115,14 @@ in
timeout client 50000ms timeout client 50000ms
timeout server 50000ms timeout server 50000ms
frontend stats
mode http
bind *:8404
stats enable
stats uri /
stats refresh 10s
stats admin if TRUE
frontend http frontend http
bind *:80 bind *:80
bind *:443 ssl ${certs} default-crt ${haproxy.certDir}/pi0.odie.home.arpa.pem bind *:443 ssl ${certs} default-crt ${haproxy.certDir}/pi0.odie.home.arpa.pem
@ -101,6 +131,11 @@ in
use_backend be_jellyfin if { ssl_fc_sni jellyfin.odie.home.arpa } use_backend be_jellyfin if { ssl_fc_sni jellyfin.odie.home.arpa }
use_backend be_gokosync if { ssl_fc_sni gokosync.odie.home.arpa } use_backend be_gokosync if { ssl_fc_sni gokosync.odie.home.arpa }
use_backend be_radarr if { ssl_fc_sni radarr.odie.home.arpa }
use_backend be_sonarr if { ssl_fc_sni sonarr.odie.home.arpa }
use_backend be_prowlarr if { ssl_fc_sni prowlarr.odie.home.arpa }
use_backend be_transmission if { ssl_fc_sni transmission.odie.home.arpa }
use_backend be_deluge if { ssl_fc_sni deluge.odie.home.arpa }
default_backend be_null default_backend be_null
@ -112,11 +147,25 @@ in
option forwardfor option forwardfor
http-check send meth GET uri /health http-check send meth GET uri /health
http-check expect string Healthy http-check expect string Healthy
server server1 127.0.0.1:8920 maxconn 32 ssl verify none
server server2 127.0.0.1:8096 maxconn 32 server server2 127.0.0.1:8096 maxconn 32
backend be_gokosync backend be_gokosync
server server1 ${config.services.gokosync.addr}:${builtins.toString config.services.gokosync.port} maxconn 32 server server1 ${config.services.gokosync.addr}:${builtins.toString config.services.gokosync.port} maxconn 32
backend be_radarr
server server1 127.0.0.1:7878 maxconn 32
backend be_sonarr
server server1 127.0.0.1:8989 maxconn 32
backend be_prowlarr
server server1 127.0.0.1:9696 maxconn 32
backend be_transmission
server server1 127.0.0.1:9091 maxconn 32
backend be_deluge
server server1 127.0.0.1:${builtins.toString config.services.deluge.web.port} maxconn 32
''; '';
}; };
udev.extraRules = '' udev.extraRules = ''
@ -136,4 +185,6 @@ in
}) })
]; ];
}; };
} }

View File

@ -22,6 +22,29 @@
]; ];
}; };
fileSystems = {
"/media/net/hel/USB" = {
device = "hel.odie.home.arpa:/nfs/USB_Video";
fsType = "nfs";
options = [ "_netdev" ];
};
"/media/net/hel/media_data" = {
device = "hel.odie.home.arpa:/nfs/media_data";
fsType = "nfs";
options = [ "_netdev" ];
};
"/media/net/svartalbenheim/media_data" = {
device = "svartalbenheim.odie.home.arpa:/volume1/media_data";
fsType = "nfs";
options = [ "_netdev" ];
};
"/media/net/svartalbenheim/media_config" = {
device = "svartalbenheim.odie.home.arpa:/volume1/media_config";
fsType = "nfs";
options = [ "_netdev" ];
};
};
boot.loader.systemd-boot.enable = false; boot.loader.systemd-boot.enable = false;
programs.zsh.enable = true; programs.zsh.enable = true;

View File

@ -8,56 +8,56 @@ sops:
- recipient: age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7 - recipient: age1ac27ksfvxydn20g29s09j66mag45vee3cgk5namsnup5e4l9v3sq7kypg7
enc: | enc: |
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIOFVYT2doR05kOC9QV1JX YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxK3Z5OWtSQVArbGF2T3BF
T0pSaEV2NVcyOElhcXE3V1d1UGIva0RxbFJNClFKTWpqSUt5L01KNnpZYnMrL0h3 Zi92WExQUlJkUC9aMDRxTVBiVVFCSTRucUZRCnREYUxWYlFabEM3WjZJTWRWbWhj
OE9OU2VVMWo3Z0p5cXlhQm5FUG5Cem8KLS0tIElDOGRvcXVvY1lsMmgrTTNKSGVi UTVjeWg4UCs0b1ZIS1dpUmF3VFcrajAKLS0tIHVRdEdLUlhtc2tFdndZMFBnelF6
RlJCSlE2NXZSc21qV1paWVVNK1BGVTQKq6164b3zZqKSff6weDeG9Lyul81vXSWU amY3OHhZaGR0Y01MSXNlQVJ3dlR5N0EK65L3gTGo0sCohelmC9JJyJGWgfIGb07x
BNPdVR98/moEz8QfiiUCs3UQTRUOY+/muWnpn5wTD/c0PYlfFtrNsQ== z/eatbfE7vuXr/muGdOkufFMaF5WimOYBaPQoUvZFz5IkxlgHfYFHQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
- recipient: age1nnx85asl5nmxmurr3g8mazcsggvtazt0hpauw42l7v4k3de74s6s649w0k - recipient: age1nnx85asl5nmxmurr3g8mazcsggvtazt0hpauw42l7v4k3de74s6s649w0k
enc: | enc: |
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaNnJjbysxWmdBb0F0MExj YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaRW1UT09xOUhwWFRLYXVp
cHBuMkE4bENNYUtYNWxPZ1JEVTV0NzdUdGpJCkUyd2xHVWprWXZKS2xJM3pZZFhF RU12aEJ5b0VXVHhZWmNxTDJKOEVPUncxSzAwCnNzVFNDcTdhUllxU0FkQ1pTZXVD
N0ZZdUI2ZndRa3FLOWZRM3BnR3Y3M0kKLS0tIGZWYTc1YkZoNnNpSDBla3pSaWR5 SjFXa3UxT2FqWFlwNFdyZTdhdVNKc2MKLS0tIEFBMlA4RFBVdksvOGhoSno0NXZW
TStTQk85STFENlVXM1RMb2c5Vjd0djAKBKswTBhTtt5K8eVqmUl0m8lG7JF++qpU TFJGVnJBNEJSSWVFVWRGRWU4eWJBME0KVB+ojnKVYWUbUnvoxv9uzRk1edc7EE3b
WQm22QEVZ9SW/ZI6DUFN2L4Ga1cGDXPiXxZuTSjp9WElDiLg33XHEw== B5CSpfCt0kAQq3YRLzdjQ/v0pia9FgyUrzPL+iP92CKeqDma0Puzvg==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
- recipient: age1v522tvf0gclgjnnu8q0mekl0rcmpdk7d7lwravwazstfn9zqhecsngvhpf - recipient: age19wm2y96tr02uz20yuqskvhwltygf47feenf7zuxqhegtqfu4le8q9adqdd
enc: | enc: |
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6VEdLRnhWTnY2NCsrSlNN YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYbEwrY1RzZXdnNzRkZVJO
QmRoY25TYnJzbnpIT2dIRi94V1dZV3JQZDM4CnlsTWlaQXFaaDFSSWFweml5NjZv bmxCL3hYcXlDdmpuU1lyMWdSMXJ1N3Uva1NBCk5kWHAwWWtmQjdwd0JqTjNpNHdC
K3crc1VXakREMTlwSzEwWHo1di9LcmMKLS0tIEtzVk1STSthRVVGUGZhSnFzUmZD dGpyQkhISnV4NUsvNjQxcFVYaTR5RWcKLS0tIG1YMjdQUVg0STMvQjNZQ0pLR3JC
M2lYbDRpWk9BaEYwcng1d2JDQ3JyQWcKkQB8k55P8xRMIix8MeI1YCOD+Uq2/z4W aElVaThGK2dvZmRQOXN2d2I3MEdDKzQKGGS/bueaYuNFLzik+GIX6UG3/Pqfe9nz
Zek12JWzIFS1NMLduuO997AZk8bwF3yRqSpkYSuhx2dvxWOgusKprQ== NVIaQiQ8aiJB3ypfTuUuysfQiRrqZhqHrVEjryT90LLgjJISildRiw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
- recipient: age16vz5m0stsh39ajn3zhkzj7x7zfgexlx3zzk2k9vrrrsn78tyzd2qmjkt2a - recipient: age16vz5m0stsh39ajn3zhkzj7x7zfgexlx3zzk2k9vrrrsn78tyzd2qmjkt2a
enc: | enc: |
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJa0FZU2FnUUQvQzZicklB YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAycjZYZzJxMWQ4bVZaTWg2
L25Gb0ZsdVlNNzV3Yld4Rzk3SG9DaUlQYWxnCjgvd2xqbEpiNjdRN1BwRk9vTllx ME9Pb1UrcjBMWVpZMzYrVWQ3RHdxS3NPNFhNCjd0enVzK2FvTytaYXB1ZTdwK1Nz
N1gyREMvbHFKSEh6Vi95VXYzZWNENk0KLS0tIDQzU3A0eEZtZTV0RmNVaEVXbSt6 KzBmZ2ZpeEVvWFFXekVwSGtmcEQrZTAKLS0tIDJBK0VJNnJBdWNGWE9nc3lkWFVQ
YVNxNzBRRUpxYkVhZWFUTlBQTmUvMGMKpc9rIUi08CFS3mAI6Iz9QgiEMj0lF/dK QVUzS3VIOUZXdHlkcitFMGpaSFpMVkkKKStepdMmqDifhD0BNiMOKl5qoirtXLNb
tM2zk2A9hJSt/ZQ59XfrQitZc5IcW52T2lq5pMM+oUbASNREdrycbg== 5p9f6TOblHPioubFVAuGDc1vhZBg4ivCbVd0sDB2yN0pJkI/5lWGOQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
- recipient: age1j8wprrs23m46h7xl26su3k6uztnvza5k89c9uk9rwwzefv8a4yvqpscxun - recipient: age1j8wprrs23m46h7xl26su3k6uztnvza5k89c9uk9rwwzefv8a4yvqpscxun
enc: | enc: |
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUNlRhYWd6SzkzTVRIUUNG YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqU2JxaklwcCtwTlh6ZlFC
VThFSEdSdGZhOVFtNWRLK2NIQ1V3b2xiN1VRClpqUGw1b09JSU1zVzIrRlVJd0lV aDBieDF1NnVJRStKbno5S1NCekptNHhwWEFnCnRPM09EVWhsMkJxak5qK3RlYWlT
R2xSK2k1K21sWkNRbk9TV2IvNm95TTgKLS0tIDZHNFhyYkx4c0FTb1I2RmVQQ2Ji VDV2OFhsN2dSM3MwNEI4NktYNkJTdXMKLS0tIDVVMFI3S3d1Z2JMNzVwK280Yi8v
djhxdm5iV3Bwd2tsdnZUMmtFWXFLN3MKTm8Y5MT5vNBZ5Y0eSWcscTn/I4nAHnKy RzFyMUdPM0l5QzFiOFdDVUZ4bmljVmcKWWM1wsSMAfPo0bgBX0Eckn4p43q8IWBu
Q0CK4m+HHPEikaUnd+v/bxqPwAwjZ2+R7HrR3wuEPdl0WEIbfQeRzw== woLS7RN995B/gU7EibKI2wZbLnVdfkl2tSubBX/aaNB+UoErFH1EUg==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
- recipient: age1jerjsfhnenzzqtnuxez8g79kc0xxulxyhu2evp9p6gjyswu2syqskgt62v - recipient: age1jerjsfhnenzzqtnuxez8g79kc0xxulxyhu2evp9p6gjyswu2syqskgt62v
enc: | enc: |
-----BEGIN AGE ENCRYPTED FILE----- -----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRRnZyWGE4ZHk5dER3SHZK YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsQTcyNEFpSy8weTYwZU01
bDlXb00zZmlCaC8rODcyY3laZ3Z4OStMQ0dnCk5WcUFzcDVsQmFMS2p0QTEySVhn aElkZlpBdlRiRjdYRUZ1WnJBaDlMaGU0SjI0ClUya29CSXdvMUp4L1pKVlc2TWlK
QlF6Nnd3anNDVG1DcGUyVGRoaGdwaXMKLS0tIGtMck1CdmNCT29PMmNNd1dyekM0 RXV0eFgzaFc1TDBZQUt2UHBXVHJUa1UKLS0tIGpaRmZreCtydlljdUh0UzM0L3F0
bnc0d2JDV1ZHOWM4Q2FPUit4OWgzOW8KcVjHNOD1y9NRrye3uhe7L6yWc54DtMOj RmkrdkQybTV1N3BIOHk3WTBTYmVrUXMKOqE8tEJY0Lj5VeW/JoW0Vpc5WQHpIwfs
lhI75HtNIDsgxLUrtBvUHA/sNBdlIE8tHpXnwnuj7qQRiu6d3leK3A== Od7LzsUJJwpWoERwkKHgQLSuLCUcNlucVdTVbB+n/JPJx/wx5J/VkQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-01-05T22:35:45Z" lastmodified: "2025-01-05T22:35:45Z"
mac: ENC[AES256_GCM,data:Aayg2XiuB3+oiS/8wesJQnn8WonNG19loLmSToSR/5B2ha2CEaS9xBJZD0OOett6mumtn70aMK75quWCYTaQzf1vTaIBt1eDVHmBN3dWaTk/an5DtYmJ5oZKUCNiIOGo8jwDbd+e+nZYQXwI1pCn8BbyopsF+AhqOpl7WX8WzyY=,iv:fvJqyWT8M+DFCtCaqVO95HTEDzaOVrg0gwNpp3NOpb0=,tag:dnYnRdRSaaMvEDCNQ+sLUQ==,type:str] mac: ENC[AES256_GCM,data:Aayg2XiuB3+oiS/8wesJQnn8WonNG19loLmSToSR/5B2ha2CEaS9xBJZD0OOett6mumtn70aMK75quWCYTaQzf1vTaIBt1eDVHmBN3dWaTk/an5DtYmJ5oZKUCNiIOGo8jwDbd+e+nZYQXwI1pCn8BbyopsF+AhqOpl7WX8WzyY=,iv:fvJqyWT8M+DFCtCaqVO95HTEDzaOVrg0gwNpp3NOpb0=,tag:dnYnRdRSaaMvEDCNQ+sLUQ==,type:str]