A collection of configurations for developing environment
When cloning this repository you must clone them into ~/github/
for all the scripts to be functioning
Base structure for dotfiles
~/
├── .config/
│ ├── fish/ -> todo: configure fish shell
│ └── nvim/
│ └── lua/
│ └── custom/ -> symlink to ~/github/dotfiles/.config/nvchad/custom
├── .vim/ -> symlink to ~/github/dotfiles/.vim
├── .vimrc -> symlink to ~/github/dotfiles/.vim/init.vim
└── .zshrc -> symlink to ~/github/dotfiles/zsh/.zshrc
- Run scripts/macOS.sh to define macOS preferences.
- Run brew/install.sh from the local repository after the homebrew installation.
- Symlink all configurations with scripts/symlinks.sh
Each specific machine type setups.
Debian based machine can have a look at apt
folder and run the script to initialised setup. Note that debian setup is compatible with WSL2 as I mainly use a Windows machine.
macOS machines needed to setup the devices default configuration via macOS/defaults.sh
then proceed to setup environments via brew
on brew
folder
TODO: Experimenting fish
Z-shell is a preferred shell, originally I was using .preztorc
but as time progress I wanted to setup my own list so hence, custom .zshrc
with some plugins that are being managed by zinit
.
zinit allows plugins to be loaded much faster and it is very simple to maintain the configuration. zinit also has the cability to source remote plugins (e.g., from Prezzinit to and Prezto modules).
We're moving to use nvchad
TODO: Vim specific details
Since we've migrated to nvchad
framework, please see .config/nvchad folder.
Configuring the most complex tool on the universe
git config --global -e
We can define git behaviour by seperating .gitconfig
per folder/project basis.
# This is Git's per-user configuration file.
[color]
ui = auto
[commit]
gpgsign = true
# Use macOS keychain so that we don't have to type in credentials every now and then
[credential]
helper = osxkeychain
# Sub-folders specific .gitconfig settings
#
# Examples:
# [includeIf "gitdir:~/<FOLDER_PATH>"]
# path = ~/<FOLDER_PATH>/.gitconfig
#
[includeIf "gitdir:~/github/"]
path = ~/github/.gitconfig