chore: migrate omarchy state from ~/.config to ~/.local/state

Move all omarchy runtime state (themes, backgrounds, current theme)
from ~/.config/omarchy/current to ~/.local/state/omarchy/current
to keep the config dir free of generated files. Add mise task for
recreating symlinks and update credential helpers for tea.
This commit is contained in:
2026-09-03 20:46:18 -04:00
parent d772b3952d
commit b6b738fc7b
24 changed files with 85 additions and 41 deletions
+11 -1
View File
@@ -4,10 +4,11 @@ term=xterm-256color
pad=6x6
initial-window-mode=windowed
workers=0
include=~/.config/omarchy/current/theme/foot.ini
include=~/.local/state/omarchy/current/theme/foot.ini
[scrollback]
lines=10000
multiplier=7.0
[cursor]
style=block
@@ -20,3 +21,12 @@ clipboard-paste=Shift+Insert Control+Shift+v XF86Paste
[tweak]
overflowing-glyphs=yes
[text-bindings]
# Send Shift+Return as CSI-u so TUIs can distinguish it from Return.
\x1b[13;2u=Shift+Return
# Send Alt+Shift+Return as CSI-u so tmux can match M-S-Enter.
\x1b[13;4u=Mod1+Shift+Return
+6
View File
@@ -189,3 +189,9 @@ wtl = worktree list
wtr = worktree remove
ignore = "!gi() { curl -sL https://www.toptal.com/developers/gitignore/api/$@ ;}; gi"
[credential "https://git.nca.uwo.ca"]
helper =
helper = !tea login helper
[credential "http://gitea.sagacity.ca"]
helper =
helper = !tea login helper
+25 -3
View File
@@ -1,21 +1,43 @@
onboarding = false
[ui]
show_agent_labels_on_pane_borders = true
pane_gaps = false
pane_borders = true
prompt_new_tab_name = false
confirm_close = false
# set -g mouse on
mouse_capture = true
# status-right had the zoom flag followed by #h
tab_bar_right = [{ type = "zoom" }, { type = "hostname" }]
# set -g set-titles on / set -g set-titles-string '#h:#W', where tmux's #W was
# the basename of the pane cwd. This is what Hyprland shows in the group bar,
# and it resolves on the server so remote sessions name the remote host.
window_title = "{hostname}: {workspace}"
[experimental]
pane_history = true
[theme]
name = "gruvbox"
auto_switch = true
name = "terminal"
[theme.custom]
panel_bg = "black"
[terminal]
new_cwd = "follow"
[keys]
prefix = "ctrl+space"
reload_config = "prefix+ctrl+r"
reload_config = "prefix+q"
help = "prefix+?"
detach = "prefix+d"
zoom = "prefix+z"
copy_mode = "prefix+["
last_pane = "prefix+;"
[remote]
manage_ssh_config = true
+1 -1
View File
@@ -164,7 +164,7 @@ function cycle_next_window(opts)
local win = hl.get_active_window()
if win and win.floating then
hl.dispatch(hl.dsp.window.alter_zorder({ mode = "top" }))
hl.dispatch(hl.dsp.window.alter_zorder({ window = win, mode = "top" }))
end
end
end
+2 -2
View File
@@ -530,8 +530,8 @@ hl.bind(HYPR .. "S", dispatch_focus_or_launch({
}), { description = "Music" })
hl.bind(HYPR .. "F", dispatch_focus_or_launch({
match = "pcmanfm",
cmd = "pcmanfm",
match = "strata",
cmd = "gtk-launch io.github.lgse.Strata.desktop",
}), { description = "File Manager" })
-- Gestures
+2 -2
View File
@@ -1,4 +1,4 @@
source = ~/.config/omarchy/current/theme/hyprlock.conf
source = ~/.local/state/omarchy/current/theme/hyprlock.conf
# GENERAL
general {
@@ -8,7 +8,7 @@ general {
background {
monitor =
path = ~/.config/omarchy/current/background
path = ~/.local/state/omarchy/current/background
color = $color
}
+1 -1
View File
@@ -37,4 +37,4 @@ on-button-left=exec sh -c 'omarchy-notification-dismiss "Install Dictation with
max-icon-size=80
format=<b>%s</b>\n%b
include=~/.config/omarchy/current/theme/mako.ini
include=~/.local/state/omarchy/current/theme/mako.ini
+16 -10
View File
@@ -2,7 +2,7 @@
USER_FULLNAME = "Steve Beaulac"
USER_EMAIL = "steve@beaulac.me"
DOTFILES_DIR = "{{config_root}}"
THEME_DIR = "~/.config/omarchy/current/theme"
THEME_DIR = "~/.local/state/omarchy/current/theme"
SECOND_BRAIN = "~/Documents/sjb-brain"
[env]
@@ -14,14 +14,12 @@ dotfiles.default_mode = "symlink-each"
[dotfiles]
"~/.config/btop" = "config/btop"
"~/.config/btop/themes/current.theme" = { source = "~/.config/omarchy/current/theme/btop.theme", mode = "symlink" }
"~/.config/emacs" = "config/emacs"
"~/.config/environment.d/generic.conf" = { source = "templates/environments.tmpl", mode = "template", template = "tera" }
"~/.gnupg" = "config/gnupg"
"~/.config/fish" = "config/fish" # check if we really need the fisher plugins
"~/.config/gdb" = "config/gdb"
"~/.config/ghostty" = "config/ghostty"
"~/.config/ghostty/theme" = { source = "~/.config/omarchy/current/theme/ghostty.conf", mode = "symlink" }
"~/.config/git" = "config/git"
"~/.config/git/local" = { source = "templates/git-local.tmpl", mode = "template", template = "tera" }
"~/.config/goose" = "config/goose"
@@ -31,28 +29,23 @@ dotfiles.default_mode = "symlink-each"
"~/.config/fontconfig" = { source = "config/fontconfig", mode = "copy" }
"~/.config/foot" = "config/foot"
"~/.config/hypr" = "config/hypr"
"~/.config/hypr/theme.lua" = { source = "~/.config/omarchy/current/theme/hyprland.lua", mode = "symlink" }
"~/.config/jj" = "config/jj"
"~/.config/jj/conf.d/local.toml" = { source = "templates/git-local.tmpl", mode = "template", template = "tera" }
"~/.config/kitty" = "config/kitty"
"~/.config/mako/config" = { source = "~/.config/omarchy/current/theme/mako.ini", mode = "symlink" }
"~/.config/mini.nvim" = "config/mini.nvim"
"~/.config/mise/config.toml" = { source = "config/mise/config.toml", mode = "symlink" }
"~/.config/nvim" = "config/nvim"
"~/.config/nvim/plugin/theme.lua" = { source = "~/.config/omarchy/current/theme/neovim-vimpack.lua", mode = "symlink" }
"~/.config/opencode" = "config/opencode"
"~/.agents" = { source = "config/agents", mode = "symlink-each" }
"~/.config/opencode/agents" = { source = "config/agents/prompts", mode = "symlink" }
"~/.pi" = "config/pi"
"~/.pi/agent/AGENTS.md" = { source = "config/agents/AGENTS.md", mode = "symlink" }
"~/.config/rofi" = "config/rofi"
"~/.config/rofi/theme.rasi" = { source = "~/.config/omarchy/current/theme/rofi.rasi", mode = "symlink" }
"~/.config/rio" = "config/rio"
"~/.config/rio/themes/omarchy.toml" = { source = "~/.config/omarchy/current/theme/rio.toml", mode = "symlink" }
"~/.ssh" = "config/ssh"
"~/.config/systemd" = { source="config/systemd", mode = "copy" }
"~/.config/environment.d" = "config/environment.d"
"~/.config/tmux" = "config/tmux"
"~/.config/tmux/theme" = { source = "~/.config/omarchy/current/theme/tmux", mode = "symlink" }
"~/.config/uwsm" = "config/uwsm"
"~/.config/worktrunk" = "config/worktrunk"
"~/.config/chromium-flags.conf" = { source = "config/chromium-flags.conf", mode = "symlink" }
@@ -143,6 +136,19 @@ login_shell = "/usr/bin/fish"
"pacman:harper" = "latest"
"pacman:tree-sitter-cli" = "latest"
[tasks.theme_links]
run = [
'mkdir -p ~/.config/strata/themes && ln -snf ~/.local/state/omarchy/current/theme/strata.toml ~/.config/strata/themes/omarchy.toml',
'mkdir -p ~/.config/btop/themes && ln -snf ~/.local/state/omarchy/current/theme/btop.theme ~/.config/btop/themes/current.theme',
'mkdir -p ~/.config/ghostty && ln -snf ~/.local/state/omarchy/current/theme/ghostty.conf ~/.config/ghostty/theme',
'mkdir -p ~/.config/hypr && ln -snf ~/.local/state/omarchy/current/theme/hyprland.lua ~/.config/hypr/theme.lua',
'mkdir -p ~/.config/nvim/plugin && ln -snf ~/.local/state/omarchy/current/theme/neovim-vimpack.lua ~/.config/nvim/plugin/theme.lua',
'mkdir -p ~/.config/mako && ln -snf ~/.local/state/omarchy/current/theme/mako.ini ~/.config/mako/config',
'mkdir -p ~/.config/rofi && ln -snf ~/.local/state/omarchy/current/theme/rofi.rasi ~/.config/rofi/theme.rasi',
'mkdir -p ~/.config/rio/themes && ln -snf ~/.local/state/omarchy/current/theme/rio.toml ~/.config/rio/themes/omarchy.toml',
'mkdir -p ~/.config/tmux && ln -snf ~/.local/state/omarchy/current/theme/tmux" ~/.config/tmux/theme',
]
[tasks.shells]
description = "Script to setup some cli environment"
run = [
@@ -153,7 +159,7 @@ run = [
]
[bootstrap.hooks.pre-packages]
run = "test -d ~/.config/omarchy/current/theme || rsync -av config/omarchy/default/ ~/.config/omarchy/current/theme/ --mkpath"
run = "test -d ~/.local/state/omarchy/current/theme || rsync -av config/omarchy/default/ ~/.local/state/omarchy/current/theme/ --mkpath"
[tasks.desktop]
description = "setup gui"
+1 -1
View File
@@ -9,7 +9,7 @@ offset=0
[[ "$1" =~ [1-9][0-9]*$ ]] && offset=$1
BACKGROUNDS_DIR="$HOME/Sync/Shared/wallpapers"
CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background"
CURRENT_BACKGROUND_LINK="$HOME/.local/state/omarchy/current/background"
url_preffix="http://www.bing.com"
xml_url="https://cn.bing.com/HPImageArchive.aspx?format=xml&idx=$offset&n=10&nc=1612409408851&pid=hp&FORM=BEHPTB&uhd=1&uhdwidth=3840&uhdheight=2160"
+3 -3
View File
@@ -3,10 +3,10 @@
# omarchy:summary=Cycle to the next background for the current theme
# omarchy:examples=omarchy theme bg next
THEME_NAME=$(cat "$HOME/.config/omarchy/current/theme.name" 2>/dev/null)
THEME_BACKGROUNDS_PATH="$HOME/.config/omarchy/current/theme/backgrounds/"
THEME_NAME=$(cat "$HOME/.local/state/omarchy/current/theme.name" 2>/dev/null)
THEME_BACKGROUNDS_PATH="$HOME/.local/state/omarchy/current/theme/backgrounds/"
USER_BACKGROUNDS_PATH="$HOME/.config/omarchy/backgrounds/$THEME_NAME/"
CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background"
CURRENT_BACKGROUND_LINK="$HOME/.local/state/omarchy/current/background"
mapfile -d '' -t BACKGROUNDS < <(find -L "$USER_BACKGROUNDS_PATH" "$THEME_BACKGROUNDS_PATH" -maxdepth 1 -type f -print0 2>/dev/null | sort -z)
TOTAL=${#BACKGROUNDS[@]}
+1 -1
View File
@@ -10,7 +10,7 @@ if [[ -z $1 ]]; then
fi
BACKGROUND="$(realpath "$1")"
CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background"
CURRENT_BACKGROUND_LINK="$HOME/.local/state/omarchy/current/background"
if [[ ! -f "$BACKGROUND" ]]; then
echo "File does not exist: $BACKGROUND" >&2
+1 -1
View File
@@ -3,7 +3,7 @@
# omarchy:summary=Show current theme
# omarchy:examples=omarchy theme current
THEME_NAME_PATH="$HOME/.config/omarchy/current/theme.name"
THEME_NAME_PATH="$HOME/.local/state/omarchy/current/theme.name"
if [[ -f $THEME_NAME_PATH ]]; then
cat $THEME_NAME_PATH | sed -E 's/(^|-)([a-z])/\1\u\2/g; s/-/ /g'
+1 -1
View File
@@ -2,7 +2,7 @@
# omarchy:summary=Refresh the current theme from its templates.
THEME_NAME_PATH="$HOME/.config/omarchy/current/theme.name"
THEME_NAME_PATH="$HOME/.local/state/omarchy/current/theme.name"
if [[ -f $THEME_NAME_PATH ]]; then
OMARCHY_THEME_SKIP_BACKGROUND=1 omarchy-theme-set "$(cat $THEME_NAME_PATH)"
+1 -1
View File
@@ -18,7 +18,7 @@ else
fi
THEMES_DIR="$HOME/.config/omarchy/themes"
CURRENT_DIR="$HOME/.config/omarchy/current"
CURRENT_DIR="$HOME/.local/state/omarchy/current"
THEME_PATH="$THEMES_DIR/$THEME_NAME"
# Ensure a theme was set
+3 -3
View File
@@ -9,8 +9,8 @@ if [[ -z $1 ]]; then
exit 1
fi
CURRENT_THEME_PATH="$HOME/.config/omarchy/current/theme"
NEXT_THEME_PATH="$HOME/.config/omarchy/current/next-theme"
CURRENT_THEME_PATH="$HOME/.local/state/omarchy/current/theme"
NEXT_THEME_PATH="$HOME/.local/state/omarchy/current/next-theme"
USER_THEMES_PATH="$HOME/.config/omarchy/themes"
OMARCHY_THEMES_PATH="${DOTFILES_DIR}/themes"
@@ -42,7 +42,7 @@ rm -rf "$CURRENT_THEME_PATH"
mv "$NEXT_THEME_PATH" "$CURRENT_THEME_PATH"
# Store theme name for reference
echo "$THEME_NAME" >"$HOME/.config/omarchy/current/theme.name"
echo "$THEME_NAME" >"$HOME/.local/state/omarchy/current/theme.name"
# Change background with theme
if [[ $OMARCHY_THEME_SKIP_BACKGROUND != "1" ]]; then
+1 -1
View File
@@ -3,7 +3,7 @@
# omarchy:summary=Apply the current theme color to Chromium, Chrome, Edge, and Brave
# omarchy:hidden=true
CHROMIUM_THEME=~/.config/omarchy/current/theme/chromium.theme
CHROMIUM_THEME=~/.local/state/omarchy/current/theme/chromium.theme
if [[ -f $CHROMIUM_THEME ]]; then
THEME_RGB_COLOR=$(<$CHROMIUM_THEME)
+1 -1
View File
@@ -3,7 +3,7 @@
# omarchy:summary=Apply current Omarchy theme colors to running Foot terminals
# omarchy:hidden=true
foot_theme=~/.config/omarchy/current/theme/foot.ini
foot_theme=~/.local/state/omarchy/current/theme/foot.ini
if [[ ! -f $foot_theme ]] || ! pgrep -x foot >/dev/null; then
exit 0
+2 -2
View File
@@ -3,7 +3,7 @@
# omarchy:summary=Apply the current theme to GNOME color mode and icon settings
# omarchy:hidden=true
if [[ -f ~/.config/omarchy/current/theme/light.mode ]]; then
if [[ -f ~/.local/state/omarchy/current/theme/light.mode ]]; then
gsettings set org.gnome.desktop.interface color-scheme "prefer-light"
gsettings set org.gnome.desktop.interface gtk-theme "Adwaita"
else
@@ -12,7 +12,7 @@ else
fi
# Change gnome icon theme color
GNOME_ICONS_THEME=~/.config/omarchy/current/theme/icons.theme
GNOME_ICONS_THEME=~/.local/state/omarchy/current/theme/icons.theme
if [[ -f $GNOME_ICONS_THEME ]]; then
gsettings set org.gnome.desktop.interface icon-theme "$(<$GNOME_ICONS_THEME)"
else
+1 -1
View File
@@ -3,7 +3,7 @@
# omarchy:summary=Apply the current theme keyboard color to ASUS ROG keyboards
# omarchy:hidden=true
ASUSCTL_THEME=~/.config/omarchy/current/theme/keyboard.rgb
ASUSCTL_THEME=~/.local/state/omarchy/current/theme/keyboard.rgb
if omarchy-cmd-present asusctl; then
asusctl aura effect static -c $(sed 's/^#//' $ASUSCTL_THEME)
+1 -1
View File
@@ -3,7 +3,7 @@
# omarchy:summary=Apply the current theme keyboard color to Framework Laptop 16 keyboards
# omarchy:hidden=true
FRAMEWORK16_THEME=~/.config/omarchy/current/theme/keyboard.rgb
FRAMEWORK16_THEME=~/.local/state/omarchy/current/theme/keyboard.rgb
if omarchy-cmd-present qmk_hid && [[ -f $FRAMEWORK16_THEME ]]; then
hex=$(cat "$FRAMEWORK16_THEME")
+1 -1
View File
@@ -3,7 +3,7 @@
# omarchy:summary=Sync Omarchy theme to all Obsidian vaults
# omarchy:hidden=true
CURRENT_THEME_DIR="$HOME/.config/omarchy/current/theme"
CURRENT_THEME_DIR="$HOME/.local/state/omarchy/current/theme"
[[ -f $CURRENT_THEME_DIR/obsidian.css ]] || exit 0
+1 -1
View File
@@ -5,7 +5,7 @@
TEMPLATES_DIR="$DOTFILES_DIR/default/themed"
USER_TEMPLATES_DIR="$HOME/.config/omarchy/themed"
NEXT_THEME_DIR="$HOME/.config/omarchy/current/next-theme"
NEXT_THEME_DIR="$HOME/.local/state/omarchy/current/next-theme"
COLORS_FILE="$NEXT_THEME_DIR/colors.toml"
THEME_MODE="$NEXT_THEME_DIR/light.mode"
+1 -1
View File
@@ -3,7 +3,7 @@
# omarchy:summary=Sync Omarchy theme to VS Code, VSCodium, and Cursor
# omarchy:hidden=true
VS_CODE_THEME="$HOME/.config/omarchy/current/theme/vscode.json"
VS_CODE_THEME="$HOME/.local/state/omarchy/current/theme/vscode.json"
set_theme() {
local editor_cmd="$1"
+1 -1
View File
@@ -25,7 +25,7 @@ fi
# Paths
BACKGROUNDS_DIR="$HOME/Sync/Shared/wallpapers"
CURRENT_BACKGROUND_LINK="$HOME/.config/omarchy/current/background"
CURRENT_BACKGROUND_LINK="$HOME/.local/state/omarchy/current/background"
[ -d "$BACKGROUNDS_DIR" ] || mkdir -p "$BACKGROUNDS_DIR"