fedora-csb-system-manager
 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 to get mpv propagatedBuildInputs fix
35    # https://github.com/NixOS/nixpkgs/pull/459155
36    inherit (final.master) feishin;
37    lazytree = final.master.lazetree;
38  };
39
40  # When applied, the unstable nixpkgs set (declared in the flake inputs) will
41  # be accessible through 'pkgs.unstable'
42  unstable-packages = _final: prev: {
43    master = import inputs.nixpkgs-master {
44      system = prev.stdenv.hostPlatform.system;
45      config.allowUnfree = true;
46      overlays = [
47        (_final: _prev: {
48          inherit (_prev) claude-code;
49          inherit (_prev) claude-code-acp;
50          inherit (_prev) codex;
51          inherit (_prev) opencode;
52          inherit (_prev) gemini-cli;
53          inherit (_prev) cursor-cli;
54          inherit (_prev) code-cursor;
55          inherit (_prev) antigravity;
56          # example = prev.example.overrideAttrs (oldAttrs: rec {
57          # ...
58          # });
59        })
60      ];
61    };
62    unstable = import inputs.nixpkgs {
63      system = prev.stdenv.hostPlatform.system;
64      config.allowUnfree = true;
65      overlays = [
66        (_final: _prev: {
67          # example = prev.example.overrideAttrs (oldAttrs: rec {
68          # ...
69          # });
70        })
71      ];
72    };
73    wip = import inputs.nixpkgs-wip-consolidated {
74      system = prev.stdenv.hostPlatform.system;
75      config.allowUnfree = true;
76    };
77  };
78
79}