Lukas' dotfiles
Dotfiles and set up of a new environment (for more specific local needs I use the
*.local
files).
To set up the dotfiles run the appropriate snippet in the terminal:
(setup
script if you do not fully understand
what it does. Seriously, DON'T!)
OS | Snippet |
---|---|
macOS | bash -c "$(curl -LsS https://raw.github.com/lukasjuhas/dotfiles/main/src/os/setup.sh)" |
That's it! ✨
The setup process will:
- Download the dotfiles on your computer
(by default it will suggest
~/projects/dotfiles
). - Symlink the Git, shell, tmux, and Vim related files.
- Install applications / command-line tools for macOS.
- Set custom macOS
- Install the Vim and VS Code plugins.
The dotfiles can be easily extended to suit additional local requirements by using the following files:
The ~/.bash.local
file will be automatically sourced after all
the other Bash related files, thus, allowing its content
to add to or overwrite the existing aliases, settings, PATH
, etc.
Here is an example:
#!/bin/bash
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set PATH additions.
PATH="/Users/lukasjuhas/projects/dotfiles/src/bin/:$PATH"
export PATH
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set local aliases.
alias g="git"
The ~/.gitconfig.local
file will be automatically included after
the configurations from ~/.gitconfig
, thus, allowing its content
to overwrite or add to the existing Git configurations.
Note: Use ~/.gitconfig.local
to store sensitive information
such as the Git user credentials, e.g.:
[commit]
# Sign commits using GPG.
# https://help.github.com/articles/signing-commits-using-gpg/
gpgSign = true
[user]
name = Lukas Juhas
email = [email protected]
signingKey = XXXXXXXX
The ~/.vimrc.local
file will be automatically sourced after
~/.vimrc
, thus, allowing its content to add or overwrite the
settings from ~/.vimrc
.
Here is an example:
" Disable arrow keys in insert mode.
inoremap <Down> <ESC>:echoe "Use j"<CR>
inoremap <Left> <ESC>:echoe "Use h"<CR>
inoremap <Right> <ESC>:echoe "Use l"<CR>
inoremap <Up> <ESC>:echoe "Use k"<CR>
" Disable arrow keys in normal mode.
nnoremap <Down> :echoe "Use j"<CR>
nnoremap <Left> :echoe "Use h"<CR>
nnoremap <Right> :echoe "Use l"<CR>
nnoremap <Up> :echoe "Use k"<CR>
To update the dotfiles you can either run the setup
script
or, if you want to update one particular part, run the appropriate
os
script.
The code is available under the MIT license.
Latest iteration inspired and based mainly from @alrra. Thank you!