]> Git — Sourcephile - julm/julm-nix.git/blob - nixos/profiles/graphical.nix
nix: improve desktop responsiveness when updating the system
[julm/julm-nix.git] / nixos / profiles / graphical.nix
1 { pkgs, lib, config, ... }:
2 with lib;
3 {
4 console.useXkbConfig = mkDefault true;
5 environment.systemPackages = [
6 pkgs.gdk-pixbuf.dev # for gdk-pixbuf-query-loaders
7 pkgs.paprefs
8 pkgs.pulseaudio # for pactl when using pipewire
9 ];
10
11 # Improve desktop responsiveness when updating the system.
12 nix.daemonCPUSchedPolicy = "idle";
13
14 # rtkit is optional but recommended
15 security.rtkit.enable = mkDefault config.services.pipewire.enable;
16 services.pipewire = {
17 enable = true;
18 alsa.enable = mkDefault true;
19 alsa.support32Bit = mkDefault true;
20 pulse.enable = mkDefault true;
21 };
22
23 # Allow members of the "adbusers" group to mount Android devices via MTP.
24 programs.adb.enable = true;
25 programs.dconf.enable = true;
26 services.dbus.packages = [ pkgs.dconf ];
27 services.gvfs.enable = mkDefault true;
28 services.avahi.enable = mkDefault true;
29
30 services.xserver = {
31 enable = mkDefault true;
32 libinput.enable = mkDefault true;
33 exportConfiguration = mkDefault true; # link /usr/share/X11/ properly
34 desktopManager = {
35 session = [
36 # Let the session be generated by home-manager
37 {
38 name = "home-manager";
39 start = ''
40 ${pkgs.runtimeShell} $HOME/.hm-xsession &
41 waitPID=$!
42 '';
43 }
44 ];
45 xterm.enable = mkDefault false;
46 };
47 displayManager.autoLogin.enable = mkDefault true;
48 };
49
50 services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
51 }