git: enable zdiff3
[julm/julm-nix.git] / nixos / profiles / graphical.nix
index 429b75ee1f8c9049d7dd7245be5fe767407fa4cc..324397917109ab7a80a2ef711f4244eae8f88b74 100644 (file)
@@ -1,24 +1,37 @@
-{ 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
   ];
-  hardware.pulseaudio.enable = lib.mkDefault 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;
+  };
+
   # 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 = lib.mkDefault true;
-  sound.enable = lib.mkDefault true;
+  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
+    enable = mkDefault true;
+    libinput.enable = mkDefault true;
+    exportConfiguration = mkDefault true; # link /usr/share/X11/ properly
     desktopManager = {
       session = [
-        # Let the session be generated by home-manager
+        # Add a session generated by home-manager
         {
           name = "home-manager";
           start = ''
           '';
         }
       ];
-      xterm.enable = lib.mkDefault false;
+      xterm.enable = mkDefault false;
     };
-    displayManager.autoLogin.enable = lib.mkDefault true;
+    displayManager.autoLogin.enable = mkDefault true;
   };
+
+  services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
 }