├── custom └── .gitkeep ├── system ├── env.zsh ├── path.zsh └── keys.zsh ├── alias ├── ohmyzsh.zsh ├── directories.zsh ├── development.zsh ├── ember.zsh ├── update.zsh ├── github-projects.zsh ├── rake.zsh └── git.zsh ├── bat ├── bat.config.symlink └── path.zsh ├── node ├── npmrc.symlink ├── yarnrc.symlink └── path.zsh ├── zsh ├── aliases.zsh ├── lang.zsh ├── config.zsh ├── zshrc.symlink └── p10k.zsh.symlink ├── direnv └── path.zsh ├── .gitignore ├── vim ├── settings │ ├── _color_scheme.vim │ ├── _appearance.vim │ ├── _mouse.vim │ ├── _spelling.vim │ ├── emmet.vim │ ├── format-json.vim │ ├── _commands.vim │ ├── _filetypes.vim │ ├── numbertoggle.vim │ ├── ale.vim │ ├── vimwiki.vim │ ├── _whitespace.vim │ ├── fzf.vim │ ├── _search.vim │ ├── NERDtree.vim │ ├── _autoread_buffer_on_filechange.vim │ └── _indentation.vim ├── settings.vim ├── plug.vim └── vimrc.symlink ├── asdf ├── path.zsh ├── tool-versions.symlink └── install.sh ├── functions ├── pw ├── mcd ├── rwcd ├── gf ├── download_video ├── download_mp3 └── colortest ├── z └── enable.zsh ├── fzf ├── install.sh └── path.zsh ├── homebrew ├── path.zsh ├── install.sh └── Brewfile ├── ruby └── gemrc.symlink ├── script ├── install └── bootstrap ├── tmux ├── install.sh └── tmux.conf.symlink ├── git ├── gitconfig.symlink.example └── git_commit_message_template.symlink ├── README.md ├── osx └── set-defaults.sh └── iTerm └── Nord.itermcolors /custom/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /system/env.zsh: -------------------------------------------------------------------------------- 1 | export EDITOR="vim" 2 | -------------------------------------------------------------------------------- /alias/ohmyzsh.zsh: -------------------------------------------------------------------------------- 1 | alias cdohmyzsh='cd $ZSH' -------------------------------------------------------------------------------- /bat/bat.config.symlink: -------------------------------------------------------------------------------- 1 | --theme="Nord" 2 | -------------------------------------------------------------------------------- /node/npmrc.symlink: -------------------------------------------------------------------------------- 1 | ignore-scripts=true 2 | -------------------------------------------------------------------------------- /node/yarnrc.symlink: -------------------------------------------------------------------------------- 1 | ignore-scripts true 2 | -------------------------------------------------------------------------------- /zsh/aliases.zsh: -------------------------------------------------------------------------------- 1 | alias reload!='. ~/.zshrc' -------------------------------------------------------------------------------- /direnv/path.zsh: -------------------------------------------------------------------------------- 1 | eval "$(direnv hook zsh)" 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | git/gitconfig.symlink 2 | 3 | custom/ 4 | -------------------------------------------------------------------------------- /vim/settings/_color_scheme.vim: -------------------------------------------------------------------------------- 1 | colorscheme nord 2 | -------------------------------------------------------------------------------- /asdf/path.zsh: -------------------------------------------------------------------------------- 1 | . $(brew --prefix asdf)/libexec/asdf.sh 2 | -------------------------------------------------------------------------------- /bat/path.zsh: -------------------------------------------------------------------------------- 1 | export BAT_CONFIG_PATH=$HOME/.bat.config 2 | -------------------------------------------------------------------------------- /functions/pw: -------------------------------------------------------------------------------- 1 | pw() { 2 | pwgen 32 1 | pbcopy 3 | } 4 | -------------------------------------------------------------------------------- /functions/mcd: -------------------------------------------------------------------------------- 1 | mcd() { 2 | mkdir -p $1 3 | cd $1 4 | } 5 | -------------------------------------------------------------------------------- /vim/settings/_appearance.vim: -------------------------------------------------------------------------------- 1 | " display ruler 2 | set ruler 3 | -------------------------------------------------------------------------------- /vim/settings/_mouse.vim: -------------------------------------------------------------------------------- 1 | set ttymouse=xterm2 2 | set mouse=a 3 | -------------------------------------------------------------------------------- /z/enable.zsh: -------------------------------------------------------------------------------- 1 | # enable z 2 | . `brew --prefix`/etc/profile.d/z.sh -------------------------------------------------------------------------------- /fzf/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | $(brew --prefix)/opt/fzf/install 3 | -------------------------------------------------------------------------------- /alias/directories.zsh: -------------------------------------------------------------------------------- 1 | alias '..'='cd ..' 2 | alias '...'='cd ...' 3 | -------------------------------------------------------------------------------- /functions/rwcd: -------------------------------------------------------------------------------- 1 | rwcd() { 2 | tmux rename-window ${PWD##*/} 3 | } 4 | -------------------------------------------------------------------------------- /zsh/lang.zsh: -------------------------------------------------------------------------------- 1 | export LC_ALL=en_GB.UTF-8 2 | export LANG=en_GB.UTF-8 3 | -------------------------------------------------------------------------------- /vim/settings/_spelling.vim: -------------------------------------------------------------------------------- 1 | map :setlocal spell! spelllang=en_gb 2 | -------------------------------------------------------------------------------- /vim/settings/emmet.vim: -------------------------------------------------------------------------------- 1 | " redefine trigger key 2 | let g:user_emmet_leader_key = ',' 3 | -------------------------------------------------------------------------------- /functions/gf: -------------------------------------------------------------------------------- 1 | gf() { 2 | local branch=$1 3 | git checkout -b $branch origin/$branch 4 | } -------------------------------------------------------------------------------- /node/path.zsh: -------------------------------------------------------------------------------- 1 | export VOLTA_HOME="$HOME/.volta" 2 | export PATH="$VOLTA_HOME/bin:$PATH" 3 | -------------------------------------------------------------------------------- /vim/settings/format-json.vim: -------------------------------------------------------------------------------- 1 | " format JSON fila via =j 2 | nmap =j :%!python -m json.tool 3 | -------------------------------------------------------------------------------- /functions/download_video: -------------------------------------------------------------------------------- 1 | download_video() { 2 | noglob yt-dlp --merge-output-format mkv $@ 3 | } 4 | -------------------------------------------------------------------------------- /vim/settings/_commands.vim: -------------------------------------------------------------------------------- 1 | " save current buffer via s 2 | noremap s :update 3 | -------------------------------------------------------------------------------- /vim/settings/_filetypes.vim: -------------------------------------------------------------------------------- 1 | autocmd BufRead,BufNewFile *.handlebars,*.hbs setfiletype html.mustache 2 | -------------------------------------------------------------------------------- /functions/download_mp3: -------------------------------------------------------------------------------- 1 | download_mp3() { 2 | noglob yt-dlp --extract-audio --audio-format mp3 $@ 3 | } 4 | -------------------------------------------------------------------------------- /fzf/path.zsh: -------------------------------------------------------------------------------- 1 | export FZF_DEFAULT_COMMAND='rg --files' 2 | 3 | [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh 4 | -------------------------------------------------------------------------------- /asdf/tool-versions.symlink: -------------------------------------------------------------------------------- 1 | elixir 1.14.4 2 | erlang 25.3 3 | nodejs lts 4 | ruby 2.7.7 5 | python 3.9.9 6 | -------------------------------------------------------------------------------- /homebrew/path.zsh: -------------------------------------------------------------------------------- 1 | # don't cleanup homwbrew after installing a formula 2 | export HOMEBREW_NO_INSTALL_CLEANUP=1 3 | -------------------------------------------------------------------------------- /system/path.zsh: -------------------------------------------------------------------------------- 1 | export PATH=$PATH:/usr/local/sbin 2 | 3 | export SCONS_LIB_DIR=/usr/local/Cellar/scons/2.3.0/lib/scons -------------------------------------------------------------------------------- /vim/settings.vim: -------------------------------------------------------------------------------- 1 | for fpath in split(globpath('$DOTFILES/vim/settings', '*.vim'), '\n') 2 | exe 'source' fpath 3 | endfor -------------------------------------------------------------------------------- /alias/development.zsh: -------------------------------------------------------------------------------- 1 | alias cddropgit='cd ~/Dropbox/git-repos' 2 | alias server='echo "serving at http://localhost:8000" && python3 -m http.server' 3 | -------------------------------------------------------------------------------- /alias/ember.zsh: -------------------------------------------------------------------------------- 1 | alias nombom='npm cache clear --force && bower cache clean && rm -rf node_modules bower_components && npm install && bower install' 2 | -------------------------------------------------------------------------------- /system/keys.zsh: -------------------------------------------------------------------------------- 1 | # Pipe my public key to my clipboard. 2 | alias pubkey="more ~/.ssh/id_rsa.pub | pbcopy | echo '=> Public key copied to pasteboard.'" 3 | -------------------------------------------------------------------------------- /asdf/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | asdf plugin add elixir 4 | asdf plugin add erlang 5 | asdf plugin add nodejs 6 | asdf plugin add yarn 7 | asdf plugin add ruby 8 | -------------------------------------------------------------------------------- /ruby/gemrc.symlink: -------------------------------------------------------------------------------- 1 | --- 2 | :update_sources: true 3 | :verbose: true 4 | :bulk_threshold: 1000 5 | :backtrace: false 6 | :benchmark: false 7 | gem: --no-ri --no-rdoc 8 | -------------------------------------------------------------------------------- /alias/update.zsh: -------------------------------------------------------------------------------- 1 | alias u='brew update && brew outdated' 2 | alias update_vim='vim +PlugInstall +PlugUpdate +PlugUpgrade' 3 | alias update_tmux='$TMUX_PLUGIN_MANAGER_PATH/tpm/bin/update_plugins all' 4 | -------------------------------------------------------------------------------- /vim/settings/numbertoggle.vim: -------------------------------------------------------------------------------- 1 | " set Hybrid line numbers 2 | set number relativenumber 3 | 4 | " toggle line numbers (between relative and absolute) 5 | :nnoremap :set relativenumber! 6 | -------------------------------------------------------------------------------- /alias/github-projects.zsh: -------------------------------------------------------------------------------- 1 | alias cdGH='cd ~/development/githubs' 2 | alias cdember='cd ~/development/githubs/ember.js' 3 | alias cddata='cd ~/development/githubs/data' 4 | alias cdwebsite='cd ~/development/githubs/website' -------------------------------------------------------------------------------- /alias/rake.zsh: -------------------------------------------------------------------------------- 1 | function be() { 2 | if [[ -a Gemfile ]]; then 3 | bundle exec $* 4 | else 5 | command $* 6 | fi 7 | } 8 | 9 | alias rails='be rails' 10 | alias rake='noglob rake' 11 | alias cap='be cap' 12 | alias rspec='be rspec' -------------------------------------------------------------------------------- /script/install: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Run all dotfiles installers. 4 | 5 | set -e 6 | 7 | cd "$(dirname $0)"/.. 8 | 9 | # find the installers and run them iteratively 10 | find . -name install.sh | while read installer ; do sh -c "${installer}" ; done 11 | -------------------------------------------------------------------------------- /tmux/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # “tpm - tmux plugin manager” 4 | # 5 | 6 | # Install tpm 7 | if [ ! -d ~/.tmux/plugins/tpm ]; then 8 | git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm 9 | fi 10 | 11 | ~/.tmux/plugins/tpm/bin/install_plugins 12 | 13 | exit 0 14 | -------------------------------------------------------------------------------- /vim/settings/ale.vim: -------------------------------------------------------------------------------- 1 | let g:ale_linters = { 2 | \} 3 | 4 | let g:ale_fixers = { 5 | \ 'elixir': ['mix_format'], 6 | \ 'javascript': ['prettier'], 7 | \ 'typescript': ['prettier'], 8 | \ 'json': ['prettier'], 9 | \ 'css': ['prettier'], 10 | \ 'html': ['prettier'], 11 | \} 12 | 13 | " Run ALE on leader+a 14 | map a :ALEFix 15 | -------------------------------------------------------------------------------- /vim/settings/vimwiki.vim: -------------------------------------------------------------------------------- 1 | let personal_wiki = {} 2 | 3 | let personal_wiki.path = "~/Documents/wikis/private" 4 | let personal_wiki.syntax = "markdown" 5 | let personal_wiki.ext = ".md" 6 | let personal_wiki.auto_tags = 1 7 | let personal_wiki.auto_diary_index = 1 8 | let personal_wiki.auto_toc = 1 9 | 10 | let g:vimwiki_list = [personal_wiki] 11 | -------------------------------------------------------------------------------- /alias/git.zsh: -------------------------------------------------------------------------------- 1 | alias g='git' 2 | alias ga='git add' 3 | alias gb='git branch' 4 | alias gco='git checkout' 5 | alias gst='git status' 6 | alias gm='git merge' 7 | alias gp='git push' 8 | alias gl='git log' 9 | alias gpump='git fetch upstream && git pull upstream master && git push origin master' 10 | alias gc='git commit --verbose' 11 | alias gt='git tree' 12 | -------------------------------------------------------------------------------- /vim/settings/_whitespace.vim: -------------------------------------------------------------------------------- 1 | " show tabs and trailing whitespaces 2 | set list 3 | 4 | " specify how whitespace characters are shown 5 | set listchars=tab:▸\ ,trail:·,nbsp:_ 6 | 7 | " toggle list 8 | nmap l :set list! 9 | 10 | " remove all trailing whitespace by pressing F3 11 | nnoremap :let _s=@/:%s/\s\+$//e:let @/=_s 12 | -------------------------------------------------------------------------------- /vim/settings/fzf.vim: -------------------------------------------------------------------------------- 1 | nnoremap :FZF 2 | nnoremap ::Rg 3 | 4 | set rtp+=/opt/homebrew/opt/fzf 5 | 6 | command! -bang -nargs=* Rg call fzf#vim#grep("rg --column --line-number --no-heading --color=always --smart-case ".shellescape(), 1, fzf#vim#with_preview({'options': '--delimiter : --nth 4..'}), 0) 7 | 8 | let g:fzf_layout = { 'down': '40%' } 9 | -------------------------------------------------------------------------------- /vim/settings/_search.vim: -------------------------------------------------------------------------------- 1 | " highlight searches 2 | set hlsearch 3 | 4 | " ignore cases of searches 5 | set ignorecase 6 | 7 | " set smartcase: when the search patterns contains an uppercase letter, the 8 | " search is case sensitive 9 | set smartcase 10 | 11 | " highlight dynamically as pattern is typed 12 | set incsearch 13 | 14 | " toggle hlsearch via + 15 | noremap :nohlsearch 16 | -------------------------------------------------------------------------------- /vim/settings/NERDtree.vim: -------------------------------------------------------------------------------- 1 | " Make NERDTree look nice 2 | let NERDTreeMinimalUI = 1 3 | let NERDTreeDirArrows = 1 4 | let g:NERDTreeWinSize = 30 5 | 6 | " don't grow command menu after NerdTree menu has been opened 7 | " see https://github.com/preservim/nerdtree/issues/1321#issuecomment-1234980190 8 | let g:NERDTreeMinimalMenu=1 9 | 10 | " Toggle NERDTree state on leader+n 11 | map n :NERDTreeToggle 12 | 13 | " Show file of current buffer in NERDTree via 14 | map f :NERDTreeFind 15 | -------------------------------------------------------------------------------- /homebrew/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Homebrew 4 | # 5 | # This installs some of the common dependencies needed (or at least desired) 6 | # using Homebrew. 7 | 8 | # Check for Homebrew 9 | if test ! $(which brew) 10 | then 11 | echo " Installing Homebrew for you." 12 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 13 | fi 14 | 15 | # Install homebrew packages from se Brewfile 16 | brew bundle install --verbose --file=./homebrew/Brewfile 17 | 18 | exit 0 19 | -------------------------------------------------------------------------------- /zsh/config.zsh: -------------------------------------------------------------------------------- 1 | export LSCOLORS="exfxcxdxbxegedabagacad" 2 | export CLICOLOR=true 3 | 4 | fpath=($DOTFILES/functions $fpath) 5 | autoload -U $DOTFILES/functions/*(:t) 6 | 7 | # prevent "Fatal error: EMFILE: Too many opened files." error message 8 | ulimit -n 10000 9 | 10 | # prevent "no matches found" when url is pasted 11 | # https://superuser.com/a/1237124/128931 12 | autoload -Uz bracketed-paste-magic 13 | zle -N bracketed-paste bracketed-paste-magic 14 | autoload -Uz url-quote-magic 15 | zle -N self-insert url-quote-magic 16 | 17 | HISTFILE=~/.zsh_history 18 | HISTSIZE=10000 19 | SAVEHIST=10000 20 | -------------------------------------------------------------------------------- /git/gitconfig.symlink.example: -------------------------------------------------------------------------------- 1 | [user] 2 | name = AUTHORNAME 3 | email = AUTHOREMAIL 4 | [color] 5 | ui = true 6 | [alias] 7 | tree = log --graph --oneline --all --decorate 8 | [commit] 9 | template = ~/.git_commit_message_template 10 | [core] 11 | excludesfile = ~/.gitignore_global 12 | editor = vim 13 | untrackedCache = true 14 | [credential] 15 | helper = osxkeychain 16 | [push] 17 | default = tracking 18 | [help] 19 | autocorrect = -1 20 | [rebase] 21 | autosquash = true 22 | autostash = true 23 | [stash] 24 | showPatch = true 25 | [diff] 26 | compactionHeuristic = true 27 | [rerere] 28 | enabled = true 29 | -------------------------------------------------------------------------------- /vim/settings/_autoread_buffer_on_filechange.vim: -------------------------------------------------------------------------------- 1 | " Triger `autoread` when files changes on disk 2 | " https://unix.stackexchange.com/questions/149209/refresh-changed-content-of-file-opened-in-vim/383044#383044 3 | " https://vi.stackexchange.com/questions/13692/prevent-focusgained-autocmd-running-in-command-line-editing-mode 4 | autocmd FocusGained,BufEnter,CursorHold,CursorHoldI * if mode() != 'c' | checktime | endif 5 | 6 | " Notification after file change 7 | " https://vi.stackexchange.com/questions/13091/autocmd-event-for-autoread 8 | autocmd FileChangedShellPost * 9 | \ echohl WarningMsg | echo "File changed on disk. Buffer reloaded." | echohl None 10 | -------------------------------------------------------------------------------- /vim/settings/_indentation.vim: -------------------------------------------------------------------------------- 1 | " copy indentation from previous line 2 | set autoindent 3 | 4 | " automatically insert one extra level of indentation 5 | set smartindent 6 | 7 | " set width of character 8 | set tabstop=2 9 | 10 | " pressing will insert space characters 11 | set expandtab 12 | set softtabstop=2 13 | 14 | " a is interpreted as 2 spaces 15 | set smarttab 16 | set shiftwidth=2 17 | 18 | " press in normal mode to toggle paste option 19 | nnoremap :set invpaste paste? 20 | 21 | " press in insert mode to toggle paste option 22 | set pastetoggle= 23 | 24 | " display whether 'paste' is turned on in insert mode 25 | set showmode 26 | -------------------------------------------------------------------------------- /functions/colortest: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Usage 4 | # colortest 5 | # 6 | # taken from https://github.com/ahmedelgabri/dotfiles/blob/4057a0cb1330d4105590cbf7ed67226d80b49c75/bin/colortest 7 | 8 | DOTS='•••' 9 | printf "\n 40m 41m 42m 43m 44m 45m 46m 47m\n"; 10 | for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \ 11 | '1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \ 12 | ' 36m' '1;36m' ' 37m' '1;37m'; do 13 | FG=${FGs// /} 14 | printf " $FGs \033[$FG $DOTS " 15 | for BG in 40m 41m 42m 43m 44m 45m 46m 47m; do 16 | printf "$EINS \033[$FG\033[$BG $DOTS \033[0m"; 17 | done 18 | printf "\n" 19 | done 20 | printf "\n" 21 | unset -v DOTS 22 | -------------------------------------------------------------------------------- /vim/plug.vim: -------------------------------------------------------------------------------- 1 | if empty(glob('~/.vim/autoload/plug.vim')) 2 | silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs 3 | \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 4 | autocmd VimEnter * PlugInstall --sync | source $MYVIMRC 5 | endif 6 | 7 | call plug#begin('~/.vim/plugged') 8 | 9 | " File Navigation / Project Management 10 | Plug 'preservim/nerdtree' 11 | Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } 12 | Plug 'junegunn/fzf.vim' 13 | 14 | " Text 15 | Plug 'tpope/vim-surround' 16 | 17 | " Git 18 | Plug 'tpope/vim-fugitive' 19 | Plug 'Xuyuanp/nerdtree-git-plugin' 20 | Plug 'junegunn/gv.vim' 21 | 22 | " Appearance 23 | Plug 'jeffkreeftmeijer/vim-numbertoggle' 24 | Plug 'arcticicestudio/nord-vim', { 'branch': 'develop' } 25 | 26 | " IDE 27 | Plug 'leafgarland/typescript-vim' 28 | 29 | " HTML / CSS 30 | Plug 'mattn/emmet-vim' 31 | 32 | " Other 33 | Plug 'sheerun/vim-polyglot' 34 | Plug 'dense-analysis/ale' 35 | Plug 'earthly/earthly.vim', { 'branch': 'main' } 36 | 37 | call plug#end() 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | **dat zijn mijn dotfiles** 2 | 3 | ## Thanks 4 | 5 | This is the repo for my dotfiles and has been highly inspired by 6 | those awesome dotfiles: 7 | 8 | - https://github.com/holman/dotfiles 9 | - https://github.com/s10wen/dotfiles 10 | - https://github.com/skwp/dotfiles 11 | - https://github.com/LevelbossMike/vim-dotfiles 12 | - https://github.com/paulirish/dotfiles 13 | - https://github.com/mathiasbynens/dotfiles 14 | - https://github.com/ryanb/dotfiles 15 | 16 | 17 | ## Install 18 | 19 | git clone https://github.com/pangratz/dotfiles.git ~/.dotfiles 20 | cd ~/.dotfiles 21 | script/bootstrap 22 | # install homebrew first 23 | ./homebrew/install.sh 24 | script/install 25 | 26 | To install used fonts in iTerm2, run `p10k configure` and restart iTerm after 27 | font has been installed. 28 | 29 | To use nord theme in iTerm2: `open iTerm/Nord.itermcolors` and select the 30 | colors in `iTerm2 Settings / Profiles / Colors / Color Presets ... Nord`. 31 | 32 | ## Set sane OSX defaults 33 | 34 | cd ~/.dotfiles 35 | osx/set-defaults.sh 36 | -------------------------------------------------------------------------------- /git/git_commit_message_template.symlink: -------------------------------------------------------------------------------- 1 | 2 | 3 | # If applied, this commit will ________________________________ 4 | # 5 | # - If applied, this commit will refactor subsystem X for readability 6 | # - If applied, this commit will update getting started documentation 7 | # - If applied, this commit will remove deprecated methods 8 | # - If applied, this commit will release version 1.0.0 9 | # - If applied, this commit will merge pull request #123 from user/branch 10 | # 11 | # 12 | # 13 | # Why is this change necessary: 14 | # 15 | # This question tells reviewers of your pull request what to expect in the commit, allowing 16 | # them to more easily identify and point out unrelated changes. 17 | # 18 | # 19 | # 20 | # 21 | # How does it address the issue: 22 | # 23 | # Describe, at a high level, what was done to affect change 24 | # - Introduce a red/black tree to increase search speed or 25 | # - Remove , which was causing 26 | # are good examples. 27 | # 28 | # If your change is obvious, you may be able to omit addressing this question. 29 | # 30 | # 31 | # 32 | # 33 | # What side effects does this change have: 34 | # 35 | # This is the most important question to answer, as it can point out problems where you are making 36 | # too many changes in one commit or branch. One or two bullet points for related changes may be okay, 37 | # but five or six are likely indicators of a commit that is doing too many things. 38 | # 39 | # Your team should have guidelines and rules-of-thumb for how much can be done in a single commit/branch. 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /homebrew/Brewfile: -------------------------------------------------------------------------------- 1 | cask_args appdir: "/Applications" 2 | 3 | tap "homebrew/cask-versions" 4 | tap "homebrew/cask-drivers" 5 | tap "homebrew/cask-fonts" 6 | 7 | # font needed for powerlevel10k shell theme 8 | cask "font-meslo-lg-nerd-font" 9 | 10 | brew "mas" 11 | 12 | # Use most recent version of vim 13 | brew "vim" 14 | 15 | brew "tmux" 16 | brew "reattach-to-user-namespace" 17 | 18 | brew "romkatv/powerlevel10k/powerlevel10k" 19 | 20 | # source control systems 21 | brew "git" 22 | brew "git-extras" 23 | brew "git-lfs" 24 | 25 | # youtube-dl and dependencies for post processing 26 | brew "yt-dlp/taps/yt-dlp" 27 | brew "ffmpeg" 28 | 29 | # utilities 30 | brew "asdf" 31 | brew "bat" 32 | brew "coreutils" 33 | brew "direnv" 34 | brew "fzf" 35 | brew "gpg" 36 | brew "packer" 37 | brew "prettier" 38 | brew "pwgen" 39 | brew "ripgrep" 40 | brew "ssh-copy-id" 41 | brew "urlview" 42 | brew "wget" 43 | brew "wifi-password" 44 | brew "z" 45 | brew "zsh" 46 | 47 | # JavasScript related stuff 48 | brew "volta" 49 | 50 | brew "gifify" 51 | brew "svgo" 52 | 53 | # developing 54 | cask "docker" 55 | cask "iterm2" 56 | 57 | # browsers 58 | cask "firefox" 59 | cask "google-chrome" 60 | cask "google-chrome-canary" 61 | 62 | # utilities 63 | cask "cold-turkey-blocker" 64 | cask "monitorcontrol" 65 | cask "signal" 66 | cask "slack" 67 | cask "transmission" 68 | cask "twist" 69 | 70 | # other 71 | cask "spotify" 72 | cask "vlc" 73 | 74 | # screen saver 75 | cask "aerial" 76 | 77 | # Apps 78 | mas "1Password", id: 1333542190 79 | mas "Fantastical 2", id: 975937182 80 | mas "Gifski", id: 1351639930 81 | mas "Harvest", id: 506189836 82 | mas "Keynote", id: 409183694 83 | mas "Numbers", id: 409203825 84 | mas "Pages", id: 409201541 85 | mas "Telegram", id: 747648890 86 | mas "Todoist", id: 585829637 87 | -------------------------------------------------------------------------------- /osx/set-defaults.sh: -------------------------------------------------------------------------------- 1 | # Sets reasonable OS X defaults. 2 | # 3 | # Or, in other words, set shit how I like in OS X. 4 | # 5 | # The original idea (and a couple settings) were grabbed from: 6 | # https://github.com/mathiasbynens/dotfiles/blob/master/.osx 7 | # 8 | # Run ./set-defaults.sh and you'll be good to go. 9 | 10 | # Disable press-and-hold for keys in favor of key repeat. 11 | defaults write -g ApplePressAndHoldEnabled -bool false 12 | 13 | # Use AirDrop over every interface. srsly this should be a default. 14 | defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 15 | 16 | # Always open everything in Finder's list view. This is important. 17 | defaults write com.apple.Finder FXPreferredViewStyle Nlsv 18 | 19 | # Show the ~/Library folder. 20 | chflags nohidden ~/Library 21 | 22 | # Enable full keyboard access for all controls 23 | # (e.g. enable Tab in modal dialogs) 24 | defaults write NSGlobalDomain AppleKeyboardUIMode -int 3 25 | 26 | # Set a really fast key repeat. 27 | defaults write NSGlobalDomain KeyRepeat -int 0 28 | 29 | # Disable auto-correct 30 | defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false 31 | 32 | # Set the Finder prefs for showing a few different volumes on the Desktop. 33 | defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true 34 | defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true 35 | 36 | # Set application wide keyboard shortcuts, taken from https://apple.stackexchange.com/a/294411/25250 37 | # System Preferences > Keyboard > Keyboard Shortcuts... > App Shortcuts > All Applications 38 | # 39 | # command = @ 40 | # control = ^ 41 | # option = ~ 42 | # shift = $ 43 | # 44 | # Sleep: