Skip to content

halafi/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

252 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

Personal macOS dotfiles for a simple web-development setup: Fish, tmux, Git, Bat, Karabiner/Goku, VSCode, iTerm2, and a small set of CLI tools.

Dotfiles are linked with Dotbot. Packages and apps are declared in Brewfile.

Setup

  1. Install Apple's command line tools:

    xcode-select --install
  2. Install Homebrew.

  3. Install packages, apps, and fonts from the Brewfile:

    brew bundle
  4. Link dotfiles:

    ./install
  5. Change the default shell to Fish if needed:

    echo /opt/homebrew/bin/fish | sudo tee -a /etc/shells
    chsh -s /opt/homebrew/bin/fish

Manual Steps

Git and SSH

Generate an SSH key and add it to GitHub:

https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

Git commit signing is enabled in home/gitconfig. On a new machine, install or import the GPG key before relying on signed commits.

Fish

Fish universal variables are intentionally not tracked. Keep portable shell settings in config/fish/config.fish or config/fish/conf.d/*.fish.

Oh My Fish is optional. If installed, config/fish/conf.d/omf.fish loads it.

tmux

Install tmux plugins after the dotfiles are linked:

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

Then open tmux and press prefix + I to install plugins.

Keyboard

Karabiner Elements and Goku are installed by the Brewfile.

  1. Open Karabiner Elements once and allow the required macOS permissions.

  2. Make sure the active Karabiner profile is named Default.

  3. Run:

    goku

Language Runtimes

The repo keeps a global .tool-versions file for asdf. Install only the language plugins you currently need, for example:

asdf plugin add nodejs
asdf install

Rust, Go, Python, and Elixir setup can stay project-specific unless needed globally.

Notes

  • vscode/ and iterm2/ are configuration backups, not currently linked by Dotbot.
  • config/fish/fish_variables and Fish migration files are ignored because they are local/generated state.
  • Run brew bundle check --verbose to see which Brewfile entries are missing or outdated on the current Mac.

About

My dotfiles for VSCode (Vim), tmux, fish shell, karabiner and everything configurable. Optimized for development on macOS.

Topics

Resources

Stars

Watchers

Forks

Contributors