]> Git — Sourcephile - julm/julm-nix.git/blob - nixos/profiles/graphical.nix
nix: tweak nix-daemon and nix-gc schedulings
[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 # rtkit is optional but recommended
12 security.rtkit.enable = mkDefault config.services.pipewire.enable;
13 hardware.pulseaudio.enable = false;
14 services.pipewire = {
15 enable = true;
16 alsa.enable = mkDefault true;
17 alsa.support32Bit = mkDefault true;
18 pulse.enable = mkDefault true;
19 };
20
21 # Allow members of the "adbusers" group to mount Android devices via MTP.
22 programs.adb.enable = true;
23 programs.dconf.enable = true;
24 services.dbus.packages = [ pkgs.dconf ];
25 services.gvfs.enable = mkDefault true;
26 services.avahi.enable = mkDefault true;
27
28 services.xserver = {
29 enable = mkDefault true;
30 libinput.enable = mkDefault true;
31 exportConfiguration = mkDefault true; # link /usr/share/X11/ properly
32 desktopManager = {
33 session = [
34 # Add a session generated by home-manager
35 {
36 name = "home-manager";
37 start = ''
38 ${pkgs.runtimeShell} $HOME/.hm-xsession &
39 waitPID=$!
40 '';
41 }
42 ];
43 xterm.enable = mkDefault false;
44 };
45 displayManager.autoLogin.enable = mkDefault true;
46 };
47
48 services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
49 }