diff --git a/flake.lock b/flake.lock index ba7d2a1..5f9def9 100644 --- a/flake.lock +++ b/flake.lock @@ -30,11 +30,11 @@ "uv2nix": "uv2nix" }, "locked": { - "lastModified": 1758177015, - "narHash": "sha256-PCUWdbaxayY3YfSjVlyddBMYoGvSaRysd5AmZ8gqSFs=", + "lastModified": 1759322529, + "narHash": "sha256-yiv/g/tiJI3PI95F7vhTnaf1TDsIkFLrmmFTjWfb6pQ=", "owner": "nix-community", "repo": "authentik-nix", - "rev": "4c626ed84cc0f1278bfba0f534efd6cba2788d75", + "rev": "69fac057b2e553ee17c9a09b822d735823d65a6c", "type": "github" }, "original": { @@ -46,16 +46,16 @@ "authentik-src": { "flake": false, "locked": { - "lastModified": 1758035356, - "narHash": "sha256-DkvxDwHCfSqEpZ9rRXNR8MP0Mz/y1kHAr38exrHQ39c=", + "lastModified": 1759190535, + "narHash": "sha256-pIzDaoDWc58cY/XhsyweCwc4dfRvkaT/zqsV1gDSnCI=", "owner": "goauthentik", "repo": "authentik", - "rev": "680feaefa17934471a6b33ebc35caf5b64120404", + "rev": "8d3a289d12c7de2f244c76493af7880f70d08af2", "type": "github" }, "original": { "owner": "goauthentik", - "ref": "version/2025.8.3", + "ref": "version/2025.8.4", "repo": "authentik", "type": "github" } @@ -63,16 +63,16 @@ "brew-src": { "flake": false, "locked": { - "lastModified": 1756059815, - "narHash": "sha256-UALOxoXoFIHbwKzcqbqCAqw5cC0MJEehLaWSet5vxfE=", + "lastModified": 1758543057, + "narHash": "sha256-lw3V2jOGYphUFHYQ5oARcb6urlbNpUCLJy1qhsGdUmc=", "owner": "Homebrew", "repo": "brew", - "rev": "02947ea4edbdef5fcce9ee57fa289547f4d096c9", + "rev": "5b236456eb93133c2bd0d60ef35ed63f1c0712f6", "type": "github" }, "original": { "owner": "Homebrew", - "ref": "4.6.7", + "ref": "4.6.12", "repo": "brew", "type": "github" } @@ -86,11 +86,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1758033778, - "narHash": "sha256-oQH2wLOWLFHXT3NE+gcsFOX+Pq40bKjlOH1xw0wcmT8=", + "lastModified": 1759348172, + "narHash": "sha256-ZPUJX2ZA0ndcHndIA/S/nRESIJV0rifPr91SUpzJtEM=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "b3efa297b9c6a9e55a44f3b6905d55f80738704f", + "rev": "dd1af56ad79c965ee20c236ba6adbb2135ac02af", "type": "github" }, "original": { @@ -141,11 +141,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1758447883, - "narHash": "sha256-yGA6MV0E4JSEXqLTb4ZZkmdJZcoQ8HUzihRRX12Bvpg=", + "lastModified": 1758805352, + "narHash": "sha256-BHdc43Lkayd+72W/NXRKHzX5AZ+28F3xaUs3a88/Uew=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "25381509d5c91bbf3c30e23abc6d8476d2143cd1", + "rev": "c48e963a5558eb1c3827d59d21c5193622a1477c", "type": "github" }, "original": { @@ -485,11 +485,11 @@ ] }, "locked": { - "lastModified": 1757920978, - "narHash": "sha256-Mv16aegXLulgyDunijP6SPFJNm8lSXb2w3Q0X+vZ9TY=", + "lastModified": 1759261733, + "narHash": "sha256-G104PUPKBgJmcu4NWs0LUaPpSOTD4jiq4mamLWu3Oc0=", "owner": "nix-community", "repo": "home-manager", - "rev": "11cc5449c50e0e5b785be3dfcb88245232633eb8", + "rev": "5a21f4819ee1be645f46d6b255d49f4271ef6723", "type": "github" }, "original": { @@ -505,11 +505,11 @@ ] }, "locked": { - "lastModified": 1758464306, - "narHash": "sha256-i56XRXqjwJRdVYmpzVUQ0ktqBBHqNzQHQMQvFRF/acQ=", + "lastModified": 1759337100, + "narHash": "sha256-CcT3QvZ74NGfM+lSOILcCEeU+SnqXRvl1XCRHenZ0Us=", "owner": "nix-community", "repo": "home-manager", - "rev": "939e91e1cff1f99736c5b02529658218ed819a2a", + "rev": "004753ae6b04c4b18aa07192c1106800aaacf6c3", "type": "github" }, "original": { @@ -521,11 +521,11 @@ "homebrew-cask": { "flake": false, "locked": { - "lastModified": 1758498617, - "narHash": "sha256-z54nOZTorZH0K1rHgfDXB2c9/H5hFqh0TYm5pgW924k=", + "lastModified": 1759453557, + "narHash": "sha256-N2P5wIszwvh+aPRXgNusp03cb1PuMFk7mZrwlTMUQ9c=", "owner": "homebrew", "repo": "homebrew-cask", - "rev": "e5dd26082702b3d467a84c50766fdcdfd32006de", + "rev": "e159d2e969ae2cc9c1b19e88b3a9745e89d1a7b0", "type": "github" }, "original": { @@ -537,11 +537,11 @@ "homebrew-core": { "flake": false, "locked": { - "lastModified": 1758500263, - "narHash": "sha256-zz8DFHZGJbhgwZbLkLOlj3AzI00wvS51SX8otGPyGxw=", + "lastModified": 1759450426, + "narHash": "sha256-f4SzMERQZ3Mhvhjk1ui9YIWt6n9v7K3GL5RVaM25Exw=", "owner": "homebrew", "repo": "homebrew-core", - "rev": "e885969cd983ef8e9fd780a31f6e396b6b15beb4", + "rev": "afb62180b517ed7df9a2ebd9f0fb923670db0f34", "type": "github" }, "original": { @@ -574,11 +574,11 @@ ] }, "locked": { - "lastModified": 1757230583, - "narHash": "sha256-4uqu7sFPOaVTCogsxaGMgbzZ2vK40GVGMfUmrvK3/LY=", + "lastModified": 1759217228, + "narHash": "sha256-P13ExJlhMVkrc5LxZLNkIJZhjNYo3LLXnxDsUNrdnMQ=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "fc3960e6c32c9d4f95fff2ef84444284d24d3bea", + "rev": "e52c15ab25f7dc68dde527c8df5bfa9d80d8e64f", "type": "github" }, "original": { @@ -593,11 +593,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1757230583, - "narHash": "sha256-4uqu7sFPOaVTCogsxaGMgbzZ2vK40GVGMfUmrvK3/LY=", + "lastModified": 1759387127, + "narHash": "sha256-uuwJAP92SkHmnI1zo7rrK/gEuHtb97vFZcMa5w+0SZA=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "fc3960e6c32c9d4f95fff2ef84444284d24d3bea", + "rev": "0cc290e05882745060fccfe6d7d073f913e0cce7", "type": "github" }, "original": { @@ -726,11 +726,11 @@ "brew-src": "brew-src" }, "locked": { - "lastModified": 1756398546, - "narHash": "sha256-n4GVDLhKu65XFraJuCzap2AaZji4xhPaZMTJ8aQdD3s=", + "lastModified": 1758598228, + "narHash": "sha256-qr60maXGbZ4FX5tejPRI3nr0bnRTnZ3AbbbfO6/6jq4=", "owner": "zhaofengli", "repo": "nix-homebrew", - "rev": "3aa475996cb3bc1ecefa88c99c466e6f0bc17431", + "rev": "f36e5db56e117f7df701ab152d0d2036ea85218c", "type": "github" }, "original": { @@ -746,11 +746,11 @@ ] }, "locked": { - "lastModified": 1758427679, - "narHash": "sha256-xwjWRJTKDCjQ0iwfh7WhDhgcS0Wt3d1Yscg83mKBCn4=", + "lastModified": 1759032422, + "narHash": "sha256-WZf+FhebP2/1pK2np5xj/NuDjD6fXK2BHnq/tPUN18o=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "fd2569ca2ef7d69f244cd9ffcb66a0540772ff85", + "rev": "ec7a78cb0e098832d8acac091a4df393259c4839", "type": "github" }, "original": { @@ -784,11 +784,11 @@ "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1758420016, - "narHash": "sha256-xnS4Xp2nvtT+fwIfxz16ikSMs03pV9SpQW80btttVe4=", + "lastModified": 1759369908, + "narHash": "sha256-IIhaE6jAge64z+fIyi/8Vtu0JdTtapbp4CvwiuIkZ1E=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "c55175e19f142be0330b2579d7da043d2f22e324", + "rev": "a66ad2141b1440a838ead278c6edfe8a4ce75e6c", "type": "github" }, "original": { @@ -819,15 +819,14 @@ "nixos-apple-silicon": { "inputs": { "flake-compat": "flake-compat_4", - "nixpkgs": "nixpkgs_10", - "treefmt-nix": "treefmt-nix" + "nixpkgs": "nixpkgs_10" }, "locked": { - "lastModified": 1756110286, - "narHash": "sha256-NE0HwcQCQTgM+HuYqmiemPf/5e+3fjwowceAyJj+ikU=", + "lastModified": 1759244631, + "narHash": "sha256-b8k+l2ygOZD3ABD8H2Nl/oiZ7byT52SLrqiU3D5FG88=", "owner": "nix-community", "repo": "nixos-apple-silicon", - "rev": "b99bf9bf7445416fe55da09034fc4a6cd733805c", + "rev": "db555f5ac04144c5a56d60dbf4e15a3e58ccae08", "type": "github" }, "original": { @@ -838,11 +837,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1757943327, - "narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=", + "lastModified": 1759261527, + "narHash": "sha256-wPd5oGvBBpUEzMF0kWnXge0WITNsITx/aGI9qLHgJ4g=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "67a709cfe5d0643dafd798b0b613ed579de8be05", + "rev": "e087756cf4abbe1a34f3544c480fc1034d68742f", "type": "github" }, "original": { @@ -963,11 +962,11 @@ }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1758346548, - "narHash": "sha256-afXE7AJ7MY6wY1pg/Y6UPHNYPy5GtUKeBkrZZ/gC71E=", + "lastModified": 1759281824, + "narHash": "sha256-FIBE1qXv9TKvSNwst6FumyHwCRH3BlWDpfsnqRDCll0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b2a3852bd078e68dd2b3dfa8c00c67af1f0a7d20", + "rev": "5b5be50345d4113d04ba58c444348849f5585b4a", "type": "github" }, "original": { @@ -1011,11 +1010,11 @@ }, "nixpkgs_12": { "locked": { - "lastModified": 1758277210, - "narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=", + "lastModified": 1759381078, + "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8eaee110344796db060382e15d3af0a9fc396e0e", + "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee", "type": "github" }, "original": { @@ -1043,11 +1042,11 @@ }, "nixpkgs_14": { "locked": { - "lastModified": 1758262103, - "narHash": "sha256-aBGl3XEOsjWw6W3AHiKibN7FeoG73dutQQEqnd/etR8=", + "lastModified": 1758976413, + "narHash": "sha256-hEIDTaIqvW1NMfaNgz6pjhZPZKTmACJmXxGr/H6isIg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "12bd230118a1901a4a5d393f9f56b6ad7e571d01", + "rev": "e3a3b32cc234f1683258d36c6232f150d57df015", "type": "github" }, "original": { @@ -1059,11 +1058,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1758029758, - "narHash": "sha256-fKqsvznISxVSBo6aaiGGXMRiBG4IIuV3sSySxx80pcQ=", + "lastModified": 1759147044, + "narHash": "sha256-3ZPFytJOcLjTChljeaGgoaNj+tOqzgEpqZAvRe3bU90=", "owner": "PedroHLC", "repo": "nixpkgs", - "rev": "4eb5897225c3d7e78a0b9d1542197ee7c8d270a5", + "rev": "18e83bbe13aa50992777832b52bd0e0d8585fb3b", "type": "github" }, "original": { @@ -1139,11 +1138,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1758277210, - "narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=", + "lastModified": 1759381078, + "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8eaee110344796db060382e15d3af0a9fc396e0e", + "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee", "type": "github" }, "original": { @@ -1310,7 +1309,7 @@ "snowfall-lib": "snowfall-lib", "sops-nix": "sops-nix", "steam-rom-manager": "steam-rom-manager", - "treefmt-nix": "treefmt-nix_2" + "treefmt-nix": "treefmt-nix" } }, "rust-overlay": { @@ -1321,11 +1320,11 @@ ] }, "locked": { - "lastModified": 1757930296, - "narHash": "sha256-Z9u5VszKs8rfEvg2AsFucWEjl7wMtAln9l1b78cfBh4=", + "lastModified": 1759286284, + "narHash": "sha256-JLdGGc4XDutzSD1L65Ni6Ye+oTm8kWfm0KTPMcyl7Y4=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "09442765a05c2ca617c20ed68d9613da92a2d96b", + "rev": "f6f2da475176bb7cff51faae8b3fe879cd393545", "type": "github" }, "original": { @@ -1403,11 +1402,11 @@ "nixpkgs": "nixpkgs_14" }, "locked": { - "lastModified": 1758425756, - "narHash": "sha256-L3N8zV6wsViXiD8i3WFyrvjDdz76g3tXKEdZ4FkgQ+Y=", + "lastModified": 1759188042, + "narHash": "sha256-f9QC2KKiNReZDG2yyKAtDZh0rSK2Xp1wkPzKbHeQVRU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "e0fdaea3c31646e252a60b42d0ed8eafdb289762", + "rev": "9fcfabe085281dd793589bdc770a2e577a3caa5d", "type": "github" }, "original": { @@ -1517,36 +1516,15 @@ "treefmt-nix": { "inputs": { "nixpkgs": [ - "nixos-apple-silicon", "nixpkgs" ] }, "locked": { - "lastModified": 1754847726, - "narHash": "sha256-2vX8QjO5lRsDbNYvN9hVHXLU6oMl+V/PsmIiJREG4rE=", + "lastModified": 1758728421, + "narHash": "sha256-ySNJ008muQAds2JemiyrWYbwbG+V7S5wg3ZVKGHSFu8=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "7d81f6fb2e19bf84f1c65135d1060d829fae2408", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, - "treefmt-nix_2": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1758206697, - "narHash": "sha256-/DbPkh6PZOgfueCbs3uzlk4ASU2nPPsiVWhpMCNkAd0=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "128222dc911b8e2e18939537bed1762b7f3a04aa", + "rev": "5eda4ee8121f97b218f7cc73f5172098d458f1d1", "type": "github" }, "original": { diff --git a/modules/home/programs/code/default.nix b/modules/home/programs/code/default.nix index b88ab16..c8f10aa 100644 --- a/modules/home/programs/code/default.nix +++ b/modules/home/programs/code/default.nix @@ -34,7 +34,7 @@ in vscode-extensions.bbenoist.nix vscode-extensions.brettm12345.nixfmt-vscode vscode-extensions.cweijan.vscode-database-client2 - vscode-extensions.dendron.dendron-markdown-preview-enhanced + # vscode-extensions.dendron.dendron-markdown-preview-enhanced vscode-extensions.jnoortheen.nix-ide vscode-extensions.mkhl.direnv vscode-extensions.ms-python.debugpy diff --git a/modules/nixos/nix/default.nix b/modules/nixos/nix/default.nix index 15e01e5..485bcb4 100644 --- a/modules/nixos/nix/default.nix +++ b/modules/nixos/nix/default.nix @@ -36,6 +36,7 @@ nixpkgs = { config = { cudaSupport = lib.mkDefault config.${namespace}.hardware.nvidia.enable; + rocmSupport = lib.mkDefault config.${namespace}.hardware.amd.enable; allowUnsupportedSystem = true; }; }; diff --git a/modules/nixos/power/default.nix b/modules/nixos/power/default.nix index 1d9d925..662b883 100644 --- a/modules/nixos/power/default.nix +++ b/modules/nixos/power/default.nix @@ -49,7 +49,7 @@ in }; upsd = { - enable = true; + enable = false; listen = [ { address = "0.0.0.0"; diff --git a/modules/nixos/services/ai/default.nix b/modules/nixos/services/ai/default.nix index 650e428..142b690 100755 --- a/modules/nixos/services/ai/default.nix +++ b/modules/nixos/services/ai/default.nix @@ -20,7 +20,7 @@ in user = "nix-apps"; group = "jallen-nas"; openFirewall = true; - acceleration = "cuda"; + acceleration = "rocm"; home = "/media/nas/main/nix-app-data/ollama"; }; diff --git a/modules/nixos/services/calibre/default.nix b/modules/nixos/services/calibre/default.nix new file mode 100644 index 0000000..d40bdd4 --- /dev/null +++ b/modules/nixos/services/calibre/default.nix @@ -0,0 +1,152 @@ +{ + config, + pkgs, + lib, + namespace, + ... +}: +with lib; +let + inherit (lib.${namespace}) mkOpt mkReverseProxyOpt; + cfg = config.${namespace}.services.calibre; + # dataDir = "/library"; + # hostAddress = "10.0.1.3"; + # calibreUserId = config.users.users.nix-apps.uid; + # calibreGroupId = config.users.groups.jallen-nas.gid; + + # calibreConfig = + # { lib, ... }: + # { + # services.calibre-server = { + # enable = true; + # openFirewall = true; + # libraries = [ + # dataDir + # ]; + # }; + + # services.calibre-web = { + # enable = true; + # openFirewall = true; + # listen = { + # ip = "0.0.0.0"; + # port = cfg.port; + # }; + # options = { + # enableBookUploading = true; + # enableBookConversion = true; + # calibreLibrary = dataDir; + # }; + # }; + + # users.users.calibre = { + # isSystemUser = true; + # uid = lib.mkForce calibreUserId; + # group = "calibre"; + # }; + + # users.groups = { + # calibre-web = { + # gid = lib.mkForce calibreGroupId; + # }; + # }; + + # networking = { + # firewall = { + # enable = true; + # allowedTCPPorts = [ cfg.port ]; + # }; + # # Use systemd-resolved inside the container + # # Workaround for bug https://github.com/NixOS/nixpkgs/issues/162686 + # useHostResolvConf = lib.mkForce false; + # }; + + # services.resolved.enable = true; + # system.stateVersion = "23.11"; + # }; + + # bindMounts = { + # ${dataDir} = { + # hostPath = cfg.dataDir; + # isReadOnly = false; + # }; + # "/var/lib/calibre-web" = { + # hostPath = cfg.webDir; + # isReadOnly = false; + # }; + # }; + + # Create reverse proxy configuration using mkReverseProxy + reverseProxyConfig = lib.${namespace}.mkReverseProxy { + name = "calibre"; + subdomain = cfg.reverseProxy.subdomain; + url = "http://${cfg.localAddress}:${toString cfg.port}"; + middlewares = cfg.reverseProxy.middlewares; + }; + + # calibreContainer = + # (lib.${namespace}.mkContainer { + # name = "calibre"; + # localAddress = cfg.localAddress; + # port = cfg.port; + # bindMounts = bindMounts; + # config = calibreConfig; + # }) + # { inherit lib; }; + + # fullConfig = { + # ${namespace}.services.traefik = lib.mkIf cfg.reverseProxy.enable { + # reverseProxies = [ reverseProxyConfig ]; + # }; + # } + # // calibreContainer; +in +{ + options.${namespace}.services.calibre = { + enable = mkEnableOption "calibre service"; + + port = mkOpt types.int 8080 "Port for calibre to be hosted on"; + + webPort = mkOpt types.int 8083 "Port for calibre web to be hosted on"; + + localAddress = mkOpt types.str "127.0.0.1" "local address of the service"; + + dataDir = mkOpt types.str "/media/nas/main/books" "Path to the data dir"; + + webDir = mkOpt types.str "/media/nas/main/nix-app-data/calibre-web" "Path to the web data dir"; + + reverseProxy = mkReverseProxyOpt; + }; + + config = mkIf cfg.enable { + ${namespace}.services.traefik = lib.mkIf cfg.reverseProxy.enable { + reverseProxies = [ reverseProxyConfig ]; + }; + + services = { + calibre-server = { + enable = false; + openFirewall = true; + port = cfg.port; + libraries = [ + cfg.dataDir + ]; + }; + + calibre-web = { + enable = true; + openFirewall = true; + dataDir = cfg.webDir; + listen = { + ip = "0.0.0.0"; + port = cfg.webPort; + }; + options = { + enableBookUploading = true; + enableBookConversion = true; + calibreLibrary = cfg.dataDir; + }; + }; + }; + }; +} diff --git a/modules/nixos/services/nextcloud/default.nix b/modules/nixos/services/nextcloud/default.nix index 0c4ac44..331b6e7 100755 --- a/modules/nixos/services/nextcloud/default.nix +++ b/modules/nixos/services/nextcloud/default.nix @@ -183,8 +183,6 @@ in # System packages environment.systemPackages = with pkgs; [ - cudaPackages.cudnn - cudatoolkit ffmpeg # libtensorflow-bin nextcloud31 diff --git a/modules/nixos/services/unmanic/default.nix b/modules/nixos/services/unmanic/default.nix new file mode 100644 index 0000000..b0438d8 --- /dev/null +++ b/modules/nixos/services/unmanic/default.nix @@ -0,0 +1,61 @@ +{ + lib, + config, + namespace, + ... +}: +with lib; +let + inherit (lib.${namespace}) mkOpt mkReverseProxyOpt; + cfg = config.${namespace}.services.unmanic; +in +{ + options.${namespace}.services.unmanic = { + enable = mkEnableOption "unmanic service"; + + name = mkOpt types.str "unmanic" "container name"; + + image = mkOpt types.str "josh5/unmanic" "container image"; + + port = mkOpt types.int 8265 "Port for unmanic to be hosted on"; + + configPath = mkOpt types.str "" "Path to the data dir"; + + moviesPath = mkOpt types.str "" "Path to the data dir"; + + tvPath = mkOpt types.str "" "Path to the data dir"; + + transcodePath = mkOpt types.str "" "Path to the data dir"; + + puid = mkOpt types.str "911" "uid"; + + pgid = mkOpt types.str "1000" "gid"; + + timeZone = mkOpt types.str "America/Chicago" "Timezone"; + + reverseProxy = mkReverseProxyOpt; + }; + + config = mkIf cfg.enable { + + virtualisation.oci-containers.containers.${cfg.name} = { + autoStart = true; + image = cfg.image; + extraOptions = [ "--device=/dev/dri" ]; + volumes = [ + "${cfg.configPath}:/config" + "${cfg.moviesPath}:/library/movies" + "${cfg.tvPath}:/library/tv" + "${cfg.transcodePath}:/tmp/unmanic" + ]; + ports = [ + "${toString cfg.port}:8888" + ]; + environment = { + PUID = cfg.puid; + PGID = cfg.pgid; + TZ = cfg.timeZone; + }; + }; + }; +} diff --git a/modules/nixos/services/wyoming/default.nix b/modules/nixos/services/wyoming/default.nix index 7ee3205..0602669 100755 --- a/modules/nixos/services/wyoming/default.nix +++ b/modules/nixos/services/wyoming/default.nix @@ -16,7 +16,7 @@ in faster-whisper.servers.hass-whisper = { enable = true; useTransformers = false; - device = lib.mkForce "cuda"; + device = lib.mkForce "auto"; language = "en"; model = "distil-large-v3"; uri = "tcp://0.0.0.0:10300"; diff --git a/systems/x86_64-linux/jallen-nas/apps.nix b/systems/x86_64-linux/jallen-nas/apps.nix index 2864c9c..2fb6228 100755 --- a/systems/x86_64-linux/jallen-nas/apps.nix +++ b/systems/x86_64-linux/jallen-nas/apps.nix @@ -63,6 +63,15 @@ }; }; + calibre = { + enable = true; + port = 8084; + webPort = 8083; + localAddress = "10.0.3.1"; + webDir = "/media/nas/main/nix-app-data/calibre-web"; + dataDir = "/media/nas/main/books"; + }; + crowdsec = { enable = true; port = 9898; @@ -87,6 +96,14 @@ }; }; + unmanic = { + enable = true; + configPath = "/media/nas/main/nix-app-data/unmanic/config"; + moviesPath = "/media/nas/main/movies"; + tvPath = "/media/nas/main/tv"; + transcodePath = "/media/nas/main/nix-app-data/unmanic/transcode"; + }; + glance = { enable = true; port = 5555; @@ -102,7 +119,7 @@ httpsPort = "3101"; }; - tdarr.enable = true; + tdarr.enable = false; authentik = { enable = true; diff --git a/systems/x86_64-linux/jallen-nas/default.nix b/systems/x86_64-linux/jallen-nas/default.nix index a5eb38f..b35bc09 100755 --- a/systems/x86_64-linux/jallen-nas/default.nix +++ b/systems/x86_64-linux/jallen-nas/default.nix @@ -62,12 +62,8 @@ in enableLuks = false; }; - nvidia = { + amd = { enable = true; - enableBeta = true; - enableOpen = true; - nvidiaSettings = true; - enableNvidiaDocker = true; }; }; @@ -78,12 +74,12 @@ in impermanence = { enable = true; extraDirectories = [ - { - directory = "/var/lib/private/authentik/media"; - user = "authentik"; - group = "authentik"; - mode = "u=rwx,g=,o="; - } + # { + # directory = "/var/lib/private/authentik/media"; + # user = "authentik"; + # group = "authentik"; + # mode = "u=rwx,g=,o="; + # } { directory = "/var/lib/crowdsec"; user = "crowdsec"; @@ -138,6 +134,7 @@ in 10200 10300 8127 + 6060 9943 # onlyoffice 4000 # netbootxyz 4080 # netbootxyz