diff --git a/flake.lock b/flake.lock index db0ad90..220f3c3 100644 --- a/flake.lock +++ b/flake.lock @@ -473,6 +473,27 @@ } }, "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "hermes", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1772408722, + "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_2" }, @@ -490,7 +511,7 @@ "type": "github" } }, - "flake-parts_3": { + "flake-parts_4": { "inputs": { "nixpkgs-lib": [ "navi", @@ -512,7 +533,7 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_5": { "inputs": { "nixpkgs-lib": [ "navi", @@ -534,7 +555,7 @@ "type": "github" } }, - "flake-parts_5": { + "flake-parts_6": { "inputs": { "nixpkgs-lib": "nixpkgs-lib_3" }, @@ -552,7 +573,7 @@ "type": "github" } }, - "flake-parts_6": { + "flake-parts_7": { "inputs": { "nixpkgs-lib": [ "nur", @@ -609,6 +630,29 @@ "type": "github" } }, + "hermes": { + "inputs": { + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs", + "npm-lockfile-fix": "npm-lockfile-fix", + "pyproject-build-systems": "pyproject-build-systems", + "pyproject-nix": "pyproject-nix", + "uv2nix": "uv2nix" + }, + "locked": { + "lastModified": 1783286111, + "narHash": "sha256-t0NRlftLETETXef9nGI0wvD0YvouudXsKQMpyOpCSc4=", + "owner": "NousResearch", + "repo": "hermes-agent", + "rev": "c9a150d6407b700b4fb2f693415ba143b56a40eb", + "type": "github" + }, + "original": { + "owner": "NousResearch", + "repo": "hermes-agent", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -684,10 +728,10 @@ "navi": { "inputs": { "crane": "crane", - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "nix-github-actions": "nix-github-actions", "nixos-anywhere": "nixos-anywhere", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "stable": "stable", "tofunix": "tofunix" }, @@ -767,7 +811,7 @@ "nixcord": { "inputs": { "flake-compat": "flake-compat", - "flake-parts": "flake-parts_5", + "flake-parts": "flake-parts_6", "nixpkgs": [ "nixpkgs" ], @@ -790,7 +834,7 @@ "nixos-anywhere": { "inputs": { "disko": "disko", - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_4", "nix-vm-test": "nix-vm-test", "nixos-images": "nixos-images", "nixos-stable": "nixos-stable", @@ -910,11 +954,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1750134718, - "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", + "lastModified": 1775036866, + "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", + "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e", "type": "github" }, "original": { @@ -986,6 +1030,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1750134718, + "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1781577229, "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", @@ -1001,7 +1061,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1780336545, "narHash": "sha256-vhVhuXzFrIOfcssC/9hDHx7MHzDKjF3keHuREOQqQiQ=", @@ -1036,9 +1096,30 @@ "url": "https://flakehub.com/f/AshleyYakeley/NixVirt/%2A.tar.gz" } }, + "npm-lockfile-fix": { + "inputs": { + "nixpkgs": [ + "hermes", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775903712, + "narHash": "sha256-2GV79U6iVH4gKAPWYrxUReB0S41ty/Y3dBLquU8AlaA=", + "owner": "jeslie0", + "repo": "npm-lockfile-fix", + "rev": "c6093acb0c0548e0f9b8b3d82918823721930fe8", + "type": "github" + }, + "original": { + "owner": "jeslie0", + "repo": "npm-lockfile-fix", + "type": "github" + } + }, "nur": { "inputs": { - "flake-parts": "flake-parts_6", + "flake-parts": "flake-parts_7", "nixpkgs": [ "nixpkgs" ] @@ -1102,6 +1183,56 @@ "url": "https://git.chiasson.cloud/Olivier/Personal-Website" } }, + "pyproject-build-systems": { + "inputs": { + "nixpkgs": [ + "hermes", + "nixpkgs" + ], + "pyproject-nix": [ + "hermes", + "pyproject-nix" + ], + "uv2nix": [ + "hermes", + "uv2nix" + ] + }, + "locked": { + "lastModified": 1772555609, + "narHash": "sha256-3BA3HnUvJSbHJAlJj6XSy0Jmu7RyP2gyB/0fL7XuEDo=", + "owner": "pyproject-nix", + "repo": "build-system-pkgs", + "rev": "c37f66a953535c394244888598947679af231863", + "type": "github" + }, + "original": { + "owner": "pyproject-nix", + "repo": "build-system-pkgs", + "type": "github" + } + }, + "pyproject-nix": { + "inputs": { + "nixpkgs": [ + "hermes", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1772865871, + "narHash": "sha256-/ZTSg97aouL0SlPHaokA4r3iuH9QzHVuWPACD2CUCFY=", + "owner": "pyproject-nix", + "repo": "pyproject.nix", + "rev": "e537db02e72d553cea470976b9733581bcf5b3ed", + "type": "github" + }, + "original": { + "owner": "pyproject-nix", + "repo": "pyproject.nix", + "type": "github" + } + }, "quickshell": { "inputs": { "nixpkgs": [ @@ -1149,6 +1280,7 @@ "dms-plugin-widget-group": "dms-plugin-widget-group", "dms-plugin-wvkbd-toggle": "dms-plugin-wvkbd-toggle", "flake-parts": "flake-parts", + "hermes": "hermes", "home-manager": "home-manager", "import-tree": "import-tree", "mobile-nixos": "mobile-nixos", @@ -1156,7 +1288,7 @@ "nix-monitor": "nix-monitor", "nixcord": "nixcord", "nixos-raspberrypi": "nixos-raspberrypi", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixvirt": "nixvirt", "nur": "nur", "oom-hardware": "oom-hardware", @@ -1347,7 +1479,7 @@ }, "tofunix": { "inputs": { - "flake-parts": "flake-parts_4", + "flake-parts": "flake-parts_5", "nixpkgs": [ "navi", "nixpkgs" @@ -1390,6 +1522,31 @@ "type": "github" } }, + "uv2nix": { + "inputs": { + "nixpkgs": [ + "hermes", + "nixpkgs" + ], + "pyproject-nix": [ + "hermes", + "pyproject-nix" + ] + }, + "locked": { + "lastModified": 1773039484, + "narHash": "sha256-+boo33KYkJDw9KItpeEXXv8+65f7hHv/earxpcyzQ0I=", + "owner": "pyproject-nix", + "repo": "uv2nix", + "rev": "b68be7cfeacbed9a3fa38a2b5adc0cfb81d9bb1f", + "type": "github" + }, + "original": { + "owner": "pyproject-nix", + "repo": "uv2nix", + "type": "github" + } + }, "wallpapers": { "flake": false, "locked": { @@ -1408,7 +1565,7 @@ }, "wrapper-modules": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1782135443, diff --git a/flake.nix b/flake.nix index 51bd9c3..27d9097 100644 --- a/flake.nix +++ b/flake.nix @@ -200,6 +200,9 @@ url = "https://flakehub.com/f/AshleyYakeley/NixVirt/*.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; }; + hermes = { + url = "github:NousResearch/hermes-agent"; + }; }; outputs = inputs: diff --git a/modules/hosts/14900k/_private/ai.nix b/modules/hosts/14900k/_private/ai.nix new file mode 100644 index 0000000..2b075a4 --- /dev/null +++ b/modules/hosts/14900k/_private/ai.nix @@ -0,0 +1,11 @@ +{config, inputs, pkgs, ...}: { + imports = [ + inputs.hermes.nixosModules.default + ]; + services.ollama = { + enable = true; + # Replace the old acceleration line with this: + package = pkgs.ollama-cuda; + }; + chiasson.users.extraModules.olivier = [{chiasson.home.extraPackages = with pkgs; [ zed-editor windsurf];}]; +} \ No newline at end of file diff --git a/modules/hosts/14900k/configuration.nix b/modules/hosts/14900k/configuration.nix index 26b63c9..e7a2217 100644 --- a/modules/hosts/14900k/configuration.nix +++ b/modules/hosts/14900k/configuration.nix @@ -19,12 +19,15 @@ ./_private/peripherals.nix # ./_private/printing-epson.nix ./_private/displays.nix + ./_private/streaming-display.nix + ./_private/ai.nix ./_private/media-disk.nix ./_private/jellyfin-nfs-export.nix ./_private/moonfin-flatpak.nix ]; services.cloudflare-warp.enable = true; + programs.nix-ld.enable = true; boot.kernel.sysctl."fs.inotify.max_user_watches" = 1048576; boot.kernel.sysctl."fs.inotify.max_user_instances" = 2048;