Dotfiles for my machines, managed by Chezmoi.
r
: ResetC-e
: New session (prompts for name)C-d
: Set catppuccin flavour to darkC-l
: Set catppuccin flavour to light
The root of the home
directory contains some common dotfiles for:
- TMUX
- ZSH
- NPM
- Git
- ASDF
The rest of the files are spread around different directories.
.chezmoiscripts
is a special folder that contains scripts to execute on init. These scripts will install all required packages (either with brew
or yay
), and set some preferred system configs.
.zshrc.d
is a configuration directory for ZSH, where I keep all of my helper functions, aliases, and configuration files for ZSH. It includes shared scripts (in 00-shared
, prefixed with 00 for source order), scripts that I only need on macOS (in the darwin
directory), and scripts I only need on Linux (in the arch
directory). Each directory contains sub-directories, where the name of the directory represents a command that needs be present on the system in order for files in the directory to be sourced. E.g. arch/git/git-alias.zsh
would only be sourced on Linux, if the git
command is installed.
To see how this works, check out the .zshrc file.
This directory contains configurations for apps that I use. Currently it contains config for:
This is a special Chezmoi file, which contains config for external dependencies that need to be installed, such as oh-my-zsh
, asdf
, and some plugins for these.
Apart from that, there some less important directories, such as:
Projects
- This is just an empty directory that I want crated, where I store my personal projects.Work
- same as above, but for work projects.bin
- contains some executable scripts, and I usuallu put extraneous binaries that I want in myPATH
variable here..npm-global
- a directory that is configured to hold packages installed withnpm install -g
, to avoid user permission issues