diff --git a/flake.lock b/flake.lock index 7642be9..c173372 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1777136912, - "narHash": "sha256-owyQdC2vi0kYC119fzyVQp0J4G0t1n4xXUwryhlBbqA=", + "lastModified": 1779666993, + "narHash": "sha256-W0yA7Y37oj5BBzl4ojO8dtv9MuOvdrIZDxtRjs7kpdg=", "ref": "refs/heads/main", - "rev": "f66e12a76dbc4c669b2f1375f78bce49f5b19d66", - "revCount": 1363, + "rev": "9b7f47f7f394dce0a17a7b161e0d2fe391ce72b3", + "revCount": 1366, "type": "git", "url": "https://codeberg.org/LGFae/awww" }, @@ -57,20 +57,20 @@ "home-manager": { "inputs": { "nixpkgs": [ - "nixpkgs-25-11" + "nixpkgs-26-05" ] }, "locked": { - "lastModified": 1777851538, - "narHash": "sha256-Gp8qwTEYNoy2yvmErVGlvLOQvrtEECCAKbonW7VJef8=", + "lastModified": 1779726825, + "narHash": "sha256-RUkMrREjKDQrA+dA9+xZviGAxM5W1aVdyOr/bSYpHrE=", "owner": "nix-community", "repo": "home-manager", - "rev": "cc09c0f9b7eaa95c2d9827338a5eb03d32505ca5", + "rev": "b179bde238977f7d4454fc770b1a727eaf55111c", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.11", + "ref": "release-26.05", "repo": "home-manager", "type": "github" } @@ -179,7 +179,7 @@ }, "nix-openclaw-tools": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1778060041, @@ -196,12 +196,15 @@ } }, "nixos-hardware": { + "inputs": { + "nixpkgs": "nixpkgs_4" + }, "locked": { - "lastModified": 1777917524, - "narHash": "sha256-k+LVe9YaO2BEPB9AaCtTtOMCeGi4dxDo6gt4Un3qoPY=", + "lastModified": 1780065812, + "narHash": "sha256-SCSLUKBmwlSLGQ8Xbr8PjRFtiHNk0l9ktqkcmqdBkfE=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "df7783100babf59001340a7a874ba3824e441ecb", + "rev": "b76b5639c0593e0aeb0b5879ad62d4b30596c144", "type": "github" }, "original": { @@ -228,11 +231,11 @@ }, "nixpkgs-25-11": { "locked": { - "lastModified": 1778003029, - "narHash": "sha256-q/nkKLDtHIyLjZpKhWk3cSK5IYsFqtMd6UtXF3ddjgA=", + "lastModified": 1779796641, + "narHash": "sha256-ZsIrKmhp4vbBXoXXmR/tBXA/UCsAQiJL9vsgZEduhVY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0c88e1f2bdb93d5999019e99cb0e61e1fe2af4c5", + "rev": "25f538306313eae3927264466c70d7001dcea1df", "type": "github" }, "original": { @@ -242,13 +245,45 @@ "type": "github" } }, - "nixpkgs-unstable": { + "nixpkgs-26-05": { "locked": { - "lastModified": 1777954456, - "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=", + "lastModified": 1780203844, + "narHash": "sha256-K5sT4jTpGs15ADhviMKNBH38REpPf5Q6mM1+N6cArVE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1", + "rev": "b51242d7d43689db2f3be91bd05d5b24fbb469c4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-26.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1779560665, + "narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_10": { + "locked": { + "lastModified": 1775710090, + "narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4c1018dae018162ec878d42fec712642d214fdfa", "type": "github" }, "original": { @@ -291,6 +326,19 @@ } }, "nixpkgs_4": { + "locked": { + "lastModified": 1767892417, + "narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=", + "rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba", + "type": "tarball", + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz" + }, + "original": { + "type": "tarball", + "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" + } + }, + "nixpkgs_5": { "locked": { "lastModified": 1767364772, "narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=", @@ -306,7 +354,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1767767207, "narHash": "sha256-Mj3d3PfwltLmukFal5i3fFt27L6NiKXdBezC1EBuZs4=", @@ -322,13 +370,13 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { - "lastModified": 1777954456, - "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=", + "lastModified": 1779560665, + "narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1", + "rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786", "type": "github" }, "original": { @@ -338,7 +386,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_8": { "locked": { "lastModified": 1770107345, "narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=", @@ -354,7 +402,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_9": { "locked": { "lastModified": 1775888245, "narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=", @@ -370,36 +418,20 @@ "type": "github" } }, - "nixpkgs_9": { - "locked": { - "lastModified": 1775710090, - "narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "4c1018dae018162ec878d42fec712642d214fdfa", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "openclaw-flake": { "inputs": { "flake-utils": "flake-utils", "home-manager": "home-manager_3", "nix-openclaw-tools": "nix-openclaw-tools", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_6", "qmd": "qmd" }, "locked": { - "lastModified": 1778094402, - "narHash": "sha256-dv03sU5E8IFrj70vTbugFHxPD+GDWG0zNAjgzvs7Tb8=", + "lastModified": 1780230011, + "narHash": "sha256-AMJrXHEoL0iErcCtoksDJ6J9BgsYrH0UznmpxYh6E54=", "owner": "openclaw", "repo": "nix-openclaw", - "rev": "a2ea92cce24eccf1058b8558fc6cee46d917b7dc", + "rev": "266284148647b425e48ec67335629a5c45880d4a", "type": "github" }, "original": { @@ -426,7 +458,7 @@ }, "plover-flake": { "inputs": { - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "plover": "plover", "plover-stroke": "plover-stroke", "plover2cat": "plover2cat", @@ -435,11 +467,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1778048142, - "narHash": "sha256-ojX+VsfofIgJIi6zajqRxTCU80VibsNGSGzkwW457Ls=", + "lastModified": 1780122855, + "narHash": "sha256-WDSnD4l6q3i7HAIp8mEHIw/5y4MuZudlKAwQ29Pl1aA=", "owner": "openstenoproject", "repo": "plover-flake", - "rev": "8c313794f2f1548eeb350a04c68e887eaeac9c94", + "rev": "93dc9e615fec8b645e1443c133441fc603dc5108", "type": "github" }, "original": { @@ -530,6 +562,7 @@ "niri": "niri", "nixos-hardware": "nixos-hardware", "nixpkgs-25-11": "nixpkgs-25-11", + "nixpkgs-26-05": "nixpkgs-26-05", "nixpkgs-unstable": "nixpkgs-unstable", "openclaw-flake": "openclaw-flake", "plover-flake": "plover-flake", @@ -597,7 +630,7 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_8" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1777944972, @@ -631,7 +664,7 @@ "talon-nix": { "inputs": { "nix-github-actions": "nix-github-actions", - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1776244716, @@ -649,7 +682,7 @@ }, "treefmt-nix": { "inputs": { - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_8" }, "locked": { "lastModified": 1775636079, diff --git a/flake.nix b/flake.nix index d00b4dd..f6a40c9 100644 --- a/flake.nix +++ b/flake.nix @@ -3,9 +3,10 @@ inputs = { nixpkgs-25-11.url = "github:NixOS/nixpkgs/nixos-25.11"; + nixpkgs-26-05.url = "github:NixOS/nixpkgs/nixos-26.05"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; - home-manager.url = "github:nix-community/home-manager/release-25.11"; - home-manager.inputs.nixpkgs.follows = "nixpkgs-25-11"; + home-manager.url = "github:nix-community/home-manager/release-26.05"; + home-manager.inputs.nixpkgs.follows = "nixpkgs-26-05"; sops-nix.url = "github:Mic92/sops-nix"; nixos-hardware.url = "github:NixOS/nixos-hardware"; impermanence.url = "github:nix-community/impermanence"; @@ -22,6 +23,7 @@ outputs = { self, nixpkgs-25-11, + nixpkgs-26-05, nixpkgs-unstable, home-manager, sops-nix, @@ -106,6 +108,7 @@ flow = prev.callPackage ./pkgs/flow/package.nix { }; opencode = prev.callPackage ./pkgs/opencode/package.nix { }; pi-coding-agent = prev.callPackage ./pkgs/pi-coding-agent/package.nix { }; + xai-grok = prev.callPackage ./pkgs/xai-grok/package.nix { }; #beads = # let # bdBase = @@ -184,7 +187,7 @@ ]; }; - nixosConfigurations.liminal = nixpkgs-25-11.lib.nixosSystem { + nixosConfigurations.liminal = nixpkgs-26-05.lib.nixosSystem { inherit system; specialArgs = { inherit diff --git a/hosts/liminal/configuration.nix b/hosts/liminal/configuration.nix index 9ce3d89..0f75da5 100644 --- a/hosts/liminal/configuration.nix +++ b/hosts/liminal/configuration.nix @@ -74,7 +74,7 @@ enable = true; package = pkgs.unstable.ollama-vulkan; loadModels = [ "qwen3.5" "gpt-oss" ]; - acceleration = "vulkan"; + #acceleration = "vulkan"; #acceleration = "rocm"; #rocmOverrideGfx = "11.0.2"; }; @@ -114,6 +114,7 @@ '' 127.0.0.1 keycloak 127.0.0.1 k3d-cmvm + 172.17.0.1 docker.host.internal ''; environment.persistence."/persist" = { @@ -220,13 +221,13 @@ services.xserver.displayManager.sessionCommands = '' ( sleep 2 - ${pkgs.xorg.xrandr}/bin/xrandr --output eDP --mode 2560x1600 --rate 120 --primary --auto || true + ${pkgs.xrandr}/bin/xrandr --output eDP --mode 2560x1600 --rate 120 --primary --auto || true ) & ''; # Enable the GNOME Desktop Environment. services.displayManager.gdm.enable = true; - services.displayManager.gdm.wayland = true; + #services.displayManager.gdm.wayland = true; services.displayManager.gdm.autoSuspend = true; services.desktopManager.gnome.enable = true; @@ -250,6 +251,15 @@ pkgs.xdg-desktop-portal-gnome #pkgs.xdg-desktop-portal-hyprland ]; + + config = { + hyprland = { + default = [ "hyprland" "gtk" ]; + "org.freedesktop.impl.portal.ScreenCast" = [ "hyprland" ]; + "org.freedesktop.impl.portal.Screenshot" = [ "wlr" ]; + "org.freedesktop.impl.portal.FileChooser" = [ "gtk" ]; + }; + }; }; # Enable CUPS to print documents. @@ -306,10 +316,10 @@ home = "/home/agents"; createHome = true; homeMode = "0770"; - extraGroups = [ "docker" "audio" "video" "dialout" ]; + extraGroups = [ "docker" "audio" "video" "dialout" "input" ]; shell = pkgs.zsh; packages = with pkgs; [ - nodejs + nodejs_24 docker-credential-helpers pass pkgs.unstable.claude-code @@ -320,6 +330,7 @@ gh pkgs.unstable.opencode pkgs.pi-coding-agent + pkgs.xai-grok python3 clang clangStdenv @@ -349,17 +360,17 @@ arandr xclip scrot - xorg.xrandr - xorg.xsetroot - xorg.xset - xorg.xev + xrandr + xsetroot + xset + xev hsetroot redshift pkgs.unstable.code-cursor pkgs.unstable.cursor-cli pwvucontrol pamixer - helvum + #helvum #hp15c #nonpareil kitty # for Hyprland @@ -370,6 +381,8 @@ alsa-scarlett-gui #pkgs.unstable.ndi-6 #(pkgs.unstable.flameshot.override { enableWlrSupport = true; }) + grim + slurp hyprshot hyprpicker flameshot @@ -382,7 +395,7 @@ pinentry-gnome3 gnupg pkgs.unstable.firefox-devedition - nodejs + nodejs_24 slack mplayer ffmpeg-full @@ -404,7 +417,7 @@ #goose-cli pkgs.unstable.claude-code pkgs.unstable.codex - neofetch + #neofetch eww quickshell fuzzel @@ -437,17 +450,19 @@ awww.packages.${pkgs.stdenv.hostPlatform.system}.awww nix-index # for nix-locate sops - bitwarden-desktop - bitwarden-cli + #bitwarden-desktop + #bitwarden-cli itch dtach whois plus42 sox # claude voice pkgs.pi-coding-agent + pkgs.xai-grok xrandr-invert-colors xcalib #lean-ctx + kanata ]; }; systemd.user.services = { @@ -455,12 +470,15 @@ description = "PolKit Authentication Agent"; wantedBy = [ "graphical-session.target" ]; wants = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; after = [ "graphical-session.target" ]; + unitConfig.StartLimitIntervalSec = 0; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; + Environment = "GDK_BACKEND=wayland,x11"; Restart = "on-failure"; - RestartSec = 1; + RestartSec = 5; TimeoutStopSec = 10; }; }; @@ -504,7 +522,7 @@ bat git vim - emacs + emacs-pgtk wget curl htop @@ -551,7 +569,7 @@ }; programs._1password-gui = { enable = true; - polkitPolicyOwners = [ "hunner" ]; + polkitPolicyOwners = [ "hunner" "agents" ]; }; programs.obs-studio = { enable = true; diff --git a/pkgs/xai-grok/package.nix b/pkgs/xai-grok/package.nix new file mode 100644 index 0000000..0f64546 --- /dev/null +++ b/pkgs/xai-grok/package.nix @@ -0,0 +1,39 @@ +{ + lib, + stdenvNoCC, + fetchurl, + nodejs, +}: + +stdenvNoCC.mkDerivation rec { + pname = "xai-grok"; + version = "0.2.38"; + + src = fetchurl { + url = "https://registry.npmjs.org/@xai-official/grok-linux-x64/-/grok-linux-x64-${version}.tgz"; + hash = "sha256-E023XTq3PwPH2zBuOh4jFoUh08o6p4IPfX0x7KFUleE="; + }; + + nativeBuildInputs = [ nodejs ]; + + unpackPhase = '' + tar -xzf $src + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + node -e "const fs=require('fs'),z=require('zlib'); const b=z.brotliDecompressSync(fs.readFileSync('package/bin/grok.br')); fs.writeFileSync('$out/bin/grok', b, {mode:0o755});" + + runHook postInstall + ''; + + meta = { + description = "Official xAI Grok Build CLI"; + homepage = "https://x.ai/cli"; + license = lib.licenses.unfree; + mainProgram = "grok"; + platforms = [ "x86_64-linux" ]; + }; +}