From 75e3b1bea1b045d60134870cdf7b24d9c6d0d8f9 Mon Sep 17 00:00:00 2001 From: "s0wlz (Matthias Puchstein)" Date: Sun, 17 May 2026 08:49:12 +0200 Subject: [PATCH] chore: misc dotfile updates across owlry, hypr, zsh, gemini, nu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit owlry: migrate config from TOML template to Lua (owlry 2.1); drop scripts/.keep placeholder hypr: add apex-neon and apex-aeon theme variable files zsh: fix apex git prompt — use herestring instead of process sub gemini: add apex-neon and apex-aeon theme JSON files nu: add .chezmoiignore for history.txt; add run_once zoxide-nu script; extend refresh-apex-themes to sync nushell themes --- .chezmoiignore | 1 + .../run_once_generate-zoxide-nu.sh | 5 ++ .../hypr/hyprland.d/theme-apex-aeon.conf | 85 +++++++++++++++++++ .../hypr/hyprland.d/theme-apex-neon.conf | 85 +++++++++++++++++++ .../owlry/{config.toml.tmpl => config.toml} | 2 +- dot_config/owlry/owlry.lua | 58 +++++++++++++ dot_config/owlry/scripts/.keep | 0 dot_config/zsh/apex-aeon.zsh | 2 +- dot_config/zsh/apex-neon.zsh | 2 +- dot_gemini/themes/apex-aeon.json | 24 ++++++ dot_gemini/themes/apex-neon.json | 24 ++++++ dot_local/bin/executable_refresh-apex-themes | 3 + 12 files changed, 288 insertions(+), 3 deletions(-) create mode 100644 .chezmoiignore create mode 100755 .chezmoiscripts/run_once_generate-zoxide-nu.sh create mode 100644 dot_config/hypr/hyprland.d/theme-apex-aeon.conf create mode 100644 dot_config/hypr/hyprland.d/theme-apex-neon.conf rename dot_config/owlry/{config.toml.tmpl => config.toml} (99%) create mode 100644 dot_config/owlry/owlry.lua delete mode 100644 dot_config/owlry/scripts/.keep create mode 100644 dot_gemini/themes/apex-aeon.json create mode 100644 dot_gemini/themes/apex-neon.json diff --git a/.chezmoiignore b/.chezmoiignore new file mode 100644 index 0000000..565eea9 --- /dev/null +++ b/.chezmoiignore @@ -0,0 +1 @@ +dot_config/nushell/history.txt diff --git a/.chezmoiscripts/run_once_generate-zoxide-nu.sh b/.chezmoiscripts/run_once_generate-zoxide-nu.sh new file mode 100755 index 0000000..6f20c62 --- /dev/null +++ b/.chezmoiscripts/run_once_generate-zoxide-nu.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -euo pipefail +if command -v zoxide >/dev/null 2>&1; then + zoxide init nushell > "$HOME/.config/nushell/zoxide.nu" +fi diff --git a/dot_config/hypr/hyprland.d/theme-apex-aeon.conf b/dot_config/hypr/hyprland.d/theme-apex-aeon.conf new file mode 100644 index 0000000..3e63f64 --- /dev/null +++ b/dot_config/hypr/hyprland.d/theme-apex-aeon.conf @@ -0,0 +1,85 @@ +############################# +### APEX AEON THEME ### +############################# + +# The Void (Backgrounds) +# Pure, unadulterated darkness. None of that "grey-blue" nonsense. +$base = rgb(f5f5f5) +$baseAlpha = f5f5f5 + +$surface = rgb(e8e8e8) +$surfaceAlpha = e8e8e8 + +$overlay = rgb(737373) +$overlayAlpha = 737373 + +$muted = rgb(a0a0a0) +$mutedAlpha = a0a0a0 + +$subtle = rgb(a0a0a0) +$subtleAlpha = a0a0a0 + +# The Signal (Text) +# Stark white for maximum readability. +$text = rgb(0a0a0a) +$textAlpha = 0a0a0a + +# Accents (Aggressive) +# "Razor Red" - For errors or active borders. Blood-like. +$love = rgb(ff0044) +$loveAlpha = ff0044 + +# "Warning Gold" +$gold = rgb(d18f00) +$goldAlpha = d18f00 + +# "Toxic Green" - Because nature isn't always nice. +$pine = rgb(00b377) +$pineAlpha = 00b377 + +# "Electric Cyan" - Cold, digital logic. +$foam = rgb(007a88) +$foamAlpha = 007a88 + +# "Deep Void Purple" +$iris = rgb(7a3cff) +$irisAlpha = 7a3cff + +# "Pale Rose" (Mapped to alert color) +$rose = rgb(ff4d6d) +$roseAlpha = ff4d6d + +# Highlight variants +$highlight_low = rgb(e8e8e8) +$highlight_lowAlpha = e8e8e8 + +$highlight_med = rgb(737373) +$highlight_medAlpha = 737373 + +$highlight_high = rgb(a0a0a0) +$highlight_highAlpha = a0a0a0 + +# Theme-specific definitions +$splash_text = rgba($textAlphaee) +$dec_shadow = rgba(000000ee) # Hard shadows + +# Border configurations +# Sharp, thin, and aggressive. +$border_active = rgba($loveAlphaff) rgba($irisAlphaff) 45deg +$border_inactive = rgba($mutedAlpha44) rgba($surfaceAlpha44) 45deg + +$border_nogroup_active = rgba($foamAlphaff) rgba($pineAlphaff) 45deg +$border_nogroup_inactive = rgba($mutedAlpha44) rgba($surfaceAlpha44) 45deg + +$border_group_active = rgba($goldAlphaff) rgba($loveAlphaff) 45deg +$border_group_inactive = rgba($mutedAlpha66) rgba($surfaceAlpha66) 45deg + +$border_grouplocked_active = rgba($foamAlphaff) rgba($irisAlphaff) 45deg +$border_grouplocked_inactive = rgba($foamAlpha66) rgba($irisAlpha66) 45deg + +# Group bar configurations +$groupbar_text = rgba($baseAlphaff) +$groupbar_active = rgba($loveAlphaff) rgba($irisAlphaaa) +$groupbar_inactive = rgba($surfaceAlphaee) rgba($mutedAlphaaa) +$groupbar_grouplocked_active = rgba($foamAlphaff) rgba($irisAlphaff) +$groupbar_grouplocked_inactive = rgba($foamAlphaaa) rgba($irisAlphaaa) \ No newline at end of file diff --git a/dot_config/hypr/hyprland.d/theme-apex-neon.conf b/dot_config/hypr/hyprland.d/theme-apex-neon.conf new file mode 100644 index 0000000..9f0b22f --- /dev/null +++ b/dot_config/hypr/hyprland.d/theme-apex-neon.conf @@ -0,0 +1,85 @@ +############################# +### APEX NEON THEME ### +############################# + +# The Void (Backgrounds) +# Pure, unadulterated darkness. None of that "grey-blue" nonsense. +$base = rgb(050505) +$baseAlpha = 050505 + +$surface = rgb(141414) +$surfaceAlpha = 141414 + +$overlay = rgb(262626) +$overlayAlpha = 262626 + +$muted = rgb(404040) +$mutedAlpha = 404040 + +$subtle = rgb(404040) +$subtleAlpha = 404040 + +# The Signal (Text) +# Stark white for maximum readability. +$text = rgb(ededed) +$textAlpha = ededed + +# Accents (Aggressive) +# "Razor Red" - For errors or active borders. Blood-like. +$love = rgb(ff0044) +$loveAlpha = ff0044 + +# "Warning Gold" +$gold = rgb(ffb700) +$goldAlpha = ffb700 + +# "Toxic Green" - Because nature isn't always nice. +$pine = rgb(00ff99) +$pineAlpha = 00ff99 + +# "Electric Cyan" - Cold, digital logic. +$foam = rgb(00eaff) +$foamAlpha = 00eaff + +# "Deep Void Purple" +$iris = rgb(9d00ff) +$irisAlpha = 9d00ff + +# "Pale Rose" (Mapped to alert color) +$rose = rgb(ff8899) +$roseAlpha = ff8899 + +# Highlight variants +$highlight_low = rgb(141414) +$highlight_lowAlpha = 141414 + +$highlight_med = rgb(262626) +$highlight_medAlpha = 262626 + +$highlight_high = rgb(404040) +$highlight_highAlpha = 404040 + +# Theme-specific definitions +$splash_text = rgba($textAlphaee) +$dec_shadow = rgba(000000ee) # Hard shadows + +# Border configurations +# Sharp, thin, and aggressive. +$border_active = rgba($loveAlphaff) rgba($irisAlphaff) 45deg +$border_inactive = rgba($mutedAlpha44) rgba($surfaceAlpha44) 45deg + +$border_nogroup_active = rgba($foamAlphaff) rgba($pineAlphaff) 45deg +$border_nogroup_inactive = rgba($mutedAlpha44) rgba($surfaceAlpha44) 45deg + +$border_group_active = rgba($goldAlphaff) rgba($loveAlphaff) 45deg +$border_group_inactive = rgba($mutedAlpha66) rgba($surfaceAlpha66) 45deg + +$border_grouplocked_active = rgba($foamAlphaff) rgba($irisAlphaff) 45deg +$border_grouplocked_inactive = rgba($foamAlpha66) rgba($irisAlpha66) 45deg + +# Group bar configurations +$groupbar_text = rgba($baseAlphaff) +$groupbar_active = rgba($loveAlphaff) rgba($irisAlphaaa) +$groupbar_inactive = rgba($surfaceAlphaee) rgba($mutedAlphaaa) +$groupbar_grouplocked_active = rgba($foamAlphaff) rgba($irisAlphaff) +$groupbar_grouplocked_inactive = rgba($foamAlphaaa) rgba($irisAlphaaa) \ No newline at end of file diff --git a/dot_config/owlry/config.toml.tmpl b/dot_config/owlry/config.toml similarity index 99% rename from dot_config/owlry/config.toml.tmpl rename to dot_config/owlry/config.toml index db3db84..9431f66 100644 --- a/dot_config/owlry/config.toml.tmpl +++ b/dot_config/owlry/config.toml @@ -76,7 +76,7 @@ border_radius = 12 # Theme name - loads ~/.config/owlry/themes/{name}.css # Built-in: owl # Or leave unset/empty for GTK default -theme = "{{ .chezmoi.config.data.theme }}" +theme = "apex-neon" # Color overrides (applied on top of theme) # [appearance.colors] diff --git a/dot_config/owlry/owlry.lua b/dot_config/owlry/owlry.lua new file mode 100644 index 0000000..7cb7129 --- /dev/null +++ b/dot_config/owlry/owlry.lua @@ -0,0 +1,58 @@ +-- Generated by `owlry migrate-config` from /home/mpuchstein/.config/owlry/config.toml. +-- Edit freely; this file is the canonical owlry config from 2.1 onwards. +-- Spec: https://somegit.dev/Owlibou/owlry/src/branch/main/docs/lua-api.md +-- +-- Preserved from your config.toml: +-- Owlry Configuration +-- Copy to: ~/.config/owlry/config.toml +-- +-- File Locations (XDG Base Directory compliant): +-- ┌─────────────────────────────────────────────────────────────────────┐ +-- │ Config: ~/.config/owlry/config.toml Main configuration │ +-- │ Themes: ~/.config/owlry/themes/*.css Custom theme files │ +-- │ Style: ~/.config/owlry/style.css CSS overrides │ +-- │ Plugins: ~/.config/owlry/plugins/ User Lua/Rune plugins │ +-- │ Scripts: ~/.local/share/owlry/scripts/ Executable scripts │ +-- │ Data: ~/.local/share/owlry/frecency.json Usage history │ +-- └─────────────────────────────────────────────────────────────────────┘ +-- +-- System Plugin Locations: +-- ┌─────────────────────────────────────────────────────────────────────┐ +-- │ Native: /usr/lib/owlry/plugins/*.so Installed plugins │ +-- │ Runtimes: /usr/lib/owlry/runtimes/*.so Lua/Rune runtimes │ +-- └─────────────────────────────────────────────────────────────────────┘ +-- +-- ═══════════════════════════════════════════════════════════════════════ +-- DMENU MODE +-- ═══════════════════════════════════════════════════════════════════════ +-- +-- Dmenu mode provides interactive selection from piped input. +-- The selected item is printed to stdout (not executed), so pipe +-- the output to execute it: +-- +-- ┌─────────────────────────────────────────────────────────────────────┐ +-- │ # Screenshot menu │ +-- │ printf '%s\n' \ │ +-- │ "grimblast --notify copy screen" \ │ +-- │ "grimblast --notify copy area" \ │ +-- │ | owlry -m dmenu -p "Screenshot" \ │ +-- │ | sh │ +-- │ │ +-- │ # Git branch checkout │ +-- │ git branch | owlry -m dmenu -p "checkout" | xargs git checkout │ +-- │ │ +-- │ # Package search │ +-- │ pacman -Ssq | owlry -m dmenu -p "install" | xargs sudo pacman -S │ +-- └─────────────────────────────────────────────────────────────────────┘ +-- +-- ═══════════════════════════════════════════════════════════════════════ +-- GENERAL +-- ═══════════════════════════════════════════════════════════════════════ + +-- Global settings (only values differing from defaults). +owlry.set { + theme = "apex-neon", + terminal = "kitty", + use_uwsm = true, +} + diff --git a/dot_config/owlry/scripts/.keep b/dot_config/owlry/scripts/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/dot_config/zsh/apex-aeon.zsh b/dot_config/zsh/apex-aeon.zsh index 61baf46..479c6a0 100644 --- a/dot_config/zsh/apex-aeon.zsh +++ b/dot_config/zsh/apex-aeon.zsh @@ -292,7 +292,7 @@ apex_git_update() { apex_git_untracked=1 ;; esac - done < <(print -r -- "$status_out") + done <<<"$status_out" if [[ -n "$branch_head" && "$branch_head" != "(detached)" && "$branch_head" != "HEAD" ]]; then apex_git_branch="$branch_head" diff --git a/dot_config/zsh/apex-neon.zsh b/dot_config/zsh/apex-neon.zsh index 530157c..a6ea3ac 100644 --- a/dot_config/zsh/apex-neon.zsh +++ b/dot_config/zsh/apex-neon.zsh @@ -292,7 +292,7 @@ apex_git_update() { apex_git_untracked=1 ;; esac - done < <(print -r -- "$status_out") + done <<<"$status_out" if [[ -n "$branch_head" && "$branch_head" != "(detached)" && "$branch_head" != "HEAD" ]]; then apex_git_branch="$branch_head" diff --git a/dot_gemini/themes/apex-aeon.json b/dot_gemini/themes/apex-aeon.json new file mode 100644 index 0000000..a1d3e92 --- /dev/null +++ b/dot_gemini/themes/apex-aeon.json @@ -0,0 +1,24 @@ +{ + "name": "Apex Aeon", + "type": "custom", + "Background": "#f5f5f5", + "Foreground": "#0a0a0a", + "LightBlue": "#33bccc", + "AccentBlue": "#007a88", + "AccentPurple": "#7a3cff", + "AccentCyan": "#33bccc", + "AccentGreen": "#00b377", + "AccentYellow": "#d18f00", + "AccentRed": "#ff0044", + "Comment": "#737373", + "Gray": "#a0a0a0", + "DiffAdded": "#00b377", + "DiffRemoved": "#ff0044", + "DiffModified": "#d18f00", + "text": { + "primary": "#0a0a0a", + "secondary": "#737373", + "accent": "#007a88", + "response": "#0a0a0a" + } +} \ No newline at end of file diff --git a/dot_gemini/themes/apex-neon.json b/dot_gemini/themes/apex-neon.json new file mode 100644 index 0000000..db11b47 --- /dev/null +++ b/dot_gemini/themes/apex-neon.json @@ -0,0 +1,24 @@ +{ + "name": "Apex Neon", + "type": "custom", + "Background": "#050505", + "Foreground": "#ededed", + "LightBlue": "#5af3ff", + "AccentBlue": "#00eaff", + "AccentPurple": "#9d00ff", + "AccentCyan": "#5af3ff", + "AccentGreen": "#00ff99", + "AccentYellow": "#ffb700", + "AccentRed": "#ff0044", + "Comment": "#737373", + "Gray": "#404040", + "DiffAdded": "#00ff99", + "DiffRemoved": "#ff0044", + "DiffModified": "#ffb700", + "text": { + "primary": "#ededed", + "secondary": "#737373", + "accent": "#00eaff", + "response": "#ededed" + } +} \ No newline at end of file diff --git a/dot_local/bin/executable_refresh-apex-themes b/dot_local/bin/executable_refresh-apex-themes index 95742ec..45a60b3 100644 --- a/dot_local/bin/executable_refresh-apex-themes +++ b/dot_local/bin/executable_refresh-apex-themes @@ -91,6 +91,9 @@ done mkdir -p "$source_dir/dot_config/zed/themes" cp "$apex_dist/zed/"*.json "$source_dir/dot_config/zed/themes/" +mkdir -p "$source_dir/dot_config/nushell/themes" +cp "$apex_dist/nushell/"*.nu "$source_dir/dot_config/nushell/themes/" + mkdir -p "$source_dir/dot_config/zsh" for src in "$apex_dist"/zsh/*.zsh-theme; do base="$(basename "$src" .zsh-theme)"