This repo manages my dotfiles with chezmoi.
-
For containers or other minimal env, following tools should be installed before applying the dotfiles, e.g. on Ubuntu:
sudo apt install -y git curl zsh tmux
-
Check Tools and install the tools which should not be automatically installed.
-
One-liner to apply the dotfiles:
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply genzj -
Or, manually apply it by:
- Install chezmoi
- Apply the dotfiles by running
chezmoi init --apply genzj(ref)
The following tools will be automatically installed by running their installation shell scripts. If you prefer using a package manager for installation management instead of downloading the binary release, please install them before applying the dotfiles.
- mise will be automatically installed.
- If ZIM is not desired, disable ZIM by change config
data.tool.zsh.use_zimto false, or following tools will be automatically installed - Following tools will be automatically installed if they are not found in the PATH. The installation will be conducted by mise first and fallback to shell script if mise exited with error
See run_after_99-post-actions.zsh for details.
-
If you use Ubuntu and install Zsh with apt, the script will add the following line to your
~/.zshenvfile to stop/etc/zsh/zshrcfrom callingcompinit(ref):skip_global_compinit=1
-
Rebuild bat theme cache
-
Reinstall Zim modules to make sure they are using the degit
| App | OS | Platforms | Notes |
|---|---|---|---|
| Kitty | MacOS | x86-64 | |
| Kitty | Linux | x86-64 | Excl. CloudDesktop |
| Git | MacOS/Linux | All | Use data proxy to swith on/off git http proxy setting |
| Bat | MacOS/Linux | All | Contrast-enhanced theme (twodark-genzj), config |
| czg | MacOS/Linux | All | Needs age key. Excl. CloudDesktop |
| tmux | MacOS/Linux | All | Work with my tmux config and tpm (see External repos below) |
| zsh | MacOS/Linux | All | Zim only |
External repos:
- Tmux config
- Tmux plugin manager
- Oh-my-fish config
- ZimAmznDev (only on working environments)
- Raycast script-commands with enabled copies.
| App group | OS | Items | Notes |
|---|---|---|---|
| ptpython | config | TBD |
My NeoVIM config contains the lazy lock file which varies with different OS/host because not all plugins are enabled everywhere. So chezmoi external system which is based on git-pull cannot always successfully update the config folder which contains modified lazy-lock file.
Most of the Neovide customizations are also included in the mynvim repo as lua scripts. Neovide config file is for a different set of configurations which I don't need to alter because their default values works well for me. So it's not managed by this repo either.
The function definition is missing in some "internal" patched zsh 5.x. Download it from here and put it under the system-level zsh function folder.