{ pkgs, lib, config, ... }:
{
-home.file = lib.optionalAttrs config.xsession.windowManager.xmonad.enable {
+config = lib.mkIf config.xsession.windowManager.xmonad.enable {
+home.file = {
".xmonad/xmobar.hs".source = xmonad/xmobar.hs;
};
xsession = {
xset dpms 380 640 1200
${pkgs.xorg.xsetroot}/bin/xsetroot -solid black -fg black -bg white -cursor_name left_ptr
${pkgs.rxvt-unicode}/bin/urxvtd -f -o
- ${pkgs.parcellite}/bin/parcellite &
+ ${pkgs.copyq}/bin/copyq &
${pkgs.pasystray}/bin/pasystray &
'';
windowManager.xmonad = {
config = xmonad/xmonad.hs;
};
};
-home.packages = lib.mkIf config.xsession.windowManager.xmonad.enable [
+services.screen-locker = {
+ enable = true;
+ lockCmd = toString (pkgs.writeShellScript "xsecurelock" ''
+ export PATH=${with pkgs; lib.makeBinPath [coreutils gnugrep xsecurelock xorg.xset]}
+ XSECURELOCK_BLANK_DPMS_STATE=off \
+ XSECURELOCK_BLANK_TIMEOUT=1 \
+ XSECURELOCK_DIM_TIME_MS=2000 \
+ XSECURELOCK_DISCARD_FIRST_KEYPRESS=0 \
+ XSECURELOCK_SAVER=saver_blank \
+ XSECURELOCK_SHOW_DATETIME=1 \
+ XSECURELOCK_SHOW_HOSTNAME=1 \
+ XSECURELOCK_SHOW_USERNAME=1 \
+ XSECURELOCK_WAIT_TIME_MS=2000 \
+ ${pkgs.xsecurelock}/bin/xsecurelock
+ '');
+ #XSECURELOCK_SWITCH_USER_COMMAND="${pkgs.lightdm}/bin/dm-tool switch-to-greeter" \
+ enableDetectSleep = true;
+ inactiveInterval = lib.mkDefault 3; # minutes
+ xssLockExtraOptions = [
+ "--transfer-sleep-lock"
+ #"-n" "${pkgs.xss-lock}/share/doc/xss-lock/dim-screen.sh"
+ ];
+};
+home.packages = [
pkgs.acpilight
pkgs.gmrun
pkgs.light
pkgs.mate.caja
+ pkgs.copyq
pkgs.rxvt-unicode
+ pkgs.scrot
pkgs.stalonetray
pkgs.wmname
- #pkgs.xautolock
- #pkgs.xlockmore
pkgs.xmobar
pkgs.xorg.xev
pkgs.xorg.xhost
pkgs.xsecurelock
pkgs.xss-lock
];
+};
}