[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

gabrielfreiberg/dotfiles

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gabriel’s dotfiles

CI status for macOS CI status for Ubuntu

These are the base dotfiles that I start with when I set up 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:

Caution

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/gabrielfreiberg/dotfiles/main/src/os/setup.sh)"
Ubuntu bash -c "$(wget -qO - https://raw.github.com/gabrielfreiberg/dotfiles/main/src/os/setup.sh)"

That's it! ✨ Almost.

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 / Ubuntu.
  • Set custom macOS / Ubuntu preferences.
  • Install the Vim and VS Code plugins.

Setup process in action:

macOS.mp4
Ubuntu.mp4

Screenshots

Git

Output for git status:

Output for Git status on macOS Output for Git status on Ubuntu
macOS Ubuntu

Manual Steps

After the first run, make sure to add your ssh key to:

  1. Add passphrase to ssh-agent
  2. Unbind Spotlight Search keyboard shortcut

macOS

  1. Install alfred license
  2. Install sizeup license
  3. Install bartender license)

Customize

Output for git log:

Output for Git log on macOS Output for Git log on Ubuntu
macOS Ubuntu

tmux & Vim

tmux and Vim on macOS tmux and Vim on Ubuntu
macOS Ubuntu

Customize Local

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/gabriel/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 = Your Name
    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>

Forks

If you decide to fork this project, do not forget to substitute my username with your own in the setup snippets and in the setup script.

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.

Thank you

Inspiration and outright theft of these great dotfiles:

  • alrra
  • paulirish
  • mathiasbynens

About

💻 macOS / Ubuntu dotfiles

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 79.9%
  • Vim Script 19.2%
  • AppleScript 0.9%