Setup dotfiles:
./install.shexec bashorexec zshto get shell changes
To get fonts working with VS Code:
I've tried to keep things pretty straightforward so that, in theory, it would be pretty easy for someone to fork and hack on this to make it their own.
It would be very helpful to have a general understanding of chezmoi. It has a great model for syncing dotfiles, namely:
- Your dotfiles are managed with a "source" directory (a locally cloned git repo) and a "target" directory (your home directory).
- You manage intended changes to your dotfiles in the source directory and
apply them with
chezmoi apply. You can preview changes with dry-runs. - File names are annotated with prefixes and suffixes as directives to do things like create symlinks, run scripts, etc.
- Much file content and chezmoi configuration can be conditionally generated on the fly using a simple templating language.
Some things to know about how I've set this up:
- This project uses a
.chezmoirootfile, so your home directory files, scripts, chezmoi configuration, etc. are all actually in/home/. - Variables to target specific environments such as Windows, Mac, Linux, dev
containers, etc. are defined in
/home/.chezmoi.toml.tmpl. - Scripts that run on
chezmoi applyare found in/home/.chezmoiscripts/. Mac and Linux run.shscripts and Windows runs.ps1scripts. - Scripts that need to run on even more specific platforms are narrowed with
file patterns in
/home/.chezmoiignoreusing/home/.chezmoi.toml.tmpl. - The
/home/dot_dotfilesdirectory is used for improved organization of scripts sourced by other application's runtime config scripts. - All else is generally configuration specific to an platform, application, and/or feature like a font that expects files to be in a specific place.
If you want to make this your own, a good place to start poking around would be
in /home/.chezmoi.toml.tmpl, /home/.chezmoiscripts/, and
/home/.chezmoiignore.
- Template functions
fzf
{ "editor.fontFamily": "'FiraCode Nerd Font', Consolas, 'Courier New', monospace", "editor.fontLigatures": "'ss02'", // <=, >= variants "terminal.integrated.fontFamily": "'FiraCode Nerd Font', Consolas, 'Courier New', monospace", }