|
1 | 1 | {
|
2 | 2 | description = "A highly structured configuration database.";
|
3 | 3 |
|
4 |
| - nixConfig.extra-experimental-features = "nix-command flakes ca-references"; |
5 |
| - nixConfig.extra-substituters = |
6 |
| - "https://nrdxp.cachix.org https://nix-community.cachix.org"; |
7 |
| - nixConfig.extra-trusted-public-keys = |
8 |
| - "nrdxp.cachix.org-1:Fc5PSqY2Jm1TrWfm88l6cvGWwz3s93c6IOifQWnhNW4= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="; |
| 4 | + nixConfig.extra-experimental-features = "nix-command flakes"; |
| 5 | + nixConfig.extra-substituters = "https://nrdxp.cachix.org https://nix-community.cachix.org"; |
| 6 | + nixConfig.extra-trusted-public-keys = "nrdxp.cachix.org-1:Fc5PSqY2Jm1TrWfm88l6cvGWwz3s93c6IOifQWnhNW4= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="; |
9 | 7 |
|
10 |
| - inputs = { |
11 |
| - nixos.url = "github:nixos/nixpkgs/nixos-unstable"; |
12 |
| - latest.url = "github:nixos/nixpkgs/master"; |
| 8 | + inputs = |
| 9 | + { |
| 10 | + nixos.url = "github:nixos/nixpkgs/release-21.11"; |
| 11 | + latest.url = "github:nixos/nixpkgs/nixos-unstable"; |
13 | 12 |
|
14 |
| - digga.url = "github:divnix/digga"; |
15 |
| - digga.inputs.nixpkgs.follows = "nixos"; |
16 |
| - digga.inputs.nixlib.follows = "nixos"; |
17 |
| - digga.inputs.home-manager.follows = "home"; |
| 13 | + digga.url = "github:divnix/digga"; |
| 14 | + digga.inputs.nixpkgs.follows = "nixos"; |
| 15 | + digga.inputs.nixlib.follows = "nixos"; |
| 16 | + digga.inputs.home-manager.follows = "home"; |
| 17 | + digga.inputs.deploy.follows = "deploy"; |
18 | 18 |
|
19 |
| - bud.url = "github:divnix/bud"; |
20 |
| - bud.inputs.nixpkgs.follows = "nixos"; |
21 |
| - bud.inputs.devshell.follows = "digga/devshell"; |
| 19 | + bud.url = "github:divnix/bud"; |
| 20 | + bud.inputs.nixpkgs.follows = "nixos"; |
| 21 | + bud.inputs.devshell.follows = "digga/devshell"; |
22 | 22 |
|
23 |
| - home.url = "github:nix-community/home-manager"; |
24 |
| - home.inputs.nixpkgs.follows = "nixos"; |
| 23 | + home.url = "github:nix-community/home-manager/release-21.11"; |
| 24 | + home.inputs.nixpkgs.follows = "nixos"; |
25 | 25 |
|
26 |
| - darwin.url = "github:LnL7/nix-darwin"; |
27 |
| - darwin.inputs.nixpkgs.follows = "latest"; |
| 26 | + darwin.url = "github:LnL7/nix-darwin"; |
| 27 | + darwin.inputs.nixpkgs.follows = "nixos"; |
28 | 28 |
|
29 |
| - deploy.follows = "digga/deploy"; |
| 29 | + deploy.url = "github:input-output-hk/deploy-rs"; |
| 30 | + deploy.inputs.nixpkgs.follows = "nixos"; |
30 | 31 |
|
31 |
| - agenix.url = "github:ryantm/agenix"; |
32 |
| - agenix.inputs.nixpkgs.follows = "latest"; |
| 32 | + agenix.url = "github:ryantm/agenix"; |
| 33 | + agenix.inputs.nixpkgs.follows = "nixos"; |
33 | 34 |
|
34 |
| - nvfetcher.url = "github:berberman/nvfetcher"; |
35 |
| - nvfetcher.inputs.nixpkgs.follows = "latest"; |
36 |
| - nvfetcher.inputs.flake-compat.follows = "digga/deploy/flake-compat"; |
37 |
| - nvfetcher.inputs.flake-utils.follows = "digga/flake-utils-plus/flake-utils"; |
| 35 | + nvfetcher.url = "github:berberman/nvfetcher"; |
| 36 | + nvfetcher.inputs.nixpkgs.follows = "nixos"; |
38 | 37 |
|
39 |
| - naersk.url = "github:nmattia/naersk"; |
40 |
| - naersk.inputs.nixpkgs.follows = "latest"; |
| 38 | + naersk.url = "github:nmattia/naersk"; |
| 39 | + naersk.inputs.nixpkgs.follows = "nixos"; |
41 | 40 |
|
42 |
| - nixos-hardware.url = "github:nixos/nixos-hardware"; |
| 41 | + nixos-hardware.url = "github:nixos/nixos-hardware"; |
| 42 | + }; |
43 | 43 |
|
44 |
| - # start ANTI CORRUPTION LAYER |
45 |
| - # remove after https://github.com/NixOS/nix/pull/4641 |
46 |
| - nixpkgs.follows = "nixos"; |
47 |
| - nixlib.follows = "digga/nixlib"; |
48 |
| - blank.follows = "digga/blank"; |
49 |
| - flake-utils-plus.follows = "digga/flake-utils-plus"; |
50 |
| - flake-utils.follows = "digga/flake-utils"; |
51 |
| - # end ANTI CORRUPTION LAYER |
52 |
| - }; |
| 44 | + outputs = |
| 45 | + { self |
| 46 | + , digga |
| 47 | + , bud |
| 48 | + , nixos |
| 49 | + , home |
| 50 | + , nixos-hardware |
| 51 | + , nur |
| 52 | + , agenix |
| 53 | + , nvfetcher |
| 54 | + , deploy |
| 55 | + , ... |
| 56 | + } @ inputs: |
| 57 | + digga.lib.mkFlake |
| 58 | + { |
| 59 | + inherit self inputs; |
| 60 | + |
| 61 | + channelsConfig = { allowUnfree = true; }; |
| 62 | + |
| 63 | + channels = { |
| 64 | + nixos = { |
| 65 | + imports = [ (digga.lib.importOverlays ./overlays) ]; |
| 66 | + overlays = [ |
| 67 | + nur.overlay |
| 68 | + agenix.overlay |
| 69 | + nvfetcher.overlay |
| 70 | + ./pkgs/default.nix |
| 71 | + ]; |
| 72 | + }; |
| 73 | + latest = { }; |
| 74 | + }; |
53 | 75 |
|
54 |
| - outputs = { self, digga, bud, nixos, home, nixos-hardware, nur, agenix |
55 |
| - , nvfetcher, deploy, ... }@inputs: |
56 |
| - digga.lib.mkFlake { |
57 |
| - inherit self inputs; |
| 76 | + lib = import ./lib { lib = digga.lib // nixos.lib; }; |
58 | 77 |
|
59 |
| - channelsConfig = { allowUnfree = true; }; |
| 78 | + sharedOverlays = [ |
| 79 | + (final: prev: { |
| 80 | + __dontExport = true; |
| 81 | + lib = prev.lib.extend (lfinal: lprev: { |
| 82 | + our = self.lib; |
| 83 | + }); |
| 84 | + }) |
| 85 | + ]; |
60 | 86 |
|
61 |
| - channels = { |
62 | 87 | nixos = {
|
63 |
| - imports = [ (digga.lib.importOverlays ./overlays) ]; |
64 |
| - overlays = [ |
65 |
| - # digga.overlays.patchedNix |
66 |
| - nur.overlay |
67 |
| - agenix.overlay |
68 |
| - nvfetcher.overlay |
69 |
| - ./pkgs/default.nix |
70 |
| - ]; |
71 |
| - }; |
72 |
| - latest = { overlays = [ deploy.overlay ]; }; |
73 |
| - }; |
74 |
| - |
75 |
| - lib = import ./lib { lib = digga.lib // nixos.lib; }; |
76 |
| - |
77 |
| - sharedOverlays = [ |
78 |
| - (final: prev: { |
79 |
| - __dontExport = true; |
80 |
| - lib = prev.lib.extend (lfinal: lprev: { our = self.lib; }); |
81 |
| - }) |
82 |
| - ]; |
83 |
| - |
84 |
| - nixos = { |
85 |
| - hostDefaults = { |
86 |
| - system = "x86_64-linux"; |
87 |
| - channelName = "nixos"; |
88 |
| - imports = [ (digga.lib.importExportableModules ./modules) ]; |
89 |
| - modules = [ |
90 |
| - { lib.our = self.lib; } |
91 |
| - digga.nixosModules.bootstrapIso |
92 |
| - digga.nixosModules.nixConfig |
93 |
| - home.nixosModules.home-manager |
94 |
| - agenix.nixosModules.age |
95 |
| - bud.nixosModules.bud |
96 |
| - ]; |
97 |
| - }; |
98 |
| - |
99 |
| - imports = [ (digga.lib.importHosts ./hosts) ]; |
100 |
| - hosts = { |
101 |
| - # set host specific properties here |
102 |
| - NixOS = { }; |
103 |
| - dafpi = { |
104 |
| - system = "aarch64-linux"; |
105 |
| - modules = [ nixos-hardware.nixosModules.raspberry-pi-4 ]; |
| 88 | + hostDefaults = { |
| 89 | + system = "x86_64-linux"; |
| 90 | + channelName = "nixos"; |
| 91 | + imports = [ (digga.lib.importExportableModules ./modules) ]; |
| 92 | + modules = [ |
| 93 | + { lib.our = self.lib; } |
| 94 | + digga.nixosModules.bootstrapIso |
| 95 | + digga.nixosModules.nixConfig |
| 96 | + home.nixosModules.home-manager |
| 97 | + agenix.nixosModules.age |
| 98 | + bud.nixosModules.bud |
| 99 | + ]; |
106 | 100 | };
|
107 |
| - }; |
108 |
| - importables = rec { |
109 |
| - profiles = digga.lib.rakeLeaves ./profiles // { |
110 |
| - users = digga.lib.rakeLeaves ./users; |
| 101 | + |
| 102 | + imports = [ (digga.lib.importHosts ./hosts) ]; |
| 103 | + hosts = { |
| 104 | + /* set host specific properties here */ |
| 105 | + NixOS = { }; |
| 106 | + dafpi = { |
| 107 | + system = "aarch64-linux"; |
| 108 | + modules = [ nixos-hardware.nixosModules.raspberry-pi-4 ]; |
| 109 | + }; |
111 | 110 | };
|
112 |
| - suites = with profiles; rec { |
113 |
| - base = [ core cli.common users.daf ]; |
114 |
| - plasma = [ desktop.plasma ]; |
115 |
| - workstation = [ base plasma ]; |
| 111 | + importables = rec { |
| 112 | + profiles = digga.lib.rakeLeaves ./profiles // { |
| 113 | + users = digga.lib.rakeLeaves ./users; |
| 114 | + }; |
| 115 | + suites = with profiles; rec { |
| 116 | + base = [ core cli.common users.daf ]; |
| 117 | + plasma = [ desktop.plasma ]; |
| 118 | + workstation = [ base plasma ]; |
| 119 | + }; |
116 | 120 | };
|
117 | 121 | };
|
118 |
| - }; |
119 |
| - |
120 |
| - home = { |
121 |
| - imports = [ (digga.lib.importExportableModules ./users/modules) ]; |
122 |
| - modules = [ ]; |
123 |
| - importables = rec { |
124 |
| - profiles = digga.lib.rakeLeaves ./users/profiles; |
125 |
| - suites = with profiles; rec { |
126 |
| - base = [ direnv git ssh starship zoxide zsh ]; |
127 |
| - graphical = [ alacritty ]; |
| 122 | + |
| 123 | + home = { |
| 124 | + imports = [ (digga.lib.importExportableModules ./users/modules) ]; |
| 125 | + modules = [ ]; |
| 126 | + importables = rec { |
| 127 | + profiles = digga.lib.rakeLeaves ./users/profiles; |
| 128 | + suites = with profiles; rec { |
| 129 | + base = [ direnv git ssh starship zoxide zsh ]; |
| 130 | + graphical = [ alacritty ]; |
| 131 | + }; |
128 | 132 | };
|
| 133 | + users = { |
| 134 | + daf = { suites, ... }: { imports = suites.base; }; |
| 135 | + }; # digga.lib.importers.rakeLeaves ./users/hm; |
129 | 136 | };
|
130 |
| - users = { |
131 |
| - daf = { suites, ... }: { imports = suites.base; }; |
132 |
| - }; # digga.lib.importers.rakeLeaves ./users/hm; |
133 |
| - }; |
134 | 137 |
|
135 |
| - devshell = ./shell; |
| 138 | + devshell = ./shell; |
136 | 139 |
|
137 |
| - homeConfigurations = |
138 |
| - digga.lib.mkHomeConfigurations self.nixosConfigurations; |
| 140 | + homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations; |
139 | 141 |
|
140 |
| - deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations { }; |
| 142 | + deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations { }; |
141 | 143 |
|
142 |
| - defaultTemplate = self.templates.bud; |
143 |
| - templates.bud.path = ./.; |
144 |
| - templates.bud.description = "bud template"; |
| 144 | + defaultTemplate = self.templates.bud; |
| 145 | + templates.bud.path = ./.; |
| 146 | + templates.bud.description = "bud template"; |
145 | 147 |
|
146 |
| - } // { |
147 |
| - budModules = { devos = import ./bud; }; |
148 |
| - }; |
| 148 | + } |
| 149 | + // |
| 150 | + { |
| 151 | + budModules = { devos = import ./shell/bud; }; |
| 152 | + } |
| 153 | + ; |
149 | 154 | }
|
0 commit comments