-
Notifications
You must be signed in to change notification settings - Fork 0
/
flake.nix
149 lines (121 loc) · 3.82 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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
{
description = "theobori's Nix/NixOS Config";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11-small";
# We assume this version of nixpkgs is more updated than the `nixpkgs` input.
# Will be used within overlay to get the latest version of specific packages.
unstable.url = "github:nixos/nixpkgs";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nur = {
url = "github:nix-community/NUR";
};
snowfall-lib = {
url = "github:snowfallorg/lib";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-hardware = {
url = "github:nixos/nixos-hardware";
};
sops-nix = {
url = "github:mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix.url = "github:danth/stylix";
nixgl.url = "github:nix-community/nixGL";
nix-index-database.url = "github:nix-community/nix-index-database";
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-anywhere = {
url = "github:numtide/nixos-anywhere";
inputs.nixpkgs.follows = "nixpkgs";
inputs.disko.follows = "disko";
};
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
pre-commit-hooks-nix.url = "github:cachix/pre-commit-hooks.nix";
mkdocs-flake.url = "github:applicative-systems/mkdocs-flake";
nixcord.url = "github:kaylorben/nixcord";
plasma-manager = {
url = "github:nix-community/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
fast-anime = {
url = "github:Benex254/FastAnime";
inputs.nixpkgs.follows = "nixpkgs";
};
nsearch = {
url = "github:niksingh710/nsearch";
inputs.nixpkgs.follows = "nixpkgs";
};
flatpaks.url = "github:GermanBread/declarative-flatpak/stable-v3";
lix = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
hosts.url = "github:StevenBlack/hosts";
};
outputs =
inputs:
let
lib = inputs.snowfall-lib.mkLib {
inherit inputs;
src = ./.;
snowfall = {
metadata = "theobori-nix";
namespace = "theobori-nix";
meta = {
name = "theobori-nix";
title = "theobori's Nix Flake";
};
};
};
in
lib.mkFlake {
channels-config = {
allowUnfree = true;
};
overlays = with inputs; [
nur.overlay
nixgl.overlay
lix.overlays.default
];
homes.modules = with inputs; [
nix-index-database.hmModules.nix-index
stylix.homeManagerModules.stylix
sops-nix.homeManagerModules.sops
nixcord.homeManagerModules.nixcord
plasma-manager.homeManagerModules.plasma-manager
spicetify-nix.homeManagerModules.default
flatpaks.homeManagerModules.declarative-flatpak
];
systems = {
modules = {
nixos = with inputs; [
stylix.nixosModules.stylix
home-manager.nixosModules.home-manager
disko.nixosModules.disko
hosts.nixosModule
];
};
};
outputs-builder = channels: { formatter = channels.nixpkgs.nixfmt-rfc-style; };
templates = {
xdp-c.description = "My template for building a XDP program in C";
python.description = "My template for a base project in Python";
latex.description = "My template for a base project in Latex";
go.description = "My template for a base project in Go";
};
};
}