main
1{den, ...}: {
2 den.hosts.kevin = {
3 settings = {
4 desktop.aesthetic = {
5 fonts.size = 13;
6 };
7 };
8 };
9
10 den.aspects.kevin = {
11 includes = with den.aspects.hardware; [
12 cpu.intel
13 gpu.intel
14 gpu.nvidia
15
16 bluetooth
17 thunderbolt
18 ];
19
20 nixos = {
21 hardware.facter.reportPath = ./facter.json;
22
23 boot.loader.systemd-boot.enable = true;
24 };
25
26 provides.to-users = {
27 hjem = {
28 pkgs,
29 lib,
30 config,
31 ...
32 }: {
33 packages = [pkgs.kanshi];
34
35 xdg.config.files."kanshi/config".source = ./kanshi-config;
36
37 systemd.services.kanshi = {
38 description = "Dynamic output configuration";
39 documentation = ["man:kanshi(1)"];
40
41 partOf = ["graphical-session.target"];
42 requires = ["graphical-session.target"];
43 after = ["graphical-session.target"];
44 wantedBy = ["graphical-session.target"];
45
46 script = lib.getExe pkgs.kanshi;
47 reload = "${lib.getExe' pkgs.kanshi "kanshictl"} reload";
48 reloadTriggers = ["${config.xdg.config.directory}/kanshi/config"];
49
50 serviceConfig.Restart = "always";
51 };
52 };
53 };
54 };
55}