diff --git a/flake.lock b/flake.lock index d81e570..3bdcc79 100644 --- a/flake.lock +++ b/flake.lock @@ -390,6 +390,24 @@ "inputs": { "nixpkgs-lib": "nixpkgs-lib_2" }, + "locked": { + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_3" + }, "locked": { "lastModified": 1772408722, "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", @@ -404,7 +422,7 @@ "type": "github" } }, - "flake-parts_3": { + "flake-parts_4": { "inputs": { "nixpkgs-lib": [ "stylix", @@ -733,6 +751,27 @@ "type": "github" } }, + "llama-cpp": { + "inputs": { + "flake-parts": "flake-parts_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775311879, + "narHash": "sha256-Y9FvhL+q8rvI+si0ctyhV9o4y+OWrVMHnXnz1iJqvqk=", + "owner": "ggml-org", + "repo": "llama.cpp", + "rev": "9c699074c97191754c8a966298f84c79f90fce38", + "type": "github" + }, + "original": { + "owner": "ggml-org", + "repo": "llama.cpp", + "type": "github" + } + }, "lsfg-vk": { "inputs": { "nixpkgs": [ @@ -784,7 +823,7 @@ "cachyos-kernel": "cachyos-kernel", "cachyos-kernel-patches": "cachyos-kernel-patches", "flake-compat": "flake-compat_4", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "nixpkgs": "nixpkgs_4" }, "locked": { @@ -986,6 +1025,18 @@ } }, "nixpkgs-lib_2": { + "locked": { + "lastModified": 1730504152, + "narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" + } + }, + "nixpkgs-lib_3": { "locked": { "lastModified": 1772328832, "narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=", @@ -1364,6 +1415,7 @@ "impermanence": "impermanence", "jovian": "jovian", "lanzaboote": "lanzaboote", + "llama-cpp": "llama-cpp", "lsfg-vk": "lsfg-vk", "nix-cachyos-kernel": "nix-cachyos-kernel", "nix-homebrew": "nix-homebrew", @@ -1498,7 +1550,7 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_4", "gnome-shell": "gnome-shell", "nixpkgs": [ "nixpkgs" diff --git a/flake.nix b/flake.nix index dd23ccc..0169ac7 100644 --- a/flake.nix +++ b/flake.nix @@ -112,6 +112,11 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + llama-cpp = { + url = "github:ggml-org/llama.cpp"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + plasma-manager = { url = "github:nix-community/plasma-manager"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/modules/nixos/services/ai/default.nix b/modules/nixos/services/ai/default.nix index 0b4646b..faa758b 100755 --- a/modules/nixos/services/ai/default.nix +++ b/modules/nixos/services/ai/default.nix @@ -2,6 +2,8 @@ config, lib, pkgs, + inputs, + system, namespace, ... }: @@ -28,7 +30,7 @@ let description = "AI Services"; options = { llama-cpp = { - model = mkOpt types.str "Qwen3-Coder-Next-UD-Q3_K_XL" ""; + model = mkOpt types.str "models--unsloth--gemma-4-26B-A4B-it-GGUF/snapshots/b8654b48d979f2853b7a81d6541ca64eea7dc3c5/gemma-4-26B-A4B-it-UD-Q8_K_XL" ""; }; }; moduleConfig = { @@ -51,8 +53,8 @@ let port = 8127; host = "0.0.0.0"; openFirewall = cfg.openFirewall; - model = null; - package = pkgs.llama-cpp-rocm; + model = "${cfg.configDir}/llama-cpp/models/${cfg.llama-cpp.model}.gguf"; + package = inputs.llama-cpp.packages.${system}.rocm; extraFlags = [ "--fit" "on" diff --git a/modules/nixos/services/arrs/default.nix b/modules/nixos/services/arrs/default.nix index 9567fb5..5475cc4 100644 --- a/modules/nixos/services/arrs/default.nix +++ b/modules/nixos/services/arrs/default.nix @@ -73,6 +73,14 @@ let package = pkgs.sonarr; }; + services.lidarr = { + enable = true; + openFirewall = cfg.openFirewall; + user = "nix-apps"; + group = "jallen-nas"; + dataDir = "${cfg.configDir}/lidarr"; + }; + # Enable Sabnzbd service services.sabnzbd = { enable = true; diff --git a/systems/x86_64-linux/jallen-nas/boot.nix b/systems/x86_64-linux/jallen-nas/boot.nix index 548729f..3e3447e 100755 --- a/systems/x86_64-linux/jallen-nas/boot.nix +++ b/systems/x86_64-linux/jallen-nas/boot.nix @@ -12,6 +12,8 @@ in # Override kernel to latest kernelPackages = kernel; + kernelParams = [ "amd_iommu=pgtbl_v2" ]; + initrd = { supportedFilesystems = [ "bcachefs" ]; # clevis = {