Go to file
Anton Volnuhin addce489b4 kitty: remember the light/dark mode across restarts
kitty gives *-theme.auto.conf priority over everything -- includes and
even --override -- and has no option to stop following the OS. So the
only way to start in a chosen mode is to control what those files
contain. Make them generated:

  themes/{light,dark,no-preference}.conf  canonical, the real themes
  theme-mode                              auto | light | dark
  apply-theme-mode.sh                      writes the three .auto.conf

Under `auto` each appearance keeps its own theme, so kitty follows the
OS as before. Pinned, all three get the pinned theme, so kitty starts in
it whatever the OS says and a config reload no longer resets it.

`theme` now records the mode and reloads instead of calling set-colors,
which is why the setting survives restarts. A bare `theme` records
`auto` rather than pinning when the toggle lands on the macOS
appearance, so nothing is pinned unless it actually differs.

The kitten shim hashes the automatic theme files before running `kitten
themes` and copies whichever changed into themes/, so picking a new
light theme while pinned to dark is kept and applied on the next switch.
Covered by tests/test_theme_mode.sh.

conf.d/kitty_theme.fish is gone: theme-mode is now the source of truth,
so the universal-variable tracker it maintained is redundant.
2026-08-06 01:49:45 +03:00
dot_1password template symlinks for portability, remove karabiner debug rule 2026-03-02 19:25:40 +03:00
dot_pi/agent Preserve local Karabiner and Pi preferences 2026-07-27 22:33:34 +03:00
dot_terminfo terminfo: cursor reset restores terminal default (beam), not block 2026-06-12 01:28:40 +03:00
dot_tmux/plugins nova things 2026-03-02 22:17:26 +03:00
private_dot_config kitty: remember the light/dark mode across restarts 2026-08-06 01:49:45 +03:00
private_Library/private_Application Support/private_Arc back to kitty, uv, small changes in karabiner 2025-03-02 01:17:58 +03:00
.chezmoiexternal.toml restructure repo, fix fish config, remove vendored repos 2026-03-02 19:11:10 +03:00
.chezmoiignore Add pi agent config (models, settings) 2026-06-21 18:49:33 +03:00
.gitignore add .gitignore to exclude nvimlog and pycache from repo 2026-03-03 23:30:32 +03:00
dot_gitconfig Small combined changes 2026-07-27 20:23:32 +03:00
dot_tmux.conf tmux: use session name as kitty tab title, with @host over SSH 2026-06-12 01:12:04 +03:00
dot_zshrc Small combined changes 2026-07-27 20:23:32 +03:00
run_onchange_after_install_main_deps.sh.tmpl Modernize Neovim treesitter bootstrap 2026-03-31 01:45:02 +03:00
run_onchange_after_z_configure_tide.sh.tmpl add tide-reset function, fix treesitter config for stable nvim 2026-03-04 18:13:21 +03:00