-{ 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
+ ];
-networking.networkmanager = {
- enable = lib.mkDefault true;
- #dhcp = "dhcpcd";
- logLevel = lib.mkDefault "INFO";
- wifi = {
- #backend = "iwd";
- #backend = "wpa_supplicant";
- powersave = lib.mkDefault false;
+ # 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;
};
-};
-services.dbus.packages = [ pkgs.dconf ];
-programs.dconf = {
- enable = true;
-};
-
-services.gvfs.enable = lib.mkDefault true;
-
-sound.enable = lib.mkDefault true;
-hardware.pulseaudio.enable = lib.mkDefault true;
-
-services.udev.packages = [
# Allow members of the "adbusers" group to mount Android devices via MTP.
- pkgs.android-udev-rules
-];
+ 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 ];
}