-
Notifications
You must be signed in to change notification settings - Fork 0
/
flake.nix
83 lines (69 loc) · 2.01 KB
/
flake.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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
{
description = "Nicos - Nix Integrated Configuration and Operational Systems";
inputs = {
systems.url = "github:nix-systems/default";
flake-utils.url = "github:numtide/flake-utils";
flake-utils.inputs.systems.follows = "systems";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
srvos.url = "github:nix-community/srvos";
srvos.inputs = {
nixpkgs.follows = "nixpkgs";
};
nixos-anywhere.url = "github:nix-community/nixos-anywhere";
nixos-anywhere.inputs = {
disko.follows = "disko";
};
disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs";
agenix.url = "github:ryantm/agenix";
agenix.inputs = {
nixpkgs.follows = "nixpkgs";
home-manager.follows = "home-manager";
systems.follows = "systems";
};
impermanence.url = "github:nix-community/impermanence";
deploy-rs.url = "github:serokell/deploy-rs";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs @ {
flake-utils,
nixpkgs,
...
}:
with nixpkgs.lib;
{
lib = {configure = import ./configure.nix inputs;};
}
// flake-utils.lib.eachDefaultSystem
(system: let
flake-lib = import ./flake-lib.nix inputs;
pkgs = import nixpkgs {
inherit system;
overlays = [flake-lib.overlays.default];
};
in rec {
packages = {
cli = pkgs.nicos;
doc = pkgs.nicos-doc;
docgen = pkgs.nicos-docgen;
};
apps = rec {
default = cli;
cli = flake-utils.lib.mkApp {drv = packages.nicos;};
};
devShells = {
default = pkgs.mkShell {
packages = with pkgs; [
nicos
nicos-doc
nicos-docgen
k3s-ca-certs
];
shellHook = ''
# echo "Nix environment loaded"
'';
};
};
});
}