tangled
alpha
login
or
join now
bwc9876.dev
/
nixos-config
1
fork
atom
Flake for my NixOS devices
1
fork
atom
overview
issues
pulls
pipelines
Update, split groups, nu_plugin_dbus graphics only
bwc9876.dev
1 year ago
9295a464
799d27af
verified
This commit was signed with the committer's
known signature
.
bwc9876.dev
SSH Key Fingerprint:
SHA256:DanMEP/RNlSC7pAVbnXO6wzQV00rqyKj053tz4uH5gQ=
+124
-30
10 changed files
expand all
collapse all
unified
split
flake.lock
nixosModules
base
nushell.nix
personal.nix
graphics
printing.nix
shell.nix
hypervisor.nix
ssh.nix
wireless.nix
systemConfigs
installer.nix
mann-co.nix
+101
-23
flake.lock
···
22
22
},
23
23
"crane": {
24
24
"locked": {
25
25
+
"lastModified": 1738652123,
26
26
+
"narHash": "sha256-zdZek5FXK/k95J0vnLF0AMnYuZl4AjARq83blKuJBYY=",
27
27
+
"owner": "ipetkov",
28
28
+
"repo": "crane",
29
29
+
"rev": "c7e015a5fcefb070778c7d91734768680188a9cd",
30
30
+
"type": "github"
31
31
+
},
32
32
+
"original": {
33
33
+
"owner": "ipetkov",
34
34
+
"repo": "crane",
35
35
+
"type": "github"
36
36
+
}
37
37
+
},
38
38
+
"crane_2": {
39
39
+
"locked": {
25
40
"lastModified": 1731098351,
26
41
"narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=",
27
42
"owner": "ipetkov",
···
153
168
]
154
169
},
155
170
"locked": {
156
156
-
"lastModified": 1738586370,
157
157
-
"narHash": "sha256-oNDm2sfLm9jdfOskRq2ABn85gwXusbsHEOC181peno4=",
171
171
+
"lastModified": 1739191238,
172
172
+
"narHash": "sha256-DRuhQDWscKWXAZcatFDLQ0+pMKmGZ9lEZdxygq8rVSU=",
158
173
"owner": "nix-community",
159
174
"repo": "flakelight",
160
160
-
"rev": "d05bcabfc1efb84a7d8689de6e50b84d7f23b427",
175
175
+
"rev": "5656e7f5fda93676642d199fd9eb47b970d6139e",
161
176
"type": "github"
162
177
},
163
178
"original": {
···
166
181
"type": "github"
167
182
}
168
183
},
184
184
+
"flakelight-rust": {
185
185
+
"inputs": {
186
186
+
"crane": "crane",
187
187
+
"flakelight": "flakelight_2"
188
188
+
},
189
189
+
"locked": {
190
190
+
"lastModified": 1738672886,
191
191
+
"narHash": "sha256-YLRn2bceMuePfimgfqfic4jce3b/GqDfB2vbrNFuRlg=",
192
192
+
"owner": "accelbread",
193
193
+
"repo": "flakelight-rust",
194
194
+
"rev": "fda5c9b4a7f3d78cf21e5f1010d6a3f16ad946e1",
195
195
+
"type": "github"
196
196
+
},
197
197
+
"original": {
198
198
+
"owner": "accelbread",
199
199
+
"repo": "flakelight-rust",
200
200
+
"type": "github"
201
201
+
}
202
202
+
},
169
203
"flakelight_2": {
170
204
"inputs": {
171
205
"nixpkgs": [
206
206
+
"gh-grader-preview",
207
207
+
"nixpkgs"
208
208
+
]
209
209
+
},
210
210
+
"locked": {
211
211
+
"lastModified": 1739191238,
212
212
+
"narHash": "sha256-DRuhQDWscKWXAZcatFDLQ0+pMKmGZ9lEZdxygq8rVSU=",
213
213
+
"owner": "nix-community",
214
214
+
"repo": "flakelight",
215
215
+
"rev": "5656e7f5fda93676642d199fd9eb47b970d6139e",
216
216
+
"type": "github"
217
217
+
},
218
218
+
"original": {
219
219
+
"owner": "nix-community",
220
220
+
"repo": "flakelight",
221
221
+
"type": "github"
222
222
+
}
223
223
+
},
224
224
+
"flakelight_3": {
225
225
+
"inputs": {
226
226
+
"nixpkgs": [
172
227
"nu_plugin_dbus",
173
228
"nixpkgs"
174
229
]
···
187
242
"type": "github"
188
243
}
189
244
},
245
245
+
"flakelight_4": {
246
246
+
"inputs": {
247
247
+
"nixpkgs": [
248
248
+
"wayland-mpris-idle-inhibit",
249
249
+
"nixpkgs"
250
250
+
]
251
251
+
},
252
252
+
"locked": {
253
253
+
"lastModified": 1739191238,
254
254
+
"narHash": "sha256-DRuhQDWscKWXAZcatFDLQ0+pMKmGZ9lEZdxygq8rVSU=",
255
255
+
"owner": "nix-community",
256
256
+
"repo": "flakelight",
257
257
+
"rev": "5656e7f5fda93676642d199fd9eb47b970d6139e",
258
258
+
"type": "github"
259
259
+
},
260
260
+
"original": {
261
261
+
"owner": "nix-community",
262
262
+
"repo": "flakelight",
263
263
+
"type": "github"
264
264
+
}
265
265
+
},
190
266
"gh-grader-preview": {
191
267
"inputs": {
268
268
+
"flakelight-rust": "flakelight-rust",
192
269
"nixpkgs": [
193
270
"nixpkgs"
194
271
]
195
272
},
196
273
"locked": {
197
197
-
"lastModified": 1738957558,
198
198
-
"narHash": "sha256-LrsAvqQZPyFCQkcjpiJsUAmobxM5Xartbo4OMO+T63k=",
274
274
+
"lastModified": 1739201967,
275
275
+
"narHash": "sha256-BGiazIhRhPEf6XjzisD2b0ZdNzVTdlm06BLVPSeSWqA=",
199
276
"owner": "Bwc9876",
200
277
"repo": "gh-grader-preview",
201
201
-
"rev": "ce471fcc8a6f4e786db709abacbd3b39cecd0e74",
278
278
+
"rev": "0cfb80ac492931b33e56f6261807861df398aebc",
202
279
"type": "github"
203
280
},
204
281
"original": {
···
284
361
]
285
362
},
286
363
"locked": {
287
287
-
"lastModified": 1739051380,
288
288
-
"narHash": "sha256-p1QSLO8DJnANY+ppK7fjD8GqfCrEIDjso1CSRHsXL7Y=",
364
364
+
"lastModified": 1739198052,
365
365
+
"narHash": "sha256-fvAgCGK2phagbKv2S4YH4AIM566TKasfWMqYl3c3mPQ=",
289
366
"owner": "nix-community",
290
367
"repo": "home-manager",
291
291
-
"rev": "5af1b9a0f193ab6138b89a8e0af8763c21bbf491",
368
368
+
"rev": "b0bd29bb4b8df265b13bbb4a6639afa74faaa831",
292
369
"type": "github"
293
370
},
294
371
"original": {
···
342
419
},
343
420
"lanzaboote": {
344
421
"inputs": {
345
345
-
"crane": "crane",
422
422
+
"crane": "crane_2",
346
423
"flake-compat": "flake-compat",
347
424
"flake-parts": "flake-parts",
348
425
"nixpkgs": [
···
352
429
"rust-overlay": "rust-overlay"
353
430
},
354
431
"locked": {
355
355
-
"lastModified": 1737639419,
356
356
-
"narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=",
432
432
+
"lastModified": 1739186342,
433
433
+
"narHash": "sha256-2j+sln9RwQn+g7J4GmdFFgvqXnLkvWBNMaUzONlkzUE=",
357
434
"owner": "nix-community",
358
435
"repo": "lanzaboote",
359
359
-
"rev": "a65905a09e2c43ff63be8c0e86a93712361f871e",
436
436
+
"rev": "3bdeebbc484a09391c4f0ec8a37bb77809426660",
360
437
"type": "github"
361
438
},
362
439
"original": {
···
470
547
"treefmt-nix": "treefmt-nix"
471
548
},
472
549
"locked": {
473
473
-
"lastModified": 1738966895,
474
474
-
"narHash": "sha256-OXOh35rTEnFSO4vj/SDMIlDvFPGW0ba1XhZkfx+AlL0=",
550
550
+
"lastModified": 1739121491,
551
551
+
"narHash": "sha256-BEmyAozR3Pc2qwPtC4rgUglzi3cw4nv4fXEY23NxOrQ=",
475
552
"owner": "nix-community",
476
553
"repo": "nixvim",
477
477
-
"rev": "e7f20a602f6e08a70045f36c531bc44ba1baed07",
554
554
+
"rev": "13341a4c1238b7974e7bad9c7a6d5c51ca3cf81a",
478
555
"type": "github"
479
556
},
480
557
"original": {
···
485
562
},
486
563
"nu_plugin_dbus": {
487
564
"inputs": {
488
488
-
"flakelight": "flakelight_2",
565
565
+
"flakelight": "flakelight_3",
489
566
"nixpkgs": [
490
567
"nixpkgs"
491
568
]
···
599
676
]
600
677
},
601
678
"locked": {
602
602
-
"lastModified": 1739068147,
603
603
-
"narHash": "sha256-3DtLkjQFlIUOXw3TBH+iP0jglpqO6Lv2KaQc+ADg39I=",
679
679
+
"lastModified": 1739154531,
680
680
+
"narHash": "sha256-QGeN6e0nMJlNLzm3Y2A7P6riXhQXMeCXLZ7yajZYFQM=",
604
681
"owner": "oxalica",
605
682
"repo": "rust-overlay",
606
606
-
"rev": "f61820fa2c3844d6940cce269a6afdec30aa2e6c",
683
683
+
"rev": "035dac86ab7ce5c1e8a4d59dfe85e6911a3526ea",
607
684
"type": "github"
608
685
},
609
686
"original": {
···
650
727
},
651
728
"wayland-mpris-idle-inhibit": {
652
729
"inputs": {
730
730
+
"flakelight": "flakelight_4",
653
731
"nixpkgs": [
654
732
"nixpkgs"
655
733
]
656
734
},
657
735
"locked": {
658
658
-
"lastModified": 1738957449,
659
659
-
"narHash": "sha256-12ix4EuQ8f6DxBbJ8bCVUqYTBnFi474OVHaVBXgiLMI=",
736
736
+
"lastModified": 1739201677,
737
737
+
"narHash": "sha256-HNI/49TdnVPNcVqREBw8/Ycv6yAehUF+YLYHO5qelXI=",
660
738
"owner": "Bwc9876",
661
739
"repo": "wayland-mpris-idle-inhibit",
662
662
-
"rev": "0085e928fcd3186fd3c4066e8c90288bd70fde9e",
740
740
+
"rev": "0195d10eec2339571cc3de5ab0329768d533e8f1",
663
741
"type": "github"
664
742
},
665
743
"original": {
-3
nixosModules/base/nushell.nix
···
73
73
}
74
74
75
75
source ${init-starship}
76
76
-
77
77
-
plugin add ${pkgs.nu_plugin_dbus}/bin/nu_plugin_dbus
78
78
-
79
76
'';
80
77
};
81
78
home-manager.users.root.programs.nushell = with home-manager.users.bean.programs.nushell; {
+1
-1
nixosModules/base/personal.nix
···
12
12
isNormalUser = true;
13
13
description = "Benjamin Crocker";
14
14
autoSubUidGidRange = true;
15
15
-
extraGroups = ["libvirtd" "networkmanager" "wheel" "video" "lpadmin" "wireshark"]; # TODO: Break up groups across files?
15
15
+
extraGroups = ["wheel"]; # For sudo
16
16
};
17
17
18
18
home-manager.users.root = {
+2
nixosModules/graphics/printing.nix
···
4
4
stateless = true;
5
5
};
6
6
7
7
+
users.users.bean.extraGroups = ["lpadmin"];
8
8
+
7
9
hardware.printers = {
8
10
ensurePrinters = [
9
11
{
+5
nixosModules/graphics/shell.nix
···
5
5
lib,
6
6
...
7
7
}: {
8
8
+
users.users.bean.extraGroups = ["video"];
9
9
+
8
10
environment.systemPackages = with pkgs; [
9
11
# Shell Components
10
12
hyprlock
···
111
113
};
112
114
location = "center";
113
115
};
116
116
+
nushell.extraConfig = ''
117
117
+
plugin add ${pkgs.nu_plugin_dbus}/bin/nu_plugin_dbus
118
118
+
'';
114
119
};
115
120
116
121
wayland.windowManager.hyprland.settings = {
+2
nixosModules/hypervisor.nix
···
3
3
inputs,
4
4
...
5
5
}: {
6
6
+
users.users.bean.extraGroups = ["libvirtd"];
7
7
+
6
8
virtualisation.libvirtd = {
7
9
enable = true;
8
10
onBoot = "ignore"; # I don't want VMs to start again on reboot
+7
nixosModules/ssh.nix
···
10
10
beanPubkey
11
11
];
12
12
13
13
+
environment = {
14
14
+
enableAllTerminfo = true;
15
15
+
systemPackages = with pkgs; [
16
16
+
kitty # Needed for terminfo to work over ssh
17
17
+
];
18
18
+
};
19
19
+
13
20
services.openssh = {
14
21
enable = true;
15
22
openFirewall = true;
+2
nixosModules/wireless.nix
···
1
1
{pkgs, ...}: {
2
2
networking.networkmanager.enable = true;
3
3
4
4
+
users.users.bean.extraGroups = ["networkmanager"];
5
5
+
4
6
hardware.bluetooth = {
5
7
enable = true;
6
8
settings = {
+1
-1
systemConfigs/installer.nix
···
33
33
initrd.systemd.enable = false;
34
34
supportedFilesystems = {
35
35
btrfs = true;
36
36
-
reiserfs = true;
36
36
+
reiserfs = lib.mkForce false;
37
37
vfat = true;
38
38
f2fs = true;
39
39
xfs = true;
+3
-2
systemConfigs/mann-co.nix
···
7
7
8
8
modules = [
9
9
(outputs.lib.applyRoles ["base" "ssh"])
10
10
-
{
10
10
+
({pkgs, ...}: {
11
11
+
boot.kernelPackages = pkgs.linuxPackages_rpi4;
11
12
system.stateVersion = "25.05";
12
13
networking.hostName = "mann-co";
13
14
nixpkgs.overlays = [
···
16
17
super.makeModulesClosure (x // {allowMissing = true;});
17
18
})
18
19
];
19
19
-
}
20
20
+
})
20
21
"${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix"
21
22
{disabledModules = ["${inputs.nixpkgs}/nixos/modules/profiles/base.nix"];}
22
23
inputs.nixos-hardware.nixosModules.raspberry-pi-4