Unverified Commit c3051ea7 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

Merge pull request #144024 from SuperSandro2000/fix-plasma-users

parents 670af1fb c88d7f42
Loading
Loading
Loading
Loading
+51 −63
Original line number Diff line number Diff line
@@ -14,10 +14,6 @@ let

  ini = pkgs.formats.ini { };

  pulseaudio = config.hardware.pulseaudio;
  pactl = "${getBin pulseaudio.package}/bin/pactl";
  sed = "${getBin pkgs.gnused}/bin/sed";

  gtkrc2 = writeText "gtkrc-2.0" ''
    # Default GTK+ 2 config for NixOS Plasma 5
    include "/run/current-system/sw/share/themes/Breeze/gtk-2.0/gtkrc"
@@ -80,7 +76,7 @@ let
    # Qt from doing this wackiness in the first place.
    trolltech_conf="''${XDG_CONFIG_HOME}/Trolltech.conf"
    if [ -e "$trolltech_conf" ]; then
        ${sed} -i "$trolltech_conf" -e '/nix\\store\|nix\/store/ d'
      ${getBin pkgs.gnused}/bin/sed -i "$trolltech_conf" -e '/nix\\store\|nix\/store/ d'
    fi

    # Remove the kbuildsyscoca5 cache. It will be regenerated
@@ -101,25 +97,19 @@ let
    XDG_CONFIG_HOME=''${XDG_CONFIG_HOME:-$HOME/.config}
  '';

  startplasma =
    ''
  startplasma = ''
    ${set_XDG_CONFIG_HOME}
    mkdir -p "''${XDG_CONFIG_HOME}"

    ''
    + optionalString pulseaudio.enable ''
  '' + optionalString config.hardware.pulseaudio.enable ''
    # Load PulseAudio module for routing support.
    # See also: http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/
        ${pactl} load-module module-device-manager "do_routing=1"

    ''
    + ''
      ${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1"
  '' + ''
    ${activationScript}

    # Create default configurations if Plasma has never been started.
    kdeglobals="''${XDG_CONFIG_HOME}/kdeglobals"
      if ! [ -f "$kdeglobals" ]
      then
    if ! [ -f "$kdeglobals" ]; then
      kcminputrc="''${XDG_CONFIG_HOME}/kcminputrc"
      if ! [ -f "$kcminputrc" ]; then
          cat ${kcminputrc} >"$kcminputrc"
@@ -136,7 +126,6 @@ let
          cat ${gtk3_settings} >"$gtk3_settings"
      fi
    fi

  '';

in
@@ -202,22 +191,19 @@ in
      services.xserver.displayManager.sessionPackages = [ pkgs.libsForQt5.plasma5.plasma-workspace ];

      security.wrappers = {
        kcheckpass =
          {
        kcheckpass = {
          setuid = true;
          owner = "root";
          group = "root";
          source = "${getBin libsForQt5.kscreenlocker}/libexec/kcheckpass";
        };
        start_kdeinit =
          {
        start_kdeinit = {
          setuid = true;
          owner = "root";
          group = "root";
          source = "${getBin libsForQt5.kinit}/libexec/kf5/start_kdeinit";
        };
        kwin_wayland =
          {
        kwin_wayland = {
          owner = "root";
          group = "root";
          capabilities = "cap_sys_nice+ep";
@@ -372,9 +358,12 @@ in
      programs.ssh.askPassword = mkDefault "${plasma5.ksshaskpass.out}/bin/ksshaskpass";

      # Enable helpful DBus services.
      services.accounts-daemon.enable = true;
      # when changing an account picture the accounts-daemon reads a temporary file containing the image which systemsettings5 may place under /tmp
      systemd.services.accounts-daemon.serviceConfig.PrivateTmp = false;
      services.udisks2.enable = true;
      services.upower.enable = config.powerManagement.enable;
      services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
      services.system-config-printer.enable = mkIf config.services.printing.enable (mkDefault true);
      services.xserver.libinput.enable = mkDefault true;

      # Extra UDEV rules used by Solid
@@ -427,5 +416,4 @@ in
      nixpkgs.config.firefox.enablePlasmaBrowserIntegration = true;
    })
  ];

}
+3 −2
Original line number Diff line number Diff line
{ lib, stdenv
{ lib
, stdenv
, fetchurl
, fetchpatch
, substituteAll
@@ -89,6 +90,6 @@ stdenv.mkDerivation rec {
    homepage = "https://www.freedesktop.org/wiki/Software/AccountsService";
    license = licenses.gpl3;
    maintainers = with maintainers; [ pSub ];
    platforms = with platforms; linux;
    platforms = platforms.linux;
  };
}
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ index 9f57af5..e65289d 100644
                          name);
 
-                argv[0] = "/usr/sbin/usermod";
+                argv[0] = "@shadown@/bin/usermod";
+                argv[0] = "@shadow@/bin/usermod";
                 argv[1] = "-c";
                 argv[2] = name;
                 argv[3] = "--";