summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorseraphim <18ycm9tx@anonaddy.me>2026-08-18 18:46:52 +0700
committerseraphim <18ycm9tx@anonaddy.me>2026-08-18 18:46:52 +0700
commit8154dc023f9d2a0f657b5f2e8e94d59eb7e05f41 (patch)
tree6ab707cd8ebd00c334788ce6987c0529a6cb1787
parent23ef44ef1a033a3414934f0b3b46fe8ae5805932 (diff)
wallust+matugen. Normal color theme for the system
-rw-r--r--foot/.config/foot/foot.ini2
-rw-r--r--matugen/.config/matugen/config.toml10
-rw-r--r--matugen/.config/matugen/templates/niri.kdl6
-rwxr-xr-xniri/.config/niri/apply-colors.sh40
-rw-r--r--niri/.config/niri/config.kdl3
-rwxr-xr-xniri/.config/niri/theme-switcher.sh10
-rw-r--r--portage/etc/portage/package.accept_keywords/pywal161
-rw-r--r--portage/etc/portage/package.use/pywal161
-rw-r--r--portage/etc/portage/package.use/zz-autounmask3
-rw-r--r--portage/var/lib/portage/world5
-rw-r--r--wallust/.config/wallust/templates/dbg.ini4
-rw-r--r--wallust/.config/wallust/templates/foot-colors-custom.ini20
-rw-r--r--wallust/.config/wallust/templates/shell-colors.sh20
-rw-r--r--wallust/.config/wallust/wallust.toml4
-rw-r--r--waybar/.config/waybar/config.jsonc4
-rw-r--r--waybar/.config/waybar/style.css13
-rw-r--r--waybar/.config/waybar/theme-dark.css2
-rw-r--r--waybar/.config/waybar/theme-light.css2
l---------waybar/.config/waybar/theme.css1
-rw-r--r--zshrc/.zshrc28
20 files changed, 155 insertions, 24 deletions
diff --git a/foot/.config/foot/foot.ini b/foot/.config/foot/foot.ini
index d3b8d81..fd03722 100644
--- a/foot/.config/foot/foot.ini
+++ b/foot/.config/foot/foot.ini
@@ -1,5 +1,5 @@
[main]
-include=~/.cache/wal/colors-foot.ini
+include=~/.cache/wallust/foot-theme.ini
font=JetBrainsMono Nerd Font:size=12
pad=2x0
diff --git a/matugen/.config/matugen/config.toml b/matugen/.config/matugen/config.toml
new file mode 100644
index 0000000..338672f
--- /dev/null
+++ b/matugen/.config/matugen/config.toml
@@ -0,0 +1,10 @@
+# matugen config — generates Material You / Material Design 3 colors.
+# matugen is installed via portage (x11-misc/matugen).
+
+[config]
+# Disable caching so the -m light/dark mode flag is always respected.
+caching = false
+
+[templates.niri]
+input_path = '~/.config/matugen/templates/niri.kdl'
+output_path = '~/.cache/matugen/theme.kdl'
diff --git a/matugen/.config/matugen/templates/niri.kdl b/matugen/.config/matugen/templates/niri.kdl
new file mode 100644
index 0000000..afc1f04
--- /dev/null
+++ b/matugen/.config/matugen/templates/niri.kdl
@@ -0,0 +1,6 @@
+layout {
+ focus-ring {
+ active-color "{{ colors.primary.default.hex }}"
+ inactive-color "{{ colors.outline.default.hex }}"
+ }
+}
diff --git a/niri/.config/niri/apply-colors.sh b/niri/.config/niri/apply-colors.sh
new file mode 100755
index 0000000..5383ed7
--- /dev/null
+++ b/niri/.config/niri/apply-colors.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+# Apply a wallpaper and generate colors with wallust (16-color palette) + matugen (Material You / M3).
+# Usage: apply-colors.sh <image> [light|dark]
+# Called by theme-switcher.sh and the waybar random-wallpaper click.
+
+set -euo pipefail
+
+IMG="${1:-}"
+MODE="${2:-auto}"
+
+if [ -z "$IMG" ] || [ ! -f "$IMG" ]; then
+ echo "usage: $0 <image> [light|dark]" >&2
+ exit 1
+fi
+
+# wallust: classic 16-color palette (foot, btop, ...)
+case "$MODE" in
+ light) wallust run --palette light "$IMG" ;;
+ dark) wallust run --palette dark "$IMG" ;;
+ *) wallust run "$IMG" ;;
+esac
+
+# foot needs bare RRGGBB, not #RRGGBB — strip the leading '#'
+sed -i 's/#\([0-9a-fA-F]\)/\1/g' ~/.cache/wallust/foot-theme.ini 2>/dev/null || true
+
+# matugen: Material You / M3 colors (niri focus ring, ...)
+# --prefer is required for non-interactive runs (multiple source colors).
+case "$MODE" in
+ light) matugen image "$IMG" -m "light" --prefer saturation ;;
+ dark) matugen image "$IMG" -m "dark" --prefer saturation ;;
+ *) matugen image "$IMG" --prefer saturation ;;
+esac
+
+# set the wallpaper
+awww img "$IMG"
+
+# reload consumers
+killall -SIGUSR2 waybar 2>/dev/null || true
+killall -USR1 foot 2>/dev/null || true
+niri msg action reload-config 2>/dev/null || true
diff --git a/niri/.config/niri/config.kdl b/niri/.config/niri/config.kdl
index 6f573ca..a5640d8 100644
--- a/niri/.config/niri/config.kdl
+++ b/niri/.config/niri/config.kdl
@@ -1,3 +1,6 @@
+// Material You / Material Design 3 colors, generated by matugen (see theme-switcher.sh / apply-colors.sh)
+include optional=true "/home/seraphim/.cache/matugen/theme.kdl"
+
spawn-at-startup "xrdb" "-merge" "/home/seraphim/.Xresources"
spawn-at-startup "vicinae" "server"
spawn-at-startup "gentoo-pipewire-launcher"
diff --git a/niri/.config/niri/theme-switcher.sh b/niri/.config/niri/theme-switcher.sh
index 0ab25af..665aab8 100755
--- a/niri/.config/niri/theme-switcher.sh
+++ b/niri/.config/niri/theme-switcher.sh
@@ -9,6 +9,7 @@ LIGHT_BLUR_WALLPAPER="$HOME/Pictures/wallpapers/day-blur.jpg"
DARK_BLUR_WALLPAPER="$HOME/Pictures/wallpapers/night-blur.jpg"
STATE_FILE="/tmp/current_theme_state"
+SCRIPT_DIR="$(cd "$(dirname "$(realpath "$0")")" && pwd)"
while true; do
HOUR=$(date +%H)
@@ -24,23 +25,20 @@ while true; do
if [ "$CURRENT_STATE" != "$TARGET_STATE" ]; then
if [ "$TARGET_STATE" = "light" ]; then
- wal -n -l -i "$LIGHT_WALLPAPER"
- awww img "$LIGHT_WALLPAPER"
+ sh "$SCRIPT_DIR/apply-colors.sh" "$LIGHT_WALLPAPER" light
awww -n backdrop img "$LIGHT_BLUR_WALLPAPER"
# Сообщаем системе, что включилась светлая тема
darkman set light
else
- wal -n -i "$DARK_WALLPAPER"
- awww img "$DARK_WALLPAPER"
+ sh "$SCRIPT_DIR/apply-colors.sh" "$DARK_WALLPAPER" dark
awww -n backdrop img "$DARK_BLUR_WALLPAPER"
# Сообщаем системе, что включилась тёмная тема
darkman set dark
fi
- killall -SIGUSR2 waybar
- killall -USR1 foot
+ ln -sf "theme-${TARGET_STATE}.css" "$HOME/dotfiles-gentoo/waybar/.config/waybar/theme.css"
echo "$TARGET_STATE" >"$STATE_FILE"
fi
diff --git a/portage/etc/portage/package.accept_keywords/pywal16 b/portage/etc/portage/package.accept_keywords/pywal16
deleted file mode 100644
index 4a3f43e..0000000
--- a/portage/etc/portage/package.accept_keywords/pywal16
+++ /dev/null
@@ -1 +0,0 @@
-x11-misc/pywal16 ~amd64
diff --git a/portage/etc/portage/package.use/pywal16 b/portage/etc/portage/package.use/pywal16
deleted file mode 100644
index 0ff79d1..0000000
--- a/portage/etc/portage/package.use/pywal16
+++ /dev/null
@@ -1 +0,0 @@
-x11-misc/pywal16 python_targets_python3_12
diff --git a/portage/etc/portage/package.use/zz-autounmask b/portage/etc/portage/package.use/zz-autounmask
index 63fca63..4b6f92b 100644
--- a/portage/etc/portage/package.use/zz-autounmask
+++ b/portage/etc/portage/package.use/zz-autounmask
@@ -441,9 +441,6 @@
>=dev-python/flit-core-3.12.0 python_targets_python3_12
# required by dev-python/setuptools-scm-10.1.2::gentoo[-test]
# required by dev-python/setuptools-83.0.0::gentoo
-# required by x11-misc/pywal16-3.7.2::guru
-# required by x11-misc/pywal16 (argument)
->=dev-python/vcs-versioning-2.2.2 python_targets_python3_12
# required by dev-python/jaraco-text-4.2.0::gentoo
# required by dev-python/setuptools-83.0.0::gentoo
# required by dev-python/vcs-versioning-2.2.2::gentoo
diff --git a/portage/var/lib/portage/world b/portage/var/lib/portage/world
index a0a2265..52a01f6 100644
--- a/portage/var/lib/portage/world
+++ b/portage/var/lib/portage/world
@@ -6,6 +6,8 @@ app-admin/stow
app-admin/sudo
app-admin/testdisk
app-editors/emacs
+app-editors/fresh
+app-editors/micro
app-editors/neovim
app-editors/vis
app-eselect/eselect-repository
@@ -21,6 +23,7 @@ app-shells/ohmyzsh
app-shells/starship
app-shells/zsh
app-shells/zsh-autocomplete
+dev-util/android-tools
dev-util/opencode-bin
dev-vcs/git
games-util/steam-launcher
@@ -80,6 +83,6 @@ www-client/librewolf
www-client/mullvad-browser-bin
x11-apps/xrdb
x11-drivers/nvidia-drivers
-x11-misc/pywal16
+x11-misc/matugen
x11-misc/sddm
x11-misc/silent-sddm-theme
diff --git a/wallust/.config/wallust/templates/dbg.ini b/wallust/.config/wallust/templates/dbg.ini
new file mode 100644
index 0000000..edc18bb
--- /dev/null
+++ b/wallust/.config/wallust/templates/dbg.ini
@@ -0,0 +1,4 @@
+plain={{background}}
+strip={{background.strip}}
+hex={{background.hex}}
+rgb={{background.rgb}}
diff --git a/wallust/.config/wallust/templates/foot-colors-custom.ini b/wallust/.config/wallust/templates/foot-colors-custom.ini
new file mode 100644
index 0000000..0a2fb2b
--- /dev/null
+++ b/wallust/.config/wallust/templates/foot-colors-custom.ini
@@ -0,0 +1,20 @@
+# wallust foot template — outputs #rrggbb, the '#' is stripped by apply-colors.sh
+[colors]
+background={{background}}
+foreground={{foreground}}
+regular0={{color0}}
+regular1={{color1}}
+regular2={{color2}}
+regular3={{color3}}
+regular4={{color4}}
+regular5={{color5}}
+regular6={{color6}}
+regular7={{color7}}
+bright0={{color8}}
+bright1={{color9}}
+bright2={{color10}}
+bright3={{color11}}
+bright4={{color12}}
+bright5={{color13}}
+bright6={{color14}}
+bright7={{color15}}
diff --git a/wallust/.config/wallust/templates/shell-colors.sh b/wallust/.config/wallust/templates/shell-colors.sh
new file mode 100644
index 0000000..3cfb24d
--- /dev/null
+++ b/wallust/.config/wallust/templates/shell-colors.sh
@@ -0,0 +1,20 @@
+# CUSTOM wallust shell template
+color0={{color0}}
+color1={{color1}}
+color2={{color2}}
+color3={{color3}}
+color4={{color4}}
+color5={{color5}}
+color6={{color6}}
+color7={{color7}}
+color8={{color8}}
+color9={{color9}}
+color10={{color10}}
+color11={{color11}}
+color12={{color12}}
+color13={{color13}}
+color14={{color14}}
+color15={{color15}}
+background={{background}}
+foreground={{foreground}}
+cursor={{cursor}}
diff --git a/wallust/.config/wallust/wallust.toml b/wallust/.config/wallust/wallust.toml
new file mode 100644
index 0000000..995b5f8
--- /dev/null
+++ b/wallust/.config/wallust/wallust.toml
@@ -0,0 +1,4 @@
+backend = "fastresize"
+
+[templates]
+foottheme = { template = "foot-colors-custom.ini", target = "~/.cache/wallust/foot-theme.ini" }
diff --git a/waybar/.config/waybar/config.jsonc b/waybar/.config/waybar/config.jsonc
index 892da84..eedc711 100644
--- a/waybar/.config/waybar/config.jsonc
+++ b/waybar/.config/waybar/config.jsonc
@@ -81,7 +81,7 @@
"on-click-right": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
"tooltip-format": "Playing at {volume}%",
"scroll-step": 5,
- "format-muted": "vol <span style='italic' weight='900' color='#df6124'>muted</span>",
+ "format-muted": "vol <span style='italic' weight='900' color='#999999'>muted</span>",
"format-icons": {
"headphone": "",
"default": ["", "", ""]
@@ -108,6 +108,6 @@
"tooltip": true,
"format": "{}",
"return-type": "json",
- "on-click": "sh -c 'wal -i $(find ~/Pictures/wallpapers -type f | shuf -n 1) 2>/dev/null || wal -r'"
+ "on-click": "sh -c '~/.config/niri/apply-colors.sh \"$(find ~/Pictures/wallpapers -type f | shuf -n 1)\"'"
}
}
diff --git a/waybar/.config/waybar/style.css b/waybar/.config/waybar/style.css
index 2c4e35d..cf8dbee 100644
--- a/waybar/.config/waybar/style.css
+++ b/waybar/.config/waybar/style.css
@@ -1,4 +1,4 @@
-@import "../../.cache/wal/colors-waybar.css";
+@import "/home/seraphim/dotfiles-gentoo/waybar/.config/waybar/theme.css";
@define-color bg @background;
@define-color fg @foreground;
@@ -17,7 +17,7 @@ window#waybar {
#waybar > box {
border-radius: 0px;
- border-bottom: 1.5px solid rgba(255, 255, 255, 0.1);
+ border-bottom: 1.5px solid alpha(@foreground, 0.12);
margin: 0px 0px 2px 0px;
background-color: @background;
box-shadow: 0 1px 2px rgba(0, 0, 0, 1);
@@ -52,7 +52,7 @@ window#waybar {
#workspaces button.active {
color: @background;
- background-color: #df6124;
+ background-color: @foreground;
padding: 0px 4px;
margin: 4px 2px;
opacity: 1.0;
@@ -146,20 +146,21 @@ tooltip label {
@keyframes blink {
to {
- color: #4a4a4a;
+ color: #999999;
}
}
#pulseaudio.warning,
#memory.warning,
#cpu.warning {
- color: #e3c1b1;
+ color: alpha(@foreground, 0.65);
background-color: @background;
}
#pulseaudio.critical,
#memory.critical,
#cpu.critical {
- color: #df6124;
+ color: @foreground;
background-color: @background;
+ font-weight: 900;
}
diff --git a/waybar/.config/waybar/theme-dark.css b/waybar/.config/waybar/theme-dark.css
new file mode 100644
index 0000000..d88a91d
--- /dev/null
+++ b/waybar/.config/waybar/theme-dark.css
@@ -0,0 +1,2 @@
+@define-color background #111111;
+@define-color foreground #fafafa;
diff --git a/waybar/.config/waybar/theme-light.css b/waybar/.config/waybar/theme-light.css
new file mode 100644
index 0000000..b757ab6
--- /dev/null
+++ b/waybar/.config/waybar/theme-light.css
@@ -0,0 +1,2 @@
+@define-color background #fafafa;
+@define-color foreground #111111;
diff --git a/waybar/.config/waybar/theme.css b/waybar/.config/waybar/theme.css
new file mode 120000
index 0000000..aea3c67
--- /dev/null
+++ b/waybar/.config/waybar/theme.css
@@ -0,0 +1 @@
+theme-dark.css \ No newline at end of file
diff --git a/zshrc/.zshrc b/zshrc/.zshrc
index be47620..13469c7 100644
--- a/zshrc/.zshrc
+++ b/zshrc/.zshrc
@@ -112,8 +112,30 @@ alias ls="eza -lha --icons"
alias ll="eza -lh --icons"
alias la="eza -lha --icons"
alias tree="eza --tree --icons"
-eval "$(starship init zsh)"
-
-
+# In your shell startup file
+wallust() {
+ command wallust run "$@"
+ # Regenerate btop theme after wallust runs
+ cat > ~/.config/btop/themes/wallust.theme << EOF
+main_bg="#$(grep -m1 '^color0' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+main_fg="#$(grep -m1 '^color15' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+title_bg="#$(grep -m1 '^color0' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+title_fg="#$(grep -m1 '^color15' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+highlight_bg="#$(grep -m1 '^color1' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+highlight_fg="#$(grep -m1 '^color15' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+progress_fg="#$(grep -m1 '^color2' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+progress_bg="#$(grep -m1 '^color0' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+graph_bg="#$(grep -m1 '^color0' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+graph_fg="#$(grep -m1 '^color1' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+box_bg="#$(grep -m1 '^color0' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+box_fg="#$(grep -m1 '^color7' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+misc_fg="#$(grep -m1 '^color7' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+selected_fg="#$(grep -m1 '^color0' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+selected_bg="#$(grep -m1 '^color4' ~/.cache/wallust/colors.sh | grep -oE '#[0-9a-fA-F]{6}')"
+EOF
+}
+# Walllust installation
+export PATH="$HOME/.cargo/bin:$PATH"
# Swing Music installation
export PATH="/home/seraphim/.local/bin:$PATH"
+eval "$(starship init zsh)"