This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / 2configs / themes.nix
2.0 kB 64 lines
1{ config, lib, pkgs, ... }: let 2 3 switch-theme = pkgs.writers.writeDashBin "switch-theme" '' 4 set -efux 5 if [ "$1" = toggle ]; then 6 if [ "$(${pkgs.coreutils}/bin/cat /var/theme/current_theme)" = dark ]; then 7 ${placeholder "out"}/bin/switch-theme light 8 else 9 ${placeholder "out"}/bin/switch-theme dark 10 fi 11 elif test -e "/etc/themes/$1"; then 12 ${pkgs.coreutils}/bin/mkdir -p /var/theme/config 13 ${pkgs.rsync}/bin/rsync --chown=lass:users -a --delete "/etc/themes/$1/" /var/theme/config/ 14 echo "$1" > /var/theme/current_theme 15 ${pkgs.coreutils}/bin/chown lass:users /var/theme/current_theme 16 ${pkgs.xorg.xrdb}/bin/xrdb -merge /var/theme/config/xresources || : # wayland has no xresources 17 ${pkgs.procps}/bin/pkill -HUP xsettingsd || : 18 ${pkgs.glib}/bin/gsettings set org.gnome.desktop.interface gtk-theme "$(cat /var/theme/config/gtk-theme)" || : 19 else 20 echo "theme $1 not found" 21 fi 22 ''; 23 24in { 25 systemd.tmpfiles.rules = [ 26 "d /var/theme/ 755 lass users" 27 ]; 28 environment.systemPackages = [ 29 switch-theme 30 pkgs.dracula-theme 31 pkgs.gnome3.adwaita-icon-theme 32 ]; 33 environment.etc = { 34 "themes/light/gtk-theme".text = '' 35 Adwaita 36 ''; 37 "themes/light/xsettings.conf".text = '' 38 Net/ThemeName "Adwaita" 39 ''; 40 "themes/light/xresources".text = '' 41 *background: #ffffff 42 *foreground: #000000 43 ''; 44 "themes/dark/gtk-theme".text = '' 45 Dracula 46 ''; 47 "themes/dark/xsettings.conf".text = '' 48 Net/ThemeName "Dracula" 49 ''; 50 "themes/dark/xresources".text = '' 51 *background: #000000 52 *foreground: #ffffff 53 ''; 54 }; 55 system.activationScripts.theme.text = '' 56 export DISPLAY=:0 57 if test -e /var/theme/current_theme; then 58 ${switch-theme}/bin/switch-theme "$(cat /var/theme/current_theme)" || 59 ${switch-theme}/bin/switch-theme dark 60 else 61 ${switch-theme}/bin/switch-theme dark 62 fi 63 ''; 64}