-{ config, pkgs, lib, ... }:
+{ pkgs, lib, config, ... }:
+with lib;
{
-console.useXkbConfig = lib.mkDefault true;
+ console.useXkbConfig = mkDefault true;
+ environment.systemPackages = [
+ pkgs.gdk-pixbuf.dev # for gdk-pixbuf-query-loaders
+ pkgs.paprefs
+ pkgs.pulseaudio # for pactl when using pipewire
+ ];
-services.dbus.packages = [ pkgs.dconf ];
-programs.dconf = {
- enable = true;
-};
-
-services.gvfs.enable = lib.mkDefault true;
-# Allow members of the "adbusers" group to mount Android devices via MTP.
-programs.adb.enable = true;
+ # rtkit is optional but recommended
+ security.rtkit.enable = mkDefault config.services.pipewire.enable;
+ hardware.pulseaudio.enable = false;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = mkDefault true;
+ alsa.support32Bit = mkDefault true;
+ pulse.enable = mkDefault true;
+ };
-sound.enable = lib.mkDefault true;
-hardware.pulseaudio.enable = lib.mkDefault true;
-environment.systemPackages = [
- pkgs.paprefs
-];
+ # Allow members of the "adbusers" group to mount Android devices via MTP.
+ programs.adb.enable = true;
+ programs.dconf.enable = true;
+ services.dbus.packages = [ pkgs.dconf ];
+ services.gvfs.enable = mkDefault true;
+ services.avahi.enable = mkDefault true;
-services.xserver = {
- enable = lib.mkDefault true;
- libinput.enable = lib.mkDefault true;
- exportConfiguration = lib.mkDefault true; # link /usr/share/X11/ properly
- desktopManager = {
- session = [
- # Let the session be generated by home-manager
- { name = "home-manager";
- start = ''
- ${pkgs.runtimeShell} $HOME/.hm-xsession &
- waitPID=$!
- '';
- }
- ];
- xterm.enable = lib.mkDefault false;
+ services.xserver = {
+ enable = mkDefault true;
+ libinput.enable = mkDefault true;
+ exportConfiguration = mkDefault true; # link /usr/share/X11/ properly
+ desktopManager = {
+ session = [
+ # Add a session generated by home-manager
+ {
+ name = "home-manager";
+ start = ''
+ ${pkgs.runtimeShell} $HOME/.hm-xsession &
+ waitPID=$!
+ '';
+ }
+ ];
+ xterm.enable = mkDefault false;
+ };
+ displayManager.autoLogin.enable = mkDefault true;
};
- displayManager.autoLogin.enable = lib.mkDefault true;
-};
+
+ services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
}