-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoutputs.nix
58 lines (51 loc) · 1.47 KB
/
outputs.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
{self, ...} @ inputs: let
system = "x86_64-linux";
overlays = lib.my.mkOverlays ./overlays;
pkgs = lib.my.mkPkgs overlays;
lib = inputs.nixpkgs.lib.extend (final: prev:
import ./lib {
inherit inputs pkgs system;
lib = final;
});
# Primary user account
user = "luis";
nixosConfigurations = lib.my.mkHosts {
modulesDir = ./modules;
profilesDir = ./profiles;
hostsDir = ./hosts;
extraArgs = {
inherit user system inputs nixosConfigurations;
root = ./.;
};
extraModules = [
inputs.impermanence.nixosModules.impermanence
inputs.home-manager.nixosModules.home-manager
inputs.programs-sqlite.nixosModules.programs-sqlite
inputs.kmonad.nixosModules.default
inputs.nixos-mailserver.nixosModule
];
};
in {
inherit nixosConfigurations overlays;
deploy.nodes =
lib.mapAttrs
(host: config: {
hostname = host;
fastConnection = true;
sshOpts = ["-A"];
profiles.system = {
user = "root";
path = inputs.deploy-rs.lib.${system}.activate.nixos config;
};
})
nixosConfigurations;
checks = lib.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) inputs.deploy-rs.lib;
legacyPackages.${system} = pkgs // {inherit lib;};
devShells.${system}.default = pkgs.mkShell {
buildInputs = [
inputs.deploy-rs.defaultPackage.${system}
inputs.agenix.packages.${system}.agenix
];
};
formatter.${system} = pkgs.alejandra;
}