about summary refs log blame commit diff
path: root/modules/xorg/default.nix
blob: 2ed01cadd25dcd66062f701f4891933e050d55c7 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
 



         




                                                                                                                 



                                                                                     

    

                      
 
                                        
 
             



                                  
    


                                                               


                                            

                      
                                                                                     





                                                                          
 
{
  config,
  pkgs,
  ...
}: {
  # Starting graphical-session.target doesn't work coz systemd. NixOS has a bug
  # where the graphical-session.target isn't started on wayland (https://github.com/NixOS/nixpkgs/issues/169143).
  # We are kind of screwed :)
  environment.systemPackages = [
    (pkgs.writeShellScriptBin "wayland-session" ''
      /run/current-system/systemd/bin/systemctl --user start graphical-session.target
      dbus-run-session "$@"
      /run/current-system/systemd/bin/systemctl --user stop graphical-session.target
    '')
  ];

  services.xserver = {
    enable = true;

    displayManager.startx.enable = true;

    dpi = 96;

    excludePackages = with pkgs; [
      xterm
    ];
  };

  systemd.user.services.polkit-gnome-authentication-agent-1 = {
    description = "polkit-gnome-authentication-agent-1";
    wants = ["graphical-session.target"];
    wantedBy = ["graphical-session.target"];
    after = ["graphical-session.target"];
    serviceConfig = {
      Type = "simple";
      ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
      Restart = "on-failure";
      RestartSec = 1;
      TimeoutStopSec = 10;
    };
  };
  systemd.user.services.polkit-gnome-authentication-agent-1.enable = true;
}