mirror of
https://github.com/prdlk/dotfiles.git
synced 2026-11-02 19:32:43 +00:00
Split niri, hypr, fish into submodules; tmux, tmux-palette, television, yazi into externals
This commit is contained in:
1 parent
ab29365a3d
commit
954e1e1ae0
216 files changed
+138
-9708
No files matched your search
@@ -16,13 +16,13 @@ Packages come from `.chezmoidata/packages.yaml` and are installed by `run_onchan
|
||||
| [Git](/tools/git) | git, delta, diffnav, git-split-diffs | `dot_gitconfig.tmpl` | delta colors hand-tuned (dark) |
|
||||
| [GitHub CLI](/tools/github-cli) | gh, gh extensions, gh-dash | `dot_config/gh/`, `dot_config/gh-dash/` | gh-dash defaults |
|
||||
| [Neovim](/tools/neovim) | nvim (AstroNvim) | external repo via `.chezmoiexternal.toml` | managed in the nvim repo |
|
||||
| [Yazi](/tools/yazi) | yazi file manager | `yazi/` (symlinked) | cyberdream flavor (ii-auto flavor shipped) |
|
||||
| [Yazi](/tools/yazi) | yazi file manager | external repo via `.chezmoiexternals/yazi.toml` | cyberdream flavor (ii-auto flavor shipped) |
|
||||
| [Lazygit](/tools/lazygit) | lazygit | `dot_config/lazygit/` | cyberdream colors (ii theme file shipped) |
|
||||
| [Lazydocker](/tools/lazydocker) | lazydocker | `dot_config/lazydocker/config.yml` | cyberdream colors |
|
||||
| [bat](/tools/bat) | bat | `dot_config/bat/` | cyberdream tmTheme |
|
||||
| [Topgrade](/tools/topgrade) | topgrade | `dot_config/topgrade.toml` | n/a |
|
||||
| [Hunk](/tools/hunk) | hunk diff viewer | `dot_config/hunk/config.toml` | `auto` |
|
||||
| [television](/tools/television) | tv fuzzy picker, custom cables | `television/` (symlinked) | `cyberdream-transparent` |
|
||||
| [television](/tools/television) | tv fuzzy picker, custom cables | external repo via `.chezmoiexternals/television.toml` | `cyberdream-transparent` |
|
||||
| [LeetCode](/tools/leetcode) | leetcode CLI, `lc-elir` | `dot_leetcode/` | n/a |
|
||||
|
||||
<CardGroup cols={2}>
|
||||
|
||||
@@ -7,13 +7,11 @@ description: tv config symlinked from the repo, a transparent cyberdream theme,
|
||||
|
||||
| | |
|
||||
| --- | --- |
|
||||
| Source | `television/config.toml`, `television/cable/*.toml`, `television/themes/cyberdream-transparent.toml` |
|
||||
| Link | `dot_config/symlink_television.tmpl` → `~/.config/television` is a symlink to `{{ .chezmoi.sourceDir }}/television` |
|
||||
| Source | [prdlk/television](https://github.com/prdlk/television) via `.chezmoiexternals/television.toml`: `config.toml`, `cable/*.toml`, `themes/cyberdream-transparent.toml` |
|
||||
| Target | `~/.config/television/` |
|
||||
| Ignore | `.chezmoiignore.tmpl` lists `television`, so it is not copied to `~/television` |
|
||||
| Install | Not listed in `.chezmoidata/packages.yaml`; install separately |
|
||||
|
||||
The whole directory is a symlink into the source tree, so edits apply without `chezmoi apply`. `cable/` holds tv's stock cables plus the repo's own and overridden ones.
|
||||
`~/.config/television` is a `git-repo` checkout (pulled `--ff-only` every 168h), so edits apply immediately; commit and push them from there. `cable/` holds tv's stock cables plus the repo's own and overridden ones.
|
||||
|
||||
## config.toml
|
||||
|
||||
|
||||
+9
-10
@@ -7,10 +7,8 @@ description: Yazi file manager config — layout, openers, bat previews, keymap,
|
||||
|
||||
| | |
|
||||
| --- | --- |
|
||||
| Source | `yazi/` |
|
||||
| Link | `dot_config/symlink_yazi.tmpl` → `~/.config/yazi` is a symlink to `{{ .chezmoi.sourceDir }}/yazi` |
|
||||
| Target | `~/.config/yazi/` |
|
||||
| Ignore | `.chezmoiignore.tmpl` lists `yazi`, so it is not copied to `~/yazi` |
|
||||
| Source | [prdlk/yazi](https://github.com/prdlk/yazi) via `.chezmoiexternals/yazi.toml` (`git-repo`, pulled `--ff-only` every 168h) |
|
||||
| Target | `~/.config/yazi/` (git checkout; edit in place, commit and push from there) |
|
||||
| Files | `yazi.toml`, `keymap.toml`, `init.lua`, `package.toml`, `theme.toml`, `vfs.toml`, `flavors/{cyberdream,ii-auto}.yazi/flavor.toml`, `plugins/bunny.yazi/` (vendored) |
|
||||
| Helper | `dot_local/bin/executable_yazi-nvim-open` → `~/.local/bin/yazi-nvim-open` |
|
||||
| Packages | `yazi` plus preview backends `ffmpeg`, `ffmpegthumbnailer`, `poppler`, `resvg`, `imagemagick`, `7zip` (`sevenzip` on macOS), `unzip` |
|
||||
@@ -137,14 +135,15 @@ In the shell opened by <kbd>Shift</kbd>+<kbd>Tab</kbd>, the `q` function (fish,
|
||||
|
||||
## Plugins
|
||||
|
||||
`package.toml` pins every plugin to a commit and hash. Since `~/.config/yazi` links to the source dir, `ya pkg install` writes plugins into the repo's `yazi/plugins/`, which `.gitignore` excludes (`/yazi/plugins/*`, `!/yazi/plugins/bunny.yazi/`). The post-apply script reinstalls from the manifest:
|
||||
`package.toml` pins every plugin to a commit and hash. `~/.config/yazi` is the [prdlk/yazi](https://github.com/prdlk/yazi) checkout, so `ya pkg install` writes plugins into its `plugins/`, which that repo's `.gitignore` excludes (`plugins/*`, `!plugins/bunny.yazi/`). The post-apply script reinstalls from the manifest:
|
||||
|
||||
```sh run_onchange_after_install-yazi-plugins.sh.tmpl
|
||||
#!/bin/sh
|
||||
# Install the yazi plugins pinned in yazi/package.toml whenever it changes.
|
||||
# ~/.config/yazi links to the source dir, so they land in yazi/plugins/
|
||||
# (gitignored, except the vendored bunny.yazi).
|
||||
# package.toml hash: {{ include "yazi/package.toml" | sha256sum }}
|
||||
# Install the yazi plugins pinned in ~/.config/yazi/package.toml whenever it
|
||||
# changes. ~/.config/yazi is a git-repo external (prdlk/yazi); plugins land in
|
||||
# its plugins/ dir (gitignored there, except the vendored bunny.yazi).
|
||||
{{- $pkg := joinPath .chezmoi.homeDir ".config/yazi/package.toml" }}
|
||||
# package.toml hash: {{ if stat $pkg }}{{ include $pkg | sha256sum }}{{ end }}
|
||||
set -eu
|
||||
command -v ya >/dev/null 2>&1 || exit 0
|
||||
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/yazi/package.toml" ] || exit 0
|
||||
@@ -158,7 +157,7 @@ ya pkg install || {
|
||||
|
||||
The embedded hash makes chezmoi re-run the script whenever `package.toml` changes.
|
||||
|
||||
bunny is not in `package.toml`: it is vendored at `71b14a3` in `yazi/plugins/bunny.yazi/`, because its repo contains a Git symlink to a directory (`test/plugins/bunny.yazi -> ../..`) that `ya pkg` cannot materialize. To update it, re-copy the files from upstream.
|
||||
bunny is not in `package.toml`: it is vendored at `71b14a3` in `plugins/bunny.yazi/` of the yazi repo, because its repo contains a Git symlink to a directory (`test/plugins/bunny.yazi -> ../..`) that `ya pkg` cannot materialize. To update it, re-copy the files from upstream.
|
||||
|
||||
| Plugin | Rev | Used by |
|
||||
| --- | --- | --- |
|
||||
|
||||
Reference in new issue
Block a user