diff --git a/modules/config/default.nix b/modules/config/default.nix index 746948e..5c7cb29 100755 --- a/modules/config/default.nix +++ b/modules/config/default.nix @@ -57,7 +57,6 @@ let label = stringType; name = stringType; hostname = stringType; - tags = listType; domains = genOptions stringType "url"; dns = genOptions stringType "provider"; localhost = genOptions stringType "address"; @@ -242,7 +241,6 @@ in sopsPath = "/var/lib/secrets"; sslPath = "/var/lib/acme"; varLib = "/var/lib"; - synologyName = "synology"; dummy = ""; }; diff --git a/modules/config/instances/config/audiobookshelf.nix b/modules/config/instances/config/audiobookshelf.nix index b548863..1d6eab9 100755 --- a/modules/config/instances/config/audiobookshelf.nix +++ b/modules/config/instances/config/audiobookshelf.nix @@ -21,9 +21,6 @@ in url0 = audiobookshelfDomain; }; subdomain = audiobookshelfSubdomain; - tags = [ - - ]; paths = { path0 = "${servicePath}/${audiobookshelfLabel}"; }; diff --git a/modules/config/instances/config/forgejo.nix b/modules/config/instances/config/forgejo.nix index d769152..dd82743 100755 --- a/modules/config/instances/config/forgejo.nix +++ b/modules/config/instances/config/forgejo.nix @@ -25,11 +25,6 @@ in url0 = domain; }; subdomain = subdomain; - tags = [ - name - "forge" - "git" - ]; paths = { path0 = "${servicePath}/${label}"; }; diff --git a/modules/config/instances/config/glance.nix b/modules/config/instances/config/glance.nix index 9d76723..783049d 100755 --- a/modules/config/instances/config/glance.nix +++ b/modules/config/instances/config/glance.nix @@ -25,12 +25,6 @@ in url0 = domain; }; subdomain = subdomain; - tags = [ - "glance" - "dashboard" - "weather" - "podcasts" - ]; paths = { path0 = "${servicePath}/${label}"; }; diff --git a/modules/config/instances/config/jellyfin.nix b/modules/config/instances/config/jellyfin.nix index 31c1b48..4b6eb3e 100755 --- a/modules/config/instances/config/jellyfin.nix +++ b/modules/config/instances/config/jellyfin.nix @@ -19,14 +19,6 @@ in domains = { url0 = domain; }; - tags = [ - "jelly" - "video" - "streaming" - "movies" - "shows" - "music" - ]; subdomain = name; paths = { path0 = "${servicePath}/${label}"; diff --git a/modules/config/instances/config/mastodon.nix b/modules/config/instances/config/mastodon.nix index cf7095a..589ad64 100755 --- a/modules/config/instances/config/mastodon.nix +++ b/modules/config/instances/config/mastodon.nix @@ -22,11 +22,6 @@ in url0 = domain; }; subdomain = subdomain; - tags = [ - name - "mast" - "md" - ]; sops = { path0 = "${sopsPath}/${name}"; }; diff --git a/modules/config/instances/config/matrix.nix b/modules/config/instances/config/matrix.nix index a3efe24..679708d 100755 --- a/modules/config/instances/config/matrix.nix +++ b/modules/config/instances/config/matrix.nix @@ -15,9 +15,6 @@ in path0 = "${sopsPath}/${name}"; }; subdomain = name; - tags = [ - - ]; paths = { path0 = "${servicePath}/${label}"; path1 = ""; diff --git a/modules/config/instances/config/nextcloud.nix b/modules/config/instances/config/nextcloud.nix index 233a213..6538cca 100755 --- a/modules/config/instances/config/nextcloud.nix +++ b/modules/config/instances/config/nextcloud.nix @@ -24,12 +24,6 @@ in url0 = domain; }; subdomain = name; - tags = [ - name - "next" - "cloud" - "calendar" - ]; paths = { path0 = "${servicePath}/${label}"; }; diff --git a/modules/config/instances/config/ollama.nix b/modules/config/instances/config/ollama.nix index 643f7ab..b1bcd66 100755 --- a/modules/config/instances/config/ollama.nix +++ b/modules/config/instances/config/ollama.nix @@ -21,11 +21,6 @@ in url0 = domain; }; subdomain = name; - tags = [ - name - "chat" - "ai" - ]; paths = { path0 = "${servicePath}/${label}"; path1 = "/mnt/media/storage/${name}"; diff --git a/modules/config/instances/config/opencloud.nix b/modules/config/instances/config/opencloud.nix deleted file mode 100755 index 179a3d0..0000000 --- a/modules/config/instances/config/opencloud.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ moduleFunctions }: -let - inherit (moduleFunctions.instancesFunctions) - domain0 - servicePath - sslPath - sopsPath - ; - - label = "OpenCloud"; - name = "opencloud"; - subdomain = "cloud"; - domain = "${subdomain}.${domain0}"; -in -{ - label = label; - name = name; - email = { - address0 = "noreply@${domain0}"; - }; - sops = { - path0 = "${sopsPath}/${name}"; - }; - domains = { - url0 = domain; - }; - subdomain = subdomain; - tags = [ - name - "opencloud" - "cloud" - ]; - paths = { - path0 = "${servicePath}/${label}"; - }; - ports = { - port0 = 9200; - }; - ssl = { - cert = "${sslPath}/${subdomain}.${domain0}/fullchain.pem"; - key = "${sslPath}/${subdomain}.${domain0}/key.pem"; - }; -} diff --git a/modules/config/instances/config/owncast.nix b/modules/config/instances/config/owncast.nix index 5d7f072..a18ce48 100755 --- a/modules/config/instances/config/owncast.nix +++ b/modules/config/instances/config/owncast.nix @@ -22,9 +22,6 @@ in url0 = domain; }; subdomain = subdomain; - tags = [ - - ]; paths = { path0 = "${servicePath}/${label}"; path1 = "/mnt/media/storage/${name}"; diff --git a/modules/config/instances/config/peertube.nix b/modules/config/instances/config/peertube.nix index 93b0a73..81a4ab0 100755 --- a/modules/config/instances/config/peertube.nix +++ b/modules/config/instances/config/peertube.nix @@ -25,9 +25,6 @@ in url0 = domain; }; subdomain = subdomain; - tags = [ - - ]; paths = { path0 = "${servicePath}/${label}"; }; diff --git a/modules/config/instances/config/searx.nix b/modules/config/instances/config/searx.nix index 087f75b..82e793b 100755 --- a/modules/config/instances/config/searx.nix +++ b/modules/config/instances/config/searx.nix @@ -25,11 +25,6 @@ in url0 = domain; }; subdomain = subdomain; - tags = [ - "search" - "sear" - "searx" - ]; paths = { path0 = "${servicePath}/${label}"; }; diff --git a/modules/config/instances/config/syncthing.nix b/modules/config/instances/config/syncthing.nix index 22badb1..3795acb 100755 --- a/modules/config/instances/config/syncthing.nix +++ b/modules/config/instances/config/syncthing.nix @@ -4,7 +4,6 @@ let domain0 sslPath sopsPath - synologyName ; label = "Syncthing"; @@ -21,12 +20,6 @@ in url0 = domain; }; subdomain = name; - tags = [ - name - synologyName - "sync" - "thing" - ]; ports = { port0 = 8388; # Syncthing (WebUI) port1 = 21027; # Syncthing (Discovery) diff --git a/modules/config/instances/config/synology.nix b/modules/config/instances/config/synology.nix index 0af590d..3138ac0 100755 --- a/modules/config/instances/config/synology.nix +++ b/modules/config/instances/config/synology.nix @@ -2,20 +2,14 @@ let inherit (moduleFunctions.instancesFunctions) sopsPath - synologyName ; label = "Synology"; - name = synologyName; + name = "synology"; in { label = label; name = name; - tags = [ - name - "dsm" - "cloud" - ]; sops = { path0 = "${sopsPath}/${name}"; }; diff --git a/modules/config/instances/config/upRootNutrition.nix b/modules/config/instances/config/upRootNutrition.nix index 5748123..3702b08 100755 --- a/modules/config/instances/config/upRootNutrition.nix +++ b/modules/config/instances/config/upRootNutrition.nix @@ -18,13 +18,6 @@ in sops = { path0 = "${sopsPath}/${name}"; }; - domains = { - url0 = domain3; - }; - tags = [ - name - "blog" - ]; paths = { path0 = "/var/lib/website/dist"; path1 = ""; diff --git a/modules/config/instances/config/vaultwarden.nix b/modules/config/instances/config/vaultwarden.nix index a2bf140..5ea9dd2 100755 --- a/modules/config/instances/config/vaultwarden.nix +++ b/modules/config/instances/config/vaultwarden.nix @@ -24,13 +24,6 @@ in url0 = domain; }; subdomain = name; - tags = [ - name - "bitwarden" - "vault" - "bit" - "warden" - ]; paths = { path0 = "${servicePath}/${label}/BackupDir"; }; diff --git a/modules/config/instances/config/web.nix b/modules/config/instances/config/web.nix index beedbf9..4f8a1c9 100755 --- a/modules/config/instances/config/web.nix +++ b/modules/config/instances/config/web.nix @@ -8,8 +8,6 @@ let ; in { - name = "router"; - label = "Router"; domains = { url0 = domain0; url1 = domain1; @@ -19,10 +17,6 @@ in dns = { provider0 = "namecheap"; }; - tags = [ - "router" - "asus" - ]; localhost = { address0 = "127.0.0.1"; # Local address1 = "0.0.0.0"; # All diff --git a/modules/home/gui/apps/browsers/floorp/config/bookmarks/config/flake/selfHosted.nix b/modules/home/gui/apps/browsers/floorp/config/bookmarks/config/flake/selfHosted.nix index 48f7fe3..8650db2 100755 --- a/modules/home/gui/apps/browsers/floorp/config/bookmarks/config/flake/selfHosted.nix +++ b/modules/home/gui/apps/browsers/floorp/config/bookmarks/config/flake/selfHosted.nix @@ -15,6 +15,25 @@ let instances ; + jellyfinTags = [ + "jelly" + "video" + "streaming" + "movies" + "shows" + "music" + ]; + ollamaTags = [ + instances.ollama.name + "chat" + "ai" + ]; + syncthingTags = [ + instances.syncthing.name + "sync" + "thing" + instances.synology.name + ]; in { name = "Self Hosted"; @@ -30,39 +49,35 @@ in ]; keyword = "Website"; } - { - name = instances.opencloud.label; - url = "https://${instances.opencloud.domains.url0}"; - tags = [ - - ]; - keyword = "Cloud"; - } { name = instances.forgejo.label; url = "https://${instances.forgejo.domains.url0}"; tags = [ - + instances.forgejo.name + "forge" + "git" ]; keyword = instances.forgejo.label; } { name = "${instances.jellyfin.label} (Internet)"; url = "https://${instances.jellyfin.domains.url0}"; - tags = [ ]; + tags = jellyfinTags; keyword = instances.jellyfin.label; } { name = "${instances.jellyfin.label} (Local)"; url = "http://${ceres.ip.address0}:${toString instances.jellyfin.ports.port1}"; - tags = [ ]; + tags = jellyfinTags; keyword = instances.jellyfin.label; } { name = instances.mastodon.label; url = "https://${instances.mastodon.domains.url0}"; tags = [ - + instances.mastodon.name + "mast" + "md" ]; keyword = instances.mastodon.label; } @@ -81,34 +96,51 @@ in name = instances.nextcloud.label; url = "https://${instances.nextcloud.domains.url0}"; tags = [ - + instances.nextcloud.name + "next" + "cloud" + "calendar" ]; keyword = instances.nextcloud.label; } + { + name = aliases.name2; + url = instances.web.domains.url2; + tags = [ + aliases.name3 + "blog" + ]; + keyword = aliases.name2; + } { name = "${instances.glance.label} (Local)"; url = "https://${instances.glance.domains.url0}"; tags = [ - + "glance" + "dashboard" + "weather" + "podcasts" ]; keyword = instances.glance.label; } { name = "${instances.ollama.label} (Server)"; url = "https://${instances.ollama.domains.url0}"; - tags = [ ]; + tags = ollamaTags; keyword = instances.ollama.label; } { name = "${instances.ollama.label} (Desktop)"; url = "http://${mars.ip.address0}:${toString instances.ollama.ports.port0}"; - tags = [ ]; + tags = ollamaTags; keyword = instances.ollama.label; } { name = "Router"; url = "http://${instances.web.localhost.address2}"; tags = [ + "router" + "asus" ]; keyword = "Router"; } @@ -116,7 +148,9 @@ in name = "${instances.searx.label} (Internet)"; url = "https://${instances.searx.domains.url0}"; tags = [ - + "search" + "sear" + "searx" ]; keyword = instances.searx.label; } @@ -124,21 +158,25 @@ in name = "${instances.syncthing.label} (${instances.synology.label})"; url = "http://${synology.ip.address0}:${toString instances.syncthing.ports.port0}"; tags = [ - ]; + "synology" + ] ++ syncthingTags; keyword = instances.syncthing.label; } { name = "${instances.syncthing.label} (Desktop)"; url = "http://localhost:${toString instances.syncthing.ports.port0}"; tags = [ - ]; + "desktop" + ] ++ syncthingTags; keyword = instances.syncthing.label; } { name = instances.synology.label; url = "https://${synology.ip.address0}:${toString instances.synology.ports.port0}"; tags = [ - + instances.synology.name + "dsm" + "cloud" ]; keyword = instances.synology.label; } @@ -146,7 +184,11 @@ in name = instances.vaultwarden.label; url = "https://${instances.vaultwarden.domains.url0}"; tags = [ - + instances.vaultwarden.name + "bitwarden" + "vault" + "bit" + "warden" ]; keyword = instances.vaultwarden.label; } diff --git a/modules/home/gui/apps/code/zed/config/userSettings/config/assistant/default.nix b/modules/home/gui/apps/code/zed/config/userSettings/config/assistant/default.nix index 71ff3aa..729c207 100755 --- a/modules/home/gui/apps/code/zed/config/userSettings/config/assistant/default.nix +++ b/modules/home/gui/apps/code/zed/config/userSettings/config/assistant/default.nix @@ -11,7 +11,7 @@ let localhost = web.localhost.address0; in { - agent = { + assistant = { enabled = true; default_model = { provider = "zed.dev"; diff --git a/modules/home/gui/apps/code/zed/default.nix b/modules/home/gui/apps/code/zed/default.nix index 7d2d81f..142d84b 100755 --- a/modules/home/gui/apps/code/zed/default.nix +++ b/modules/home/gui/apps/code/zed/default.nix @@ -23,7 +23,7 @@ in { programs.zed-editor = { enable = true; - # package = packagePath; + package = packagePath; extraPackages = extraPackagesPath; extensions = extensionsPath; userKeymaps = userKeymapsPath; diff --git a/modules/home/gui/desktop/hypr/land/config/bind.nix b/modules/home/gui/desktop/hypr/land/config/bind.nix index d0f8d9d..82d2bd7 100755 --- a/modules/home/gui/desktop/hypr/land/config/bind.nix +++ b/modules/home/gui/desktop/hypr/land/config/bind.nix @@ -84,14 +84,11 @@ let "3, movetoworkspacesilent, 3" "4, movetoworkspacesilent, 4" "5, movetoworkspacesilent, 5" + # Window Move "C, movewindow, l" "A, movewindow, u" "E, movewindow, d" "I, movewindow, r" - "Left, movewindow, l" - "Up, movewindow, u" - "Down, movewindow, d" - "Right, movewindow, r" ]; shiftBinds = builtins.map (x: "SHIFT, " + x) [ @@ -111,6 +108,10 @@ let "3, movetoworkspacesilent, 3" "4, movetoworkspacesilent, 4" "5, movetoworkspacesilent, 5" + "Left, movewindow, l" + "Up, movewindow, u" + "Down, movewindow, d" + "Right, movewindow, r" ]; functionBinds = builtins.map (x: " , " + x) [ diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 8228d2f..a84622f 100755 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -58,7 +58,6 @@ in mastodon minecraft ollama - opencloud postgresql samba searx diff --git a/modules/nixos/services/acme/default.nix b/modules/nixos/services/acme/default.nix index b02564c..06fd49c 100755 --- a/modules/nixos/services/acme/default.nix +++ b/modules/nixos/services/acme/default.nix @@ -41,7 +41,6 @@ in "searx" "syncthing" "vaultwarden" - "opencloud" ] ) ++ (map diff --git a/modules/nixos/services/nextcloud/default.nix b/modules/nixos/services/nextcloud/default.nix index ce7bce6..e51bbff 100755 --- a/modules/nixos/services/nextcloud/default.nix +++ b/modules/nixos/services/nextcloud/default.nix @@ -107,6 +107,7 @@ in }) [ "pass" + "smtp" ] ); }; diff --git a/modules/nixos/services/opencloud/default.nix b/modules/nixos/services/opencloud/default.nix deleted file mode 100755 index 9c415ee..0000000 --- a/modules/nixos/services/opencloud/default.nix +++ /dev/null @@ -1,79 +0,0 @@ -{ config, flake, ... }: -let - inherit (flake.config.machines.devices) ceres; - inherit (flake.config.services.instances) opencloud web; - service = opencloud; - localhost = web.localhost.address0; - host = service.domains.url0; -in -{ - services = { - opencloud = { - enable = true; - url = "https://${host}"; - port = service.ports.port0; - address = localhost; - stateDir = "/var/lib/${service.name}"; - environmentFile = config.sops.secrets."${service.name}/env".path; - }; - caddy = { - virtualHosts = { - "${host}" = { - extraConfig = '' - reverse_proxy https://${localhost}:${toString service.ports.port0} { - transport http { - tls_insecure_skip_verify - } - } - tls ${service.ssl.cert} ${service.ssl.key} - ''; - }; - }; - }; - }; - - sops = - let - sopsPath = secret: { - path = "${service.sops.path0}/${service.name}-${secret}"; - owner = service.name; - mode = "600"; - }; - in - { - secrets = builtins.listToAttrs ( - map - (secret: { - name = "${service.name}/${secret}"; - value = sopsPath secret; - }) - [ - "env" - ] - ); - }; - - fileSystems."/var/lib/${service.name}" = { - device = service.paths.path0; - fsType = "none"; - options = [ - "bind" - ]; - depends = [ - ceres.storage0.mount - ]; - }; - - systemd.tmpfiles.rules = [ - "Z ${service.paths.path0} 755 ${service.name} ${service.name} -" - "Z ${service.sops.path0} 755 ${service.name} ${service.name} -" - ]; - - networking = { - firewall = { - allowedTCPPorts = [ - service.ports.port0 - ]; - }; - }; -} diff --git a/secrets/secrets.yaml b/secrets/secrets.yaml index 6e0daa0..a682cf8 100755 --- a/secrets/secrets.yaml +++ b/secrets/secrets.yaml @@ -47,8 +47,6 @@ kanboard-smtp: ENC[AES256_GCM,data:eOIEGwJZlvbJaTfDRU3IFQ==,iv:Jex01WlHG3uxqUnTS podgrab-pass: ENC[AES256_GCM,data:DVmJDb4VqcZDKNcedSaRA5dqKOzx1tSzDiK3i23+a6v3nK+4Kh7n8EA=,iv:SiiUjJLHkCOO1VKCmubftKx06laFqNv79tIPnkVYrJU=,tag:kdkT+03DemlNAsuzps8fnw==,type:str] firefly-iii-key: ENC[AES256_GCM,data:tLJfwB8De1vdGeccr4SxifU7KYAfnasoXISvz5mSR28=,iv:vknG+h2D04lECHE/PPA53aZqWk4ouYcH+WfP7WooPYU=,tag:HKma2cydw58pAnvOFH53fA==,type:str] firefly-iii-pass: ENC[AES256_GCM,data:eJwIM4YHnXTqTOUfU/0CKMSS534VEZIxkBviI1pd7R4=,iv:pUv8ok5nLDGeCcP2hsTculk+MPPAjkupidQO0Jkc3Wc=,tag:zq7+lFjdOr5ORpthqXW8EA==,type:str] -opencloud: - env: ENC[AES256_GCM,data:JZOs+86/jhHtXuOb4fsk4ceZuFpSa6PAMN2/vmGlvlXvsx/Yk2ZXeZZU0jtwweN8Sk61A2538OdPpfKynBgwsZ2SgoxAIyJtQl3HZWdZzNZ6+/t+AFvvav/x9nUv1O5704FP5OYOMniQAmqu0ds0JIX3YV/cstoo+rNhNW2emlVhj2ABYhTxy0BFJ8A+Re9y5FN5WT4tmloF/21ZrIwtTw8ULQPCksJfTFwEE+cCN3aIWZn00/4zUuv6CEtZeKeOeLxgQL+G2pPhNrQzG+lw+AKLzXA2mJM+3Zfq0MplyXeFCLkV1GCHksrMPp2w5j2RdtfcdE9IP+tXoD/fZNfYgCK1Pk/JhkXcV9EPbz4KUL/+OpgFqh+RvKGPXH2iTV0B8t2Ag7NowxULI2jKw0c=,iv:1ClzjY1n48cQ9bdBewM5A5Lr/c13HbSSYJ7xYCwZDzA=,tag:FavwE2sX+wSgKOEpywFeMw==,type:str] sops: age: - recipient: age19dpncsdphdt2tmknjs99eghk527pvdrw0m29qjn2z2gg3et5tdtqycqhl0 @@ -60,7 +58,7 @@ sops: bXBOa1VSakoyaWxpODJEOU11QUZCaUEK8Ch9Ten3DdrPHF1DTH2qei85AlHUOaLD aNfzakake7ej+MxJYdKEU0bcWofNMKzIlZa2uM10KZSENDP8d8qlig== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-07-07T22:29:06Z" - mac: ENC[AES256_GCM,data:MmVn9KJcM92hiubQti6vbw5sg4NldFU7uxAgX4b6lL7+6LaaIznrqBcplIAcelVWCvZhcQ25L4oQP0da7JgJDzMsiPYawy33MsSWatdST3PPr7ozvQqSgucbUcPja7Fyl6Yr0ijqkH2d8EdOg5km15LaEGir2jkDi+lBRmL2Msc=,iv:VYsheWRXrih4SYgtS5qVa9ZM8kw0k7ZOlKpEkCmBsHQ=,tag:eByH+iVgznc7A0F3HSX9/g==,type:str] + lastmodified: "2025-07-04T00:40:18Z" + mac: ENC[AES256_GCM,data:N2BwAzga2/Ig96p49rqNhhZ2udYWt7mQ9JD8DFXuxa3HOh3gtx7FWeWpGjvLnLWCgGcT4R61RKmgZQZRADNxYPE3vtdpPOFz0XvgcYSDlwslzBdSsVc08sh77P0LDgZsCzE1MxYynQ6nzFcc6gW5sorInLarsHoCCBC+Z5YpOVg=,iv:H6d3VrERM02/1zI5boFemEpMYD3greYZRqlSpBqROzM=,tag:TEakUvOlKoZYo/XPS6HVnA==,type:str] unencrypted_suffix: _unencrypted version: 3.10.2