From 92d5eacd6d9e530c4d1ea0dec2652417b0fde78a Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 15 Apr 2022 18:42:28 +0200 Subject: l themes: fix startup --- lass/2configs/themes.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lass/2configs/themes.nix b/lass/2configs/themes.nix index dd98b2ef..118619c1 100644 --- a/lass/2configs/themes.nix +++ b/lass/2configs/themes.nix @@ -1,12 +1,18 @@ { config, lib, pkgs, ... }: let switch-theme = pkgs.writers.writeDashBin "switch-theme" '' - if test -e "/etc/themes/$1"; then + set -efux + if [ "$1" = toggle ]; then + if [ "$(${pkgs.coreutils}/bin/cat /var/theme/current_theme)" = dark ]; then + ${placeholder "out"}/bin/switch-theme light + else + ${placeholder "out"}/bin/switch-theme dark + fi + elif test -e "/etc/themes/$1"; then ${pkgs.rsync}/bin/rsync --chown=lass:users -a --delete "/etc/themes/$1/" /var/theme/config/ echo "$1" > /var/theme/current_theme - chown lass:users /var/theme/current_theme + ${pkgs.coreutils}/bin/chown lass:users /var/theme/current_theme ${pkgs.procps}/bin/pkill -HUP xsettingsd - else echo "theme $1 not found" fi @@ -15,6 +21,7 @@ in { systemd.services.xsettingsd = { wantedBy = [ "multi-user.target" ]; + after = [ "display-manager.service" ]; environment.DISPLAY = ":0"; serviceConfig = { ExecStart = "${pkgs.xsettingsd}/bin/xsettingsd -c /var/theme/config/xsettings.conf"; -- cgit v1.2.3