This repository was archived by the owner on Dec 5, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathnilla.nix
More file actions
65 lines (56 loc) · 1.5 KB
/
nilla.nix
File metadata and controls
65 lines (56 loc) · 1.5 KB
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
let
pins = import ./npins;
nilla = import pins.nilla;
in
nilla.create (
{ config }:
{
includes = [ "${pins.nilla-utils}/modules" ];
config = {
############
## Inputs ##
############
# Generate inputs from npins
generators.inputs.pins = pins;
# Override specific input settings and loaders
inputs = {
nixpkgs.settings = {
configuration.allowUnfree = true;
overlays = [ config.overlays.default ];
};
hardware.loader = "raw";
impermanence.loader = "raw";
disko.loader = "raw";
};
###########
## NixOS ##
###########
# Generate nixos hosts from folders in ./hosts
generators.nixos = {
folder = ./hosts;
modules = [ config.modules.nixos.default ];
};
# Export NixOS module
modules.nixos.default = ./modules/nixos;
##################
## Home Manager ##
##################
# Generate home-manager configurations from folders in
# ./hosts
generators.home = {
username = "arnar";
folder = ./hosts;
modules = [ config.modules.home.default ];
};
# Export home-manager module
modules.home.default = ./modules/home;
##############
## Overlays ##
##############
# Generate `default` overlay using `./packages`
# folder structure
generators.overlays.default.folder = ./packages;
generators.packages.folder = ./packages;
};
}
)