+3
-3
flake.lock
+3
-3
flake.lock
···
···
+6
-1
homes/ayla/default.nix
+6
-1
homes/ayla/default.nix
······
······
+5
hosts/nanpi/default.nix
+5
hosts/nanpi/default.nix
+6
hosts/nanpi/glance.nix
+6
hosts/nanpi/glance.nix
···check-url = "http://${config.mySnippets.tailnet.networkMap.miniflux.hostName}:${toString config.mySnippets.tailnet.networkMap.miniflux.port}/";+check-url = "http://${config.mySnippets.tailnet.networkMap.audiobookshelf.hostName}:${toString config.mySnippets.tailnet.networkMap.audiobookshelf.port}/";
+1
hosts/nanpi/secrets.nix
+1
hosts/nanpi/secrets.nix
···
···
+70
-148
hosts/nanpi/services.nix
+70
-148
hosts/nanpi/services.nix
······-"${config.mySnippets.aylac-top.networkMap.pds.vHost}" = "http://${config.mySnippets.aylac-top.networkMap.pds.hostName}:${toString config.mySnippets.aylac-top.networkMap.pds.port}";-"${config.mySnippets.aylac-top.networkMap.vaultwarden.vHost}" = "http://${config.mySnippets.aylac-top.networkMap.vaultwarden.hostName}:${toString config.mySnippets.aylac-top.networkMap.vaultwarden.port}";-"${config.mySnippets.aylac-top.networkMap.forgejo.vHost}" = "http://${config.mySnippets.aylac-top.networkMap.forgejo.hostName}:${toString config.mySnippets.aylac-top.networkMap.forgejo.port}";-"${config.mySnippets.aylac-top.networkMap.ntfy.vHost}" = "http://${config.mySnippets.aylac-top.networkMap.ntfy.hostName}:${toString config.mySnippets.aylac-top.networkMap.ntfy.port}";-"${config.mySnippets.aylac-top.networkMap.glance.vHost}" = "http://${config.mySnippets.aylac-top.networkMap.glance.hostName}:${toString config.mySnippets.aylac-top.networkMap.glance.port}";-reverse_proxy ${config.mySnippets.tailnet.networkMap.jellyfin.hostName}:${toString config.mySnippets.tailnet.networkMap.jellyfin.port} {-reverse_proxy ${config.mySnippets.tailnet.networkMap.qbittorrent.hostName}:${toString config.mySnippets.tailnet.networkMap.qbittorrent.port}-reverse_proxy ${config.mySnippets.tailnet.networkMap.radicale.hostName}:${toString config.mySnippets.tailnet.networkMap.radicale.port}-reverse_proxy ${config.mySnippets.tailnet.networkMap.webdav.hostName}:${toString config.mySnippets.tailnet.networkMap.webdav.port}-reverse_proxy ${config.mySnippets.tailnet.networkMap.bazarr.hostName}:${toString config.mySnippets.tailnet.networkMap.bazarr.port}-# reverse_proxy ${config.mySnippets.tailnet.networkMap.lidarr.hostName}:${toString config.mySnippets.tailnet.networkMap.lidarr.port}-reverse_proxy ${config.mySnippets.tailnet.networkMap.prowlarr.hostName}:${toString config.mySnippets.tailnet.networkMap.prowlarr.port}-reverse_proxy ${config.mySnippets.tailnet.networkMap.radarr.hostName}:${toString config.mySnippets.tailnet.networkMap.radarr.port}-reverse_proxy ${config.mySnippets.tailnet.networkMap.sonarr.hostName}:${toString config.mySnippets.tailnet.networkMap.sonarr.port}-reverse_proxy ${config.mySnippets.tailnet.networkMap.autobrr.hostName}:${toString config.mySnippets.tailnet.networkMap.autobrr.port}-reverse_proxy ${config.mySnippets.tailnet.networkMap.glance.hostName}:${toString config.mySnippets.tailnet.networkMap.glance.port}-reverse_proxy ${config.mySnippets.tailnet.networkMap.karakeep.hostName}:${toString config.mySnippets.tailnet.networkMap.karakeep.port}-reverse_proxy ${config.mySnippets.tailnet.networkMap.copyparty.hostName}:${toString config.mySnippets.tailnet.networkMap.copyparty.port}-reverse_proxy ${config.mySnippets.tailnet.networkMap.redlib.hostName}:${toString config.mySnippets.tailnet.networkMap.redlib.port}-reverse_proxy ${config.mySnippets.tailnet.networkMap.miniflux.hostName}:${toString config.mySnippets.tailnet.networkMap.miniflux.port}-reverse_proxy ${config.mySnippets.tailnet.networkMap.jellyseerr.hostName}:${toString config.mySnippets.tailnet.networkMap.jellyseerr.port}···
·········
+1
-1
modules/home/default.nix
+1
-1
modules/home/default.nix
-9
modules/home/packages.nix
-9
modules/home/packages.nix
-1
modules/home/programs/default.nix
-1
modules/home/programs/default.nix
modules/home/programs/firefox-based/betterfox/fastfox.nix
modules/home/snippets/firefox-based/betterfox/fastfox.nix
modules/home/programs/firefox-based/betterfox/fastfox.nix
modules/home/snippets/firefox-based/betterfox/fastfox.nix
modules/home/programs/firefox-based/betterfox/peskyfox.nix
modules/home/snippets/firefox-based/betterfox/peskyfox.nix
modules/home/programs/firefox-based/betterfox/peskyfox.nix
modules/home/snippets/firefox-based/betterfox/peskyfox.nix
modules/home/programs/firefox-based/betterfox/securefox.nix
modules/home/snippets/firefox-based/betterfox/securefox.nix
modules/home/programs/firefox-based/betterfox/securefox.nix
modules/home/snippets/firefox-based/betterfox/securefox.nix
modules/home/programs/firefox-based/betterfox/smoothfox.nix
modules/home/snippets/firefox-based/betterfox/smoothfox.nix
modules/home/programs/firefox-based/betterfox/smoothfox.nix
modules/home/snippets/firefox-based/betterfox/smoothfox.nix
-1
modules/home/programs/firefox-based/default.nix
modules/home/snippets/firefox-based/default.nix
-1
modules/home/programs/firefox-based/default.nix
modules/home/snippets/firefox-based/default.nix
modules/home/programs/firefox-based/engines.nix
modules/home/snippets/firefox-based/engines.nix
modules/home/programs/firefox-based/engines.nix
modules/home/snippets/firefox-based/engines.nix
+116
modules/home/programs/helix/default.nix
+116
modules/home/programs/helix/default.nix
······
+5
modules/home/snippets/default.nix
+5
modules/home/snippets/default.nix
+211
-264
modules/nixos/profiles/backups/default.nix
+211
-264
modules/nixos/profiles/backups/default.nix
···-forgejo = lib.mkIf (config.services.forgejo.enable && config.services.forgejo.settings.storage.STORAGE_TYPE != "minio") (-passwords = lib.mkIf (builtins.elem config.networking.hostName config.mySnippets.syncthing.folders."Passwords".devices) (
···+message = "Back up for ${service} to ${repoPath} was completed (idk if successfully tho), starting service";+enable = config.services.forgejo.enable && config.services.forgejo.settings.storage.STORAGE_TYPE != "minio";+enable = builtins.elem config.networking.hostName config.mySnippets.syncthing.folders."Passwords".devices;
+88
modules/nixos/services/fail2ban/README.md
+88
modules/nixos/services/fail2ban/README.md
···
···+my actual config for cloudflare is hidden because duh there's api tokens in there so here's the one i'm using+because of the way cloudflare bans work, the jails don't act independently when banning an ip, so if vaultwarden blocks one ip, the ip can't access anything on aylac.top anymore. i don't think there's a way of having independent ones with cloudflare, but honestly it doesn't change much for me does it+# Referenced from http://www.normyee.net/blog/2012/02/02/adding-cloudflare-support-to-fail2ban by NORM YEE+# Notes.: command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).+#actionban = curl -s -o /dev/null https://www.cloudflare.com/api_json.html -d 'a=ban' -d 'tkn=<cftoken>' -d 'email=<cfuser>' -d 'key=<ip>'+-d '{"mode":"block","configuration":{"target":"<cftarget>","value":"<ip>"},"notes":"Fail2Ban <name>"}' \+#actionunban = curl -s -o /dev/null https://www.cloudflare.com/api_json.html -d 'a=nul' -d 'tkn=<cftoken>' -d 'email=<cfuser>' -d 'key=<ip>'+"<_cf_api_url>?mode=block&configuration_target=<cftarget>&configuration_value=<ip>&page=1&per_page=1¬es=Fail2Ban%%20<name>" \+| { jq -r '.result[0].id' 2>/dev/null || tr -d '\n' | sed -nE 's/^.*"result"\s*:\s*\[\s*\{\s*"id"\s*:\s*"([^"]+)".*$/\1/p'; })+# https://dash.cloudflare.com/profile/api-tokens create a custom api here and enable account firewall access rules both read and write
+36
-8
modules/nixos/services/fail2ban/default.nix
+36
-8
modules/nixos/services/fail2ban/default.nix
·····················
·····················
+11
-5
modules/snippets/tailnet/default.nix
+11
-5
modules/snippets/tailnet/default.nix
······
······