1{ pkgs, ... }:
2{
3 services = {
4 avahi = {
5 enable = true;
6 nssmdns4 = true;
7 openFirewall = true;
8 };
9 blueman.enable = true;
10 ratbagd.enable = true;
11 flatpak.enable = true;
12 keyd = {
13 enable = true;
14 keyboards = {
15 default = {
16 settings = {
17 main = {
18 capslock = "escape";
19 };
20 };
21 };
22 };
23 };
24
25 gvfs.enable = true;
26
27 gnome = {
28 tinysparql.enable = true;
29 gnome-keyring.enable = true;
30 };
31
32 fstrim.enable = true;
33
34 dbus = {
35 enable = true;
36 packages = [
37 pkgs.gcr
38 pkgs.gnome-settings-daemon
39 ];
40 };
41
42 # Auto mount devices
43 udisks2 = {
44 enable = true;
45 };
46 # Configure keymap in X11
47 xserver = {
48 xkb.layout = "us";
49 xkb.variant = "";
50 };
51
52 tailscale.enable = true;
53
54 # Enable CUPS to print documents.
55 printing = {
56 enable = true;
57 drivers = [
58 pkgs.brlaser # Brother printer driver
59 pkgs.cups-filters
60 pkgs.cups-browsed
61 ];
62 };
63
64 pipewire = {
65 enable = true;
66 audio.enable = true;
67 alsa.enable = true;
68 alsa.support32Bit = true;
69 pulse.enable = true;
70 # systemWide = true;
71 #media-session.enable = true;
72 };
73
74 openssh = {
75 enable = true;
76 ports = [ 22 ];
77 settings = {
78 PasswordAuthentication = true;
79 UseDns = true;
80 X11Forwarding = true;
81 };
82 };
83 earlyoom = {
84 enable = true;
85 freeSwapThreshold = 2;
86 freeMemThreshold = 2;
87
88 extraArgs = [
89 "-g"
90 "--avoid"
91 "^(Xwayland|.cosmic*|ghostty|.vicinae*|.xdg*)$"
92 "--prefer"
93 "^(electron)$"
94 ];
95
96 };
97 };
98}