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
+13
-8
@@ -27,7 +27,13 @@ The repo is a [chezmoi](https://chezmoi.io) source directory. It lives at `~/.lo
|
||||
- packages.yaml
|
||||
- skills.yaml
|
||||
- .chezmoiexternal.toml
|
||||
- .chezmoiexternals/
|
||||
- television.toml
|
||||
- tmux.toml
|
||||
- tmux-palette.toml
|
||||
- yazi.toml
|
||||
- .chezmoiignore.tmpl
|
||||
- .gitmodules
|
||||
- .chezmoiscripts/
|
||||
- run_onchange_before_10-packages.sh.tmpl
|
||||
- run_onchange_after_20-gh-extensions.sh.tmpl
|
||||
@@ -59,15 +65,12 @@ The repo is a [chezmoi](https://chezmoi.io) source directory. It lives at `~/.lo
|
||||
- niri/
|
||||
- shell/
|
||||
- starship.toml
|
||||
- tmux/
|
||||
- topgrade.toml
|
||||
- waybar/
|
||||
- symlink_yazi.tmpl
|
||||
- zsh/
|
||||
- dot_local/
|
||||
- bin/
|
||||
- dot_leetcode/
|
||||
- yazi/
|
||||
- docs/
|
||||
- public/
|
||||
- blume.config.ts
|
||||
@@ -81,11 +84,13 @@ The repo is a [chezmoi](https://chezmoi.io) source directory. It lives at `~/.lo
|
||||
| --- | --- | --- |
|
||||
| `.chezmoi.toml.tmpl` | `~/.config/chezmoi/chezmoi.toml` | Config template rendered by `chezmoi init`. See [Config and roles](/chezmoi/config). |
|
||||
| `.chezmoidata/` | — | YAML merged into template data (`.packages`, `.aliases`, `.skills`). See [Packages and aliases](/chezmoi/data) and [Skills](/ai/skills). |
|
||||
| `.chezmoiexternal.toml` | — | Git repos cloned into `$HOME` (nvim config, a bat syntax). |
|
||||
| `.chezmoiexternal.toml` | — | Git repos cloned into `$HOME` (nvim config, a bat syntax, tpm). |
|
||||
| `.chezmoiexternals/` | — | One `git-repo` external per app: tmux, tmux-palette, television, yazi. Plain config repos cloned into `~/.config/<app>`. See [Externals and ignore rules](/chezmoi/externals-and-ignore#app-externals). |
|
||||
| `.gitmodules` | — | `dot_config/niri`, `dot_config/hypr`, `dot_config/fish` are git submodules. See [Submodules](/chezmoi/externals-and-ignore#submodules). |
|
||||
| `.chezmoiignore.tmpl` | — | Target paths chezmoi skips; gates the Linux desktop layer by role. |
|
||||
| `.chezmoiscripts/`, root `run_*` | — | Install and housekeeping scripts. See [Apply scripts](/chezmoi/scripts). |
|
||||
| `dot_config/` | `~/.config/` | Per-tool config. Documented under [Shell](/shell), [Terminal](/terminal), [Tools](/tools), [Desktop](/desktop). |
|
||||
| `dot_local/bin/` | `~/.local/bin/` | 34 standalone scripts shared by every shell. |
|
||||
| `dot_local/bin/` | `~/.local/bin/` | 39 standalone scripts shared by every shell. |
|
||||
| `dot_leetcode/` | `~/.leetcode/` | leetcode CLI workspace state. |
|
||||
| `docs/`, `public/`, `blume.config.ts`, `package.json`, `bun.lock`, `README.md` | — | This docs site and the repo README. Listed in `.chezmoiignore.tmpl`, never applied. |
|
||||
|
||||
@@ -99,10 +104,10 @@ chezmoi encodes target names and attributes in source file names. These are the
|
||||
| --- | --- | --- |
|
||||
| `dot_` | Target name starts with `.` | `dot_config` → `~/.config`, `dot_zshrc` → `~/.zshrc` |
|
||||
| `private_` | Target has group/world permissions cleared (`0600`/`0700`) | `dot_config/atuin/private_config.toml`, `dot_config/gh/private_config.yml`, `dot_config/hunk/private_state.json` |
|
||||
| `executable_` | Target gets the executable bit | 40 files: every script in `dot_local/bin/`, `dot_config/niri/scripts/`, `dot_config/tmux/executable_niri-title.sh` |
|
||||
| `executable_` | Target gets the executable bit | 44 files: every script in `dot_local/bin/` (including `executable_tmux-niri-title`) and `dot_config/niri/scripts/` |
|
||||
| `exact_` | Directory is exact: entries in the target that are not in the source are deleted | `dot_config/niri/exact_config.d/` (numbered `10-…kdl` through `95-…kdl` fragments) |
|
||||
| `empty_` | File is kept even when empty | `dot_config/herdr/empty_dot_plugins.lock` |
|
||||
| `symlink_` | Target is a symlink; file content is the link destination | `dot_config/kitty/symlink_current-theme.conf` (→ `themes/cyberdream.conf`), `dot_config/symlink_television.tmpl`, `dot_config/symlink_yazi.tmpl` |
|
||||
| `symlink_` | Target is a symlink; file content is the link destination | `dot_config/kitty/symlink_current-theme.conf` (→ `themes/cyberdream.conf`) |
|
||||
| `.tmpl` | Rendered with Go templates and chezmoi data | `dot_gitconfig.tmpl`, `dot_config/shell/aliases.sh.tmpl`, all scripts, the config and ignore files |
|
||||
| `run_once_` / `run_onchange_` + `before_` / `after_` | Script, with run frequency and phase | See [Apply scripts](/chezmoi/scripts) |
|
||||
|
||||
@@ -120,7 +125,7 @@ What that means in practice:
|
||||
- Tools that rewrite their own config write through the symlink into the repo. The runtime state that would otherwise pollute the source (plugin dirs, lock files, `fish_variables`, `__pycache__`) is excluded in `.chezmoiignore.tmpl` and `.gitignore`; see [Externals and ignore rules](/chezmoi/externals-and-ignore).
|
||||
|
||||
:::note
|
||||
Several fish aliases (`e.f`, `e.h`, `e.k`, `e.n`, `e.y`, `e.t`, `,,`) open the chezmoi source paths directly. Symlink mode makes that equivalent to editing the live config.
|
||||
Several fish aliases (`e.f`, `e.h`, `e.k`, `e.n`, `,,`) open the chezmoi source paths directly. Symlink mode makes that equivalent to editing the live config. `e.y` and `e.t` open the yazi and tmux external checkouts in `~/.config`.
|
||||
:::
|
||||
|
||||
## Daily workflow
|
||||
|
||||
Reference in new issue
Block a user