Better lockscreen automation + sddm theme

This commit is contained in:
Filippo Berto 2022-08-17 21:20:43 +02:00
parent 613673299d
commit 0a07445ebc
10 changed files with 62 additions and 17 deletions

View file

@ -6,6 +6,7 @@ let
self = with pkgs; { self = with pkgs; {
lockscreen = callPackage ./lockscreen { }; lockscreen = callPackage ./lockscreen { };
update-background = callPackage ./update-background { }; update-background = callPackage ./update-background { };
sddm-theme-clairvoyance = callPackage ./sddm-theme-clairvoyance { };
cocktail-bar-cli = callPackage ./cocktail-bar-cli { }; cocktail-bar-cli = callPackage ./cocktail-bar-cli { };
}; };
in in

View file

@ -0,0 +1,30 @@
{ lib, stdenv, fetchFromGitHub, fira-mono }:
stdenv.mkDerivation rec {
pname = "materia-kde-theme";
version = "20190530";
src = fetchFromGitHub {
owner = "eayus";
repo = "sddm-theme-clairvoyance";
rev = "dfc5984ff8f4a0049190da8c6173ba5667904487";
sha256 = "sha256-AcVQpG6wPkMtAudqyu/iwZ4N6a2bCdfumCmdqE1E548=";
};
buildInputs = [ fira-mono ];
# makeFlags = [ "PREFIX=$(out)" ];
installPhase = ''
mkdir -p $out/usr/share/sddm/themes/
cp -a . $out/usr/share/sddm/themes/clairvoyance
'';
meta = with lib; {
description = "Clairvoyance theme for SDDM";
homepage = "https://github.com/eayus/sddm-theme-clairvoyance";
license = licenses.gpl3Plus;
maintainers = [ maintainers.bertof ];
platforms = platforms.all;
};
}

View file

@ -37,6 +37,7 @@
(final: _: { (final: _: {
update-background = final.callPackage ./custom/update-background { backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; }; update-background = final.callPackage ./custom/update-background { backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; };
lockscreen = final.callPackage ./custom/lockscreen { palette = final.rice.colorPalette; font = final.rice.font.normal; }; lockscreen = final.callPackage ./custom/lockscreen { palette = final.rice.colorPalette; font = final.rice.font.normal; };
sddm-theme-clairvoyance = final.callPackage ./custom/sddm-theme-clairvoyance { };
}) })
(_: _: { stable = pkgs; }) (_: _: { stable = pkgs; })
(_: _: { unstable = unstablePkgs; }) (_: _: { unstable = unstablePkgs; })

View file

@ -5,18 +5,30 @@ with lib;
let let
xbacklightCmd = "${pkgs.xorg.xbacklight}/bin/xbacklight"; xbacklightCmd = "${pkgs.xorg.xbacklight}/bin/xbacklight";
lightLevel = 10; lightLevel = 10;
package = pkgs.writeScriptBin "xidlehook" ''
${pkgs.xidlehook}/bin/xidlehook --detect-sleep "$@"
'';
saveLightLevel = "${xbacklightCmd} -get > /run/user/$UID/xbacklight_v";
lowerLight = "${xbacklightCmd} -set ${toString lightLevel}";
resetLight = "${xbacklightCmd} -set $(</run/user/$UID/xbacklight_v) || ${xbacklightCmd} -set 100";
in in
{ {
services.xidlehook = { services.xidlehook = {
inherit package;
enable = true; enable = true;
not-when-audio = true; # not-when-audio = true;
not-when-fullscreen = true; not-when-fullscreen = true;
timers = [ timers = [
{ {
command = "${xbacklightCmd} -get > /tmp/xbacklight_v && ${xbacklightCmd} -set ${toString lightLevel}"; command = "${saveLightLevel} && ${lowerLight}";
canceller = "${xbacklightCmd} -set $(cat /tmp/xbacklight_v || echo 100)"; canceller = resetLight;
delay = 60; delay = 60;
} }
{
command = "${pkgs.lockscreen}/bin/lockscreen";
canceller = resetLight;
delay = 120;
}
]; ];
}; };
} }

View file

@ -68,6 +68,12 @@ with lib;
# }; # };
windowManager.bspwm.enable = true; windowManager.bspwm.enable = true;
displayManager.sddm = {
enable = true;
autoNumlock = true;
theme = "${pkgs.sddm-theme-clairvoyance}/usr/share/sddm/themes/clairvoyance";
};
# Configure keymap in X11 # Configure keymap in X11
layout = "it"; layout = "it";
extraLayouts = { extraLayouts = {

View file

@ -20,11 +20,6 @@
# enable = true; # enable = true;
# wayland = true; # wayland = true;
# }; # };
displayManager.sddm = {
enable = true;
autoNumlock = true;
# enableHidpi = true;
};
}; };
# This runs only Intel and nvidia does not drain power. # This runs only Intel and nvidia does not drain power.

View file

@ -6,11 +6,6 @@
services.xserver = { services.xserver = {
videoDrivers = [ "nvidia" ]; videoDrivers = [ "nvidia" ];
displayManager.sddm = {
enable = true;
autoNumlock = true;
# enableHidpi = true;
};
# displayManager.gdm = { # displayManager.gdm = {
# enable = true; # enable = true;
# wayland = false; # wayland = false;

View file

@ -152,7 +152,7 @@
# ../hm_modules/pycharm.nix # ../hm_modules/pycharm.nix
../hm_modules/rofimoji.nix ../hm_modules/rofimoji.nix
../hm_modules/rofi.nix ../hm_modules/rofi.nix
../hm_modules/screen_locker.nix # ../hm_modules/screen_locker.nix
# ../hm_modules/security.nix # ../hm_modules/security.nix
../hm_modules/sxhkd.nix ../hm_modules/sxhkd.nix
../hm_modules/syncthing.nix ../hm_modules/syncthing.nix

View file

@ -3,7 +3,7 @@ with lib;
{ {
boot = { boot = {
binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ];
kernelPackages = pkgs.linuxPackages_5_18; kernelPackages = pkgs.linuxPackages_latest;
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
loader = { loader = {
systemd-boot.enable = true; systemd-boot.enable = true;
@ -124,7 +124,10 @@ with lib;
}; };
windowManager.bspwm = { enable = true; }; windowManager.bspwm = { enable = true; };
# displayManager.gdm = { enable = true; nvidiaWayland = true; }; # displayManager.gdm = { enable = true; nvidiaWayland = true; };
displayManager.sddm.enable = true; displayManager.sddm = {
enable = true;
theme = "${pkgs.sddm-theme-clairvoyance}/usr/share/sddm/themes/clairvoyance";
};
layout = "us"; layout = "us";
videoDrivers = [ "nvidia" ]; videoDrivers = [ "nvidia" ];
xkbOptions = "eurosign:e,terminate:ctrl_alt_bksp,compose:rctrl"; xkbOptions = "eurosign:e,terminate:ctrl_alt_bksp,compose:rctrl";
@ -132,6 +135,8 @@ with lib;
# gnome.gnome-remote-desktop.enable = true; # gnome.gnome-remote-desktop.enable = true;
}; };
services.teamviewer.enable = true; services.teamviewer.enable = true;
security = { security = {

View file

@ -121,7 +121,7 @@
../hm_modules/pro_audio.nix ../hm_modules/pro_audio.nix
../hm_modules/rofimoji.nix ../hm_modules/rofimoji.nix
../hm_modules/rofi.nix ../hm_modules/rofi.nix
../hm_modules/screen_locker.nix # ../hm_modules/screen_locker.nix
# ../hm_modules/security.nix # ../hm_modules/security.nix
../hm_modules/sxhkd.nix ../hm_modules/sxhkd.nix
../hm_modules/syncthing.nix ../hm_modules/syncthing.nix