diff --git a/.github/workflows/build_systems.yml b/.github/workflows/build_systems.yml index 2928071..02d7ea3 100644 --- a/.github/workflows/build_systems.yml +++ b/.github/workflows/build_systems.yml @@ -23,6 +23,6 @@ jobs: steps: - uses: actions/checkout@v4 - name: Build default package - run: "nixos-rebuild build --flake ./#${{ matrix.system }}" + run: "nixos-rebuild build --accept-flake-config --flake ./#${{ matrix.system }}" - name: copy to nix-cache run: nix copy --accept-flake-config --to unix:///host-nix/var/nix/daemon-socket/socket .#nixosConfigurations.${{ matrix.system }}.config.system.build.toplevel diff --git a/flake.lock b/flake.lock index 793eb3a..009a4bc 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1777521781, - "narHash": "sha256-bQ9oIcNyHsiagt7yptfe7OmfUDEyuXFUb7ajkrWNzSo=", + "lastModified": 1778385775, + "narHash": "sha256-n0MUvWA2SML/qBB4hpShQ7i+i961MX4oPtaQfYo0+uU=", "owner": "rycee", "repo": "nur-expressions", - "rev": "8a444a5c02840666c9c2f92042bfbb7a10c68200", + "rev": "268324916742a48cd03b94fd63f2822d6b66d519", "type": "gitlab" }, "original": { @@ -29,11 +29,11 @@ ] }, "locked": { - "lastModified": 1777518431, - "narHash": "sha256-SwgiG2T5pbyo33Vz7/vUCAhEMgwCK8Pa2nDSx5a6/WE=", + "lastModified": 1778365864, + "narHash": "sha256-ImoT/wqmgMImf2dAC+E0MverAdA4QXsedOeES9B7Ezw=", "owner": "nix-community", "repo": "home-manager", - "rev": "2e54a938cdd4c8e414b2518edc3d82308027c670", + "rev": "2f419037039a152448c5f4ae9494154753d1b399", "type": "github" }, "original": { @@ -44,11 +44,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1776983936, - "narHash": "sha256-ZOQyNqSvJ8UdrrqU1p7vaFcdL53idK+LOM8oRWEWh6o=", + "lastModified": 1778143761, + "narHash": "sha256-lkesY6x2X2qxlqLM7CT2iM/0rP2JB7fruPN3h8POXmI=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "2096f3f411ce46e88a79ae4eafcfc9df8ed41c61", + "rev": "3bcaa367d4c550d687a17ac792fd5cda214ee871", "type": "github" }, "original": { @@ -60,11 +60,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1777268161, - "narHash": "sha256-bxrdOn8SCOv8tN4JbTF/TXq7kjo9ag4M+C8yzzIRYbE=", + "lastModified": 1777954456, + "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1c3fe55ad329cbcb28471bb30f05c9827f724c76", + "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1", "type": "github" }, "original": { @@ -76,11 +76,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1777553282, - "narHash": "sha256-GCJkEogieqOYJ1BBhG0w9fqezul1cGdEcmBbJ+34F4U=", + "lastModified": 1778434251, + "narHash": "sha256-TznExR00uHvyeJsQW9cy8aBCW8W8sIvhzoVjAQTEyiw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0d93cb69a4fd4449088c69859e1836fda6eb9f6a", + "rev": "4f90e32d9c535072f0a6a9ac4599f1e78b829eab", "type": "github" }, "original": { @@ -125,11 +125,11 @@ ] }, "locked": { - "lastModified": 1777338324, - "narHash": "sha256-bc+ZZCmOTNq86/svGnw0tVpH7vJaLYvGLLKFYP08Q8E=", + "lastModified": 1777944972, + "narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=", "owner": "Mic92", "repo": "sops-nix", - "rev": "8eaee5c45428b28b8c47a83e4c09dccec5f279b5", + "rev": "c591bf665727040c6cc5cb409079acb22dcce33c", "type": "github" }, "original": { diff --git a/overlays/default.nix b/overlays/default.nix index a1cbec3..ee5a252 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -23,7 +23,6 @@ apscheduler fastapi fastapi-cli - faster-whisper httpx mypy orjson diff --git a/systems/bob/llms.nix b/systems/bob/llms.nix index be161e7..9476ea4 100644 --- a/systems/bob/llms.nix +++ b/systems/bob/llms.nix @@ -42,11 +42,12 @@ "qwen3:8b" "qwen3.5:27b" "qwen3.5:35b" + "qwen3.6:27b" "qwen3.6:35b" + "rinex20/translategemma3:12b" "translategemma:12b" "translategemma:27b" "translategemma:4b" - "rinex20/translategemma3:12b" ]; models = "/zfs/storage/models"; openFirewall = true; diff --git a/systems/jeeves/services/camofox-browser.nix b/systems/jeeves/services/camofox-browser.nix new file mode 100644 index 0000000..afe188e --- /dev/null +++ b/systems/jeeves/services/camofox-browser.nix @@ -0,0 +1,80 @@ +{ + ... +}: +let + vars = import ../vars.nix; +in +{ + systemd.tmpfiles.rules = [ + "d ${vars.docker_configs}/camofox-browser 0750 root root - -" + ]; + + containers.camofox-browser = { + autoStart = true; + privateNetwork = false; + bindMounts = { + camofox-browser = { + hostPath = "${vars.docker_configs}/camofox-browser"; + mountPoint = "/var/lib/camofox-browser"; + isReadOnly = false; + }; + }; + config = + { + pkgs, + lib, + ... + }: + { + networking.hostName = "camofox-browser"; + + environment.systemPackages = with pkgs; [ + ffmpeg + git + nodejs + python3Packages.yt-dlp + ]; + + systemd.services.camofox-browser = { + description = "Camofox browser server"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + environment = { + CAMOFOX_HOST = "127.0.0.1"; + CAMOFOX_PORT = "9377"; + HOME = "/var/lib/camofox-browser"; + }; + path = with pkgs; [ + bash + coreutils + git + nodejs + ]; + serviceConfig = { + Restart = "always"; + RestartSec = "5s"; + WorkingDirectory = "/var/lib/camofox-browser"; + }; + script = '' + set -eu + + app_dir=/var/lib/camofox-browser/app + + if [ ! -d "$app_dir/.git" ]; then + git clone --depth 1 https://github.com/jo-inc/camofox-browser "$app_dir" + fi + + cd "$app_dir" + + if [ ! -d node_modules ]; then + npm install + fi + + exec npm start + ''; + }; + + system.stateVersion = lib.mkDefault "24.05"; + }; + }; +} diff --git a/systems/rhapsody-in-green/default.nix b/systems/rhapsody-in-green/default.nix index 569e813..b02a36d 100644 --- a/systems/rhapsody-in-green/default.nix +++ b/systems/rhapsody-in-green/default.nix @@ -11,10 +11,8 @@ "${inputs.self}/common/optional/yubikey.nix" "${inputs.self}/common/optional/zerotier.nix" ./hardware.nix - ./llms.nix ./open_webui.nix ./qmk.nix - ./sunshine.nix ./syncthing.nix inputs.nixos-hardware.nixosModules.framework-13-7040-amd ]; @@ -27,6 +25,7 @@ allowedTCPPorts = [ 8000 8080 + 8081 ]; }; networkmanager.enable = true; diff --git a/systems/rhapsody-in-green/edid/virtual-display.bin b/systems/rhapsody-in-green/edid/virtual-display.bin deleted file mode 100644 index ef63be7..0000000 Binary files a/systems/rhapsody-in-green/edid/virtual-display.bin and /dev/null differ diff --git a/systems/rhapsody-in-green/llms.nix b/systems/rhapsody-in-green/llms.nix deleted file mode 100644 index 0c2236f..0000000 --- a/systems/rhapsody-in-green/llms.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - services.ollama = { - user = "ollama"; - enable = true; - host = "127.0.0.1"; - syncModels = true; - loadModels = [ - "deepscaler:1.5b" - "deepseek-r1:8b" - "gemma3:12b" - "lfm2:24b" - "nemotron-3-nano:4b" - "qwen3:14b" - "qwen3.5:27b" - ]; - }; - systemd.services = { - ollama.serviceConfig = { - Nice = 19; - IOSchedulingPriority = 7; - }; - ollama-model-loader.serviceConfig = { - Nice = 19; - CPUWeight = 50; - IOSchedulingClass = "idle"; - IOSchedulingPriority = 7; - }; - }; -} diff --git a/systems/rhapsody-in-green/sunshine.nix b/systems/rhapsody-in-green/sunshine.nix deleted file mode 100644 index a553433..0000000 --- a/systems/rhapsody-in-green/sunshine.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ pkgs, ... }: -{ - services.sunshine = { - enable = true; - openFirewall = true; - capSysAdmin = true; - }; - environment.systemPackages = [ pkgs.kdePackages.libkscreen ]; - - boot = { - kernelParams = [ - "drm.edid_firmware=DP-4:edid/virtual-display.bin" - "video=DP-4:e" - ]; - }; - - hardware.firmware = [ - (pkgs.runCommandLocal "virtual-display-edid" - { - compressFirmware = false; - } - '' - mkdir -p $out/lib/firmware/edid - cp ${./edid/virtual-display.bin} $out/lib/firmware/edid/virtual-display.bin - '' - ) - ]; -} diff --git a/users/richie/home/gui/default.nix b/users/richie/home/gui/default.nix index 3b1eaa4..e9ebde6 100644 --- a/users/richie/home/gui/default.nix +++ b/users/richie/home/gui/default.nix @@ -6,6 +6,7 @@ "${inputs.self}/users/shared/sweet.nix" ./firefox ./kitty.nix + ./llm_tools.nix ./vscode ]; @@ -21,11 +22,8 @@ # browser chromium # dev tools - claude-code - codex gparted jetbrains.datagrip - opencode proxychains ]; } diff --git a/users/richie/home/gui/firefox/default.nix b/users/richie/home/gui/firefox/default.nix index efd935a..8a83df8 100644 --- a/users/richie/home/gui/firefox/default.nix +++ b/users/richie/home/gui/firefox/default.nix @@ -1,8 +1,9 @@ -{ inputs, ... }: +{ config, inputs, ... }: { imports = [ ./search_engines.nix ]; programs.firefox = { + configPath = "${config.xdg.configHome}/mozilla/firefox"; enable = true; profiles.richie = { extensions.packages = with inputs.firefox-addons.packages.x86_64-linux; [ diff --git a/users/richie/home/gui/llm_tools.nix b/users/richie/home/gui/llm_tools.nix new file mode 100644 index 0000000..05ae585 --- /dev/null +++ b/users/richie/home/gui/llm_tools.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + home.packages = [ + pkgs.claude-code + pkgs.master.codex + pkgs.master.opencode + pkgs.master.pi-coding-agent + ]; +}