lukasjuhas / dotfiles

Dotfiles and set up of a new environment (for more specific local needs I use the *.local files).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lukas' dotfiles

CI status for macOS

Dotfiles and set up of a new environment (for more specific local needs I use the *.local files).

Table of Contents

Setup

To set up the dotfiles run the appropriate snippet in the terminal:

(⚠️ DO NOT run the 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.

Customize

Local Settings

The dotfiles can be easily extended to suit additional local requirements by using the following files:

~/.bash.local

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"

~/.gitconfig.local

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 = account@example.com
    signingKey = XXXXXXXX

~/.vimrc.local

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>

Update

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.

License

The code is available under the MIT license.


Latest iteration inspired and based mainly from @alrra. Thank you!

About

Dotfiles and set up of a new environment (for more specific local needs I use the *.local files).


Languages

Language:Shell 80.9%Language:Vim Script 17.9%Language:AppleScript 1.2%