-
Notifications
You must be signed in to change notification settings - Fork 0
/
flake.nix
127 lines (106 loc) · 3 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
{
nixConfig = {
extra-substituters = [
# Community cache
"https://nix-community.cachix.org"
# Own cache
"https://attic.holypenguin.net/holynix"
];
extra-trusted-public-keys = [
# nix community's cache server public key
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
# own cache
"holynix:Ucr2JJ5xLEy4hElI/SToX5klNe4I3wKgVIa2+b3lmYo="
];
};
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.05";
snowfall-lib = {
url = "github:snowfallorg/lib/dev";
inputs.nixpkgs.follows = "nixpkgs";
};
flake = {
url = "github:snowfallorg/flake?ref=v1.3.1";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
plasma-manager = {
url = "github:nix-community/plasma-manager";
inputs = {
nixpkgs.follows = "nixpkgs";
home-manager.follows = "home-manager";
};
};
solaar = {
url = "github:Svenum/Solaar-Flake";
inputs.nixpkgs.follows = "nixpkgs";
};
auto-cpufreq = {
url = "github:AdnanHodzic/auto-cpufreq";
inputs.nixpkgs.follows = "nixpkgs";
};
nixVirt = {
url = "github:AshleyYakeley/NixVirt";
inputs.nixpkgs.follows = "nixpkgs";
};
lanzaboote = {
url = "github:nix-community/lanzaboote/v0.4.1";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
fw-fanctrl = {
#url = "github:Svenum/fw-fanctrl/update-service";
url = "github:TamtamHero/fw-fanctrl/packaging/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
raspberry-pi-nix.url = "github:nix-community/raspberry-pi-nix";
sops-nix.url = "github:Mic92/sops-nix";
};
outputs = inputs:
let
lib = inputs.snowfall-lib.mkLib {
inherit inputs;
src = ./.;
snowfall = {
namespace = "holynix";
meta = {
name = "holynix";
title = "Holy Nix";
};
};
};
in
lib.mkFlake {
channels-config = {
allowUnfree = true;
nvidia.acceptLicense = true;
};
overlays = with inputs; [
flake.overlays.default
];
systems.modules.nixos = with inputs; [
solaar.nixosModules.default
home-manager.nixosModules.home-manager
sops-nix.nixosModules.sops
];
systems.hosts.srv-raspi5.modules = with inputs; [
nixos-hardware.nixosModules.raspberry-pi-5
raspberry-pi-nix.nixosModules.raspberry-pi
];
systems.hosts.Yon.modules = with inputs; [
nixos-hardware.nixosModules.framework-16-7040-amd
fw-fanctrl.nixosModules.default
];
homes.modules = with inputs; [
plasma-manager.homeManagerModules.plasma-manager
];
};
}