Update theme engine
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -20,11 +20,7 @@ let
|
|||||||
swww
|
swww
|
||||||
];
|
];
|
||||||
text = ''
|
text = ''
|
||||||
if [[ -L "${hmConfig.theme.configDir}"/wallpaper ]]; then
|
exec swww img "${hmConfig.theme.configDir}"/wallpaper
|
||||||
exec swww img "${hmConfig.theme.configDir}"/wallpaper
|
|
||||||
elif [[ -f "${hmConfig.theme.configDir}"/color ]]; then
|
|
||||||
exec swww clear "$(<"${hmConfig.theme.configDir}"/color)"
|
|
||||||
fi
|
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@@ -10,22 +10,22 @@ let
|
|||||||
|
|
||||||
init = pkgs.writeShellApplication {
|
init = pkgs.writeShellApplication {
|
||||||
name = "theme-init";
|
name = "theme-init";
|
||||||
runtimeInputs = with pkgs; [ matugen ];
|
runtimeInputs = with pkgs; [
|
||||||
|
matugen
|
||||||
|
imagemagick
|
||||||
|
];
|
||||||
text = ''
|
text = ''
|
||||||
mkdir -p "${cfg.configDir}"
|
mkdir -p "${cfg.configDir}"
|
||||||
|
|
||||||
[[ ! -L "${cfg.configDir}"/wallpaper ]] && [[ ! -f "${cfg.configDir}"/color ]] && echo "#000000" > "${cfg.configDir}"/color
|
[[ ! -f "${cfg.configDir}"/wallpaper ]] && magick -size 1x1 xc:"#000000" png:"${cfg.configDir}"/wallpaper
|
||||||
[[ ! -f "${cfg.configDir}"/mode ]] && echo "dark" > "${cfg.configDir}"/mode
|
[[ ! -f "${cfg.configDir}"/mode ]] && echo "dark" > "${cfg.configDir}"/mode
|
||||||
[[ ! -f "${cfg.configDir}"/flavor ]] && echo "tonal-spot" > "${cfg.configDir}"/flavor
|
[[ ! -f "${cfg.configDir}"/flavor ]] && echo "tonal-spot" > "${cfg.configDir}"/flavor
|
||||||
[[ ! -f "${cfg.configDir}"/contrast ]] && echo "0" > "${cfg.configDir}"/contrast
|
[[ ! -f "${cfg.configDir}"/contrast ]] && echo "0" > "${cfg.configDir}"/contrast
|
||||||
|
|
||||||
flags=(--mode "$(<"${cfg.configDir}/mode")" --type "scheme-$(<"${cfg.configDir}/flavor")" --contrast "$(<"${cfg.configDir}/contrast")")
|
matugen image "${cfg.configDir}"/wallpaper \
|
||||||
|
--mode "$(<"${cfg.configDir}/mode")" \
|
||||||
if [[ -L "${cfg.configDir}"/wallpaper ]]; then
|
--type "scheme-$(<"${cfg.configDir}/flavor")" \
|
||||||
matugen image "${cfg.configDir}"/wallpaper "''${flags[@]}"
|
--contrast "$(<"${cfg.configDir}/contrast")"
|
||||||
elif [[ -f "${cfg.configDir}"/color ]]; then
|
|
||||||
matugen color hex "$(<"${cfg.configDir}"/color)" "''${flags[@]}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
${cfg.initExtraConfig}
|
${cfg.initExtraConfig}
|
||||||
wait
|
wait
|
||||||
@@ -42,7 +42,10 @@ let
|
|||||||
|
|
||||||
theme = pkgs.writeShellApplication {
|
theme = pkgs.writeShellApplication {
|
||||||
name = "theme";
|
name = "theme";
|
||||||
runtimeInputs = with pkgs; [ coreutils ];
|
runtimeInputs = with pkgs; [
|
||||||
|
coreutils
|
||||||
|
imagemagick
|
||||||
|
];
|
||||||
runtimeEnv = {
|
runtimeEnv = {
|
||||||
CONFIG = cfg.configDir;
|
CONFIG = cfg.configDir;
|
||||||
INIT = lib.meta.getExe init;
|
INIT = lib.meta.getExe init;
|
||||||
|
@@ -16,7 +16,7 @@ set_wallpaper() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
set_color() {
|
set_color() {
|
||||||
local re='^#?([A-Fa-f0-9]{6})$'
|
local re='^#([A-Fa-f0-9]{6})$'
|
||||||
if [[ "$1" =~ $re ]]; then
|
if [[ "$1" =~ $re ]]; then
|
||||||
color="$1"
|
color="$1"
|
||||||
else
|
else
|
||||||
@@ -63,8 +63,8 @@ usage() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
finish() {
|
finish() {
|
||||||
[[ -n "$wallpaper" ]] && rm -f "$CONFIG"/color && ln -sf "$wallpaper" "$CONFIG"/wallpaper
|
[[ -n "$wallpaper" ]] && rm -f "$CONFIG"/wallpaper && ln -sf "$wallpaper" "$CONFIG"/wallpaper
|
||||||
[[ -n "$color" ]] && rm -f "$CONFIG"/wallpaper && echo "$color" > "$CONFIG"/color
|
[[ -n "$color" ]] && rm -f "$CONFIG"/wallpaper && magick -size 1x1 xc:"$color" png:"$CONFIG"/wallpaper
|
||||||
[[ -n "$mode" ]] && echo "$mode" > "$CONFIG"/mode
|
[[ -n "$mode" ]] && echo "$mode" > "$CONFIG"/mode
|
||||||
[[ -n "$flavor" ]] && echo "$flavor" > "$CONFIG"/flavor
|
[[ -n "$flavor" ]] && echo "$flavor" > "$CONFIG"/flavor
|
||||||
[[ -n "$contrast" ]] && echo "$contrast" > "$CONFIG"/contrast
|
[[ -n "$contrast" ]] && echo "$contrast" > "$CONFIG"/contrast
|
||||||
|
Reference in New Issue
Block a user