flake-update-20260505
1{ inputs, ... }:
2let
3 globals = import ../globals.nix { };
4in
5{
6 # FIXME: migrate to pkgs and overlays on root
7 additions =
8 final: _prev:
9 import ../pkgs {
10 pkgs = final;
11 inherit globals;
12 };
13 modifications = final: prev: {
14 # Pin SearXNG to latest commit for critical engine fixes:
15 # - Google useragent bypass (#5892, 2026-03-23)
16 # - Bing engine rework (#5793, 2026-03-18)
17 searxng = prev.searxng.overrideAttrs (_oldAttrs: {
18 version = "0-unstable-2026-03-23";
19 src = final.fetchFromGitHub {
20 owner = "searxng";
21 repo = "searxng";
22 rev = "2c1ce3bd37a2";
23 hash = "sha256-Ml7aJXr4IudH/ZnlXDU8OdnUELBb6/vcpAAhAXwhW8A=";
24 };
25 });
26 go_1_25_8 = prev.go_1_25.overrideAttrs (_finalAttrs: {
27 version = "1.25.8";
28 src = final.fetchurl {
29 url = "https://go.dev/dl/go1.25.8.src.tar.gz";
30 hash = "sha256-6YjUokRqx/4/baoImljpk2pSo4E1Wt7ByJgyMKjWxZ4=";
31 };
32 });
33
34 buildGo1258Module = prev.buildGoModule.override {
35 go = final.go_1_25_8;
36 };
37
38 cosign = prev.cosign.override {
39 buildGoModule = final.buildGo1258Module;
40 };
41
42 # Use feishin from master with mpv-unwrapped to avoid wrapper breakage
43 # https://github.com/NixOS/nixpkgs/pull/459155
44 feishin = final.master.feishin.override {
45 mpv-unwrapped = prev.mpv-unwrapped;
46 };
47
48 };
49
50 # When applied, the unstable nixpkgs set (declared in the flake inputs) will
51 # be accessible through 'pkgs.unstable'
52 unstable-packages = _final: prev: {
53 master = import inputs.nixpkgs-master {
54 system = prev.stdenv.hostPlatform.system;
55 config.allowUnfree = true;
56 overlays = [
57 (_final: _prev: {
58 inherit (_prev) claude-code;
59 inherit (_prev) claude-agent-acp;
60 inherit (_prev) codex;
61 inherit (_prev) opencode;
62 inherit (_prev) gemini-cli;
63 inherit (_prev) cursor-cli;
64 inherit (_prev) code-cursor;
65 inherit (_prev) antigravity;
66 inherit (_prev) lazyworktree;
67 inherit (_prev) devenv;
68 inherit (_prev) apko;
69 # example = prev.example.overrideAttrs (oldAttrs: rec {
70 # ...
71 # });
72 })
73 ];
74 };
75 unstable = import inputs.nixpkgs {
76 system = prev.stdenv.hostPlatform.system;
77 config.allowUnfree = true;
78 overlays = [
79 (_final: _prev: {
80 # example = prev.example.overrideAttrs (oldAttrs: rec {
81 # ...
82 # });
83 })
84 ];
85 };
86 wip = import inputs.nixpkgs-wip-consolidated {
87 system = prev.stdenv.hostPlatform.system;
88 config.allowUnfree = true;
89 };
90 };
91
92}