flake-update-20260201
 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    # example = prev.example.overrideAttrs (oldAttrs: rec {
15    # ...
16    # });
17    # custom-caddy = import ./custom-caddy.nix { pkgs = prev; };
18    go_1_25_3 = prev.go_1_25.overrideAttrs (_finalAttrs: {
19      version = "1.25.3";
20      src = final.fetchurl {
21        url = "https://go.dev/dl/go1.25.3.src.tar.gz";
22        hash = "sha256-qBpLpZPQAV4QxR4mfeP/B8eskU38oDfZUX0ClRcJd5U=";
23      };
24    });
25
26    buildGo1253Module = prev.buildGoModule.override {
27      go = final.go_1_25_3;
28    };
29
30    cosign = prev.cosign.override {
31      buildGoModule = final.buildGo1253Module;
32    };
33
34    # Use feishin from master with mpv-unwrapped to avoid wrapper breakage
35    # https://github.com/NixOS/nixpkgs/pull/459155
36    feishin = final.master.feishin.override {
37      mpv = prev.mpv-unwrapped;
38    };
39  };
40
41  # When applied, the unstable nixpkgs set (declared in the flake inputs) will
42  # be accessible through 'pkgs.unstable'
43  unstable-packages = _final: prev: {
44    master = import inputs.nixpkgs-master {
45      system = prev.stdenv.hostPlatform.system;
46      config.allowUnfree = true;
47      overlays = [
48        (_final: _prev: {
49          inherit (_prev) claude-code;
50          inherit (_prev) claude-code-acp;
51          inherit (_prev) codex;
52          inherit (_prev) opencode;
53          inherit (_prev) gemini-cli;
54          inherit (_prev) cursor-cli;
55          inherit (_prev) code-cursor;
56          inherit (_prev) antigravity;
57          inherit (_prev) lazyworktree;
58          # example = prev.example.overrideAttrs (oldAttrs: rec {
59          # ...
60          # });
61        })
62      ];
63    };
64    unstable = import inputs.nixpkgs {
65      system = prev.stdenv.hostPlatform.system;
66      config.allowUnfree = true;
67      overlays = [
68        (_final: _prev: {
69          # example = prev.example.overrideAttrs (oldAttrs: rec {
70          # ...
71          # });
72        })
73      ];
74    };
75    wip = import inputs.nixpkgs-wip-consolidated {
76      system = prev.stdenv.hostPlatform.system;
77      config.allowUnfree = true;
78    };
79  };
80
81}