|
3 | 3 |
|
4 | 4 | inputs = {
|
5 | 5 | nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
| 6 | + |
| 7 | + # NOTE: This is only to deduplicate inputs |
| 8 | + flake-utils = { |
| 9 | + url = "github:numtide/flake-utils"; |
| 10 | + }; |
| 11 | + |
| 12 | + nuscht-search = { |
| 13 | + url = "github:NuschtOS/search"; |
| 14 | + inputs = { |
| 15 | + nixpkgs.follows = "nixpkgs"; |
| 16 | + flake-utils.follows = "flake-utils"; |
| 17 | + }; |
| 18 | + }; |
| 19 | + |
| 20 | + catppuccin-rolling = { |
| 21 | + url = "github:catppuccin/nix"; |
| 22 | + }; |
| 23 | + |
| 24 | + catppuccin-v1 = { |
| 25 | + url = "https://flakehub.com/f/catppuccin/nix/1.*.tar.gz"; |
| 26 | + }; |
| 27 | + |
6 | 28 | nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.05";
|
7 | 29 |
|
8 | 30 | home-manager = {
|
|
19 | 41 | outputs =
|
20 | 42 | {
|
21 | 43 | self,
|
| 44 | + nuscht-search, |
22 | 45 | nixpkgs,
|
23 | 46 | nixpkgs-stable,
|
24 | 47 | home-manager,
|
25 | 48 | home-manager-stable,
|
26 |
| - }: |
| 49 | + ... |
| 50 | + }@inputs: |
| 51 | + |
27 | 52 | let
|
28 | 53 | systems = [
|
29 | 54 | "x86_64-linux"
|
|
38 | 63 | });
|
39 | 64 |
|
40 | 65 | forAllSystems = nixpkgs.lib.genAttrs systems;
|
| 66 | + |
| 67 | + # Versions of the modules we want to index in our search |
| 68 | + searchVersions = [ |
| 69 | + { |
| 70 | + versionName = "v1"; |
| 71 | + catppuccin = inputs.catppuccin-v1; |
| 72 | + } |
| 73 | + { |
| 74 | + versionName = "rolling"; |
| 75 | + catppuccin = inputs.catppuccin-rolling; |
| 76 | + } |
| 77 | + ]; |
| 78 | + |
41 | 79 | in
|
| 80 | + |
42 | 81 | {
|
43 | 82 | apps = forAllSystems (
|
44 | 83 | system:
|
| 84 | + |
45 | 85 | let
|
46 | 86 | pkgs = nixpkgsFor.${system}.unstable;
|
47 | 87 | inherit (pkgs) lib;
|
48 | 88 | in
|
| 89 | + |
49 | 90 | {
|
50 | 91 | serve = {
|
51 | 92 | type = "app";
|
|
56 | 97 |
|
57 | 98 | checks = forAllSystems (
|
58 | 99 | system:
|
| 100 | + |
59 | 101 | let
|
60 | 102 | pkgs = nixpkgsFor.${system};
|
61 | 103 | inherit (pkgs.unstable) lib;
|
62 | 104 |
|
63 | 105 | callUnstable = lib.flip pkgs.unstable.callPackage { inherit home-manager; };
|
64 | 106 | callStable = lib.flip pkgs.stable.callPackage { home-manager = home-manager-stable; };
|
65 | 107 | in
|
| 108 | + |
66 | 109 | lib.optionalAttrs pkgs.unstable.stdenv.hostPlatform.isDarwin {
|
67 | 110 | darwin-test-unstable = callUnstable ../tests/darwin.nix;
|
68 | 111 | darwin-test-stable = callStable ../tests/darwin.nix;
|
|
77 | 120 |
|
78 | 121 | packages = forAllSystems (
|
79 | 122 | system:
|
| 123 | + |
80 | 124 | let
|
81 | 125 | pkgs = nixpkgsFor.${system}.unstable;
|
82 | 126 | inherit (pkgs) lib;
|
83 | 127 |
|
84 |
| - version = self.shortRev or self.dirtyShortRev or "unknown"; |
85 |
| - mkOptionDoc = pkgs.callPackage ../docs/options-doc.nix { }; |
86 | 128 | mkSite = pkgs.callPackage ../docs/mk-site.nix { };
|
87 |
| - packages' = self.packages.${system}; |
88 |
| - in |
89 |
| - { |
90 |
| - nixos-doc = mkOptionDoc { |
91 |
| - inherit version; |
92 |
| - moduleRoot = ../modules/nixos; |
| 129 | + mkSearchInstance = pkgs.callPackage ../docs/mk-search.nix { |
| 130 | + inherit (nuscht-search.packages.${system}) mkMultiSearch; |
93 | 131 | };
|
94 | 132 |
|
95 |
| - home-manager-doc = mkOptionDoc { |
96 |
| - inherit version; |
97 |
| - moduleRoot = ../modules/home-manager; |
98 |
| - }; |
| 133 | + search-instances = lib.listToAttrs ( |
| 134 | + map ( |
| 135 | + { catppuccin, versionName }: |
| 136 | + { |
| 137 | + name = "search-${versionName}"; |
| 138 | + value = mkSearchInstance { inherit catppuccin versionName; }; |
| 139 | + } |
| 140 | + ) searchVersions |
| 141 | + ); |
| 142 | + in |
| 143 | + |
| 144 | + search-instances |
| 145 | + // { |
| 146 | + site = mkSite { |
| 147 | + pname = "catppuccin-nix-site"; |
| 148 | + version = self.shortRev or self.dirtyShortRev or "unknown"; |
| 149 | + |
| 150 | + src = ../docs; |
| 151 | + |
| 152 | + postPatch = "ln -sf ${inputs.catppuccin-rolling + "/CHANGELOG.md"} src/NEWS.md"; |
99 | 153 |
|
100 |
| - site = mkSite rec { |
101 |
| - pname = "catppuccin-nix-website"; |
102 |
| - inherit version; |
103 |
| - |
104 |
| - src = lib.fileset.toSource { |
105 |
| - root = ../.; |
106 |
| - fileset = lib.fileset.unions [ |
107 |
| - ../CHANGELOG.md |
108 |
| - ../docs/src |
109 |
| - ../docs/book.toml |
110 |
| - ../docs/theme |
111 |
| - ]; |
112 |
| - }; |
113 |
| - sourceRoot = "${src.name}/docs"; |
114 |
| - |
115 |
| - nixosDoc = packages'.nixos-doc; |
116 |
| - homeManagerDoc = packages'.home-manager-doc; |
| 154 | + postInstall = lib.concatLines ( |
| 155 | + [ "mkdir -p $out/search" ] |
| 156 | + ++ lib.mapAttrsToList ( |
| 157 | + name: value: "ln -s ${value.outPath} $out/${lib.replaceStrings [ "-" ] [ "/" ] name}" |
| 158 | + ) search-instances |
| 159 | + ); |
117 | 160 | };
|
118 | 161 |
|
119 | 162 | add-source =
|
|
133 | 176 | chmod 755 $out/bin/add-source
|
134 | 177 | '';
|
135 | 178 |
|
136 |
| - default = packages'.site; |
| 179 | + default = self.packages.${system}.site; |
137 | 180 | }
|
138 | 181 | );
|
139 | 182 | };
|
|
0 commit comments