Flake for my NixOS devices
1{...}: {
2 config,
3 lib,
4 ...
5}: {
6 options.cow.role-laptop = {
7 enable = lib.mkEnableOption "configuring a laptop with a GUI and bean setup for mobile use";
8 fingerPrintSensor = lib.mkEnableOption "fprintd and persist prints";
9 };
10
11 config = lib.mkIf config.cow.role-laptop.enable {
12 home-manager.users.bean.cow = lib.mkIf config.cow.bean.enable {
13 music.enable = true;
14 news.enable = true;
15 qmplay2.enable = true;
16 sync.enable = true;
17 dev.enable = true;
18 };
19
20 cow = {
21 bean.enable = true;
22 firewall.openForUsers = true;
23 print.enable = true;
24 hm.enable = true;
25 network = {
26 enable = true;
27 bluetooth = true;
28 wireless = true;
29 };
30 cat.enable = true;
31 gdi = {
32 enable = true;
33 doIdle = true;
34 showGreet = true;
35 };
36 audio.enable = true;
37 imperm.keep = lib.optional config.cow.role-laptop.fingerPrintSensor "/var/lib/fprint";
38 };
39
40 services.fprintd = lib.mkIf config.cow.role-laptop.fingerPrintSensor {
41 enable = true;
42 };
43 };
44}