Skip to content

Latest commit

 

History

History
87 lines (64 loc) · 2.99 KB

README.md

File metadata and controls

87 lines (64 loc) · 2.99 KB

Dotfiles

This is more a note for future me, but feel free to use anything you like.

Requirements

Following is a list of a few things I always install before linking any of the dotfiles. Everything mentioned here is installable via homebrew, once that's set up.

  • homebrew for mac and linux
  • fish shell
  • asdf for versions of various runtimes (languages like ruby, node, sbcl etc.)
  • tmux mainly for tabbing multiple shell sessions, but detach/attach does come in handy sometimes
  • emacs and neovim are the two editors I use the most.
    • I use emacs-plus flavor because I find it works best for my on a mac.
  • homebrew fonts is a repository for all the nerd fonts
    • I use Jetbrains Mono Nerd Font in my terminal, editor etc. The homebrew package is called font-jetbrains-mono-nerd-font
  • iTerm2 is my primary terminal emulator

Installation

Clone the repo and symlink the files and directories to respective locations in home. For example:

git clone [email protected]:akagr/dotfiles.git ~/dotfiles

ln -s ~/dotfiles/dot-gitconfig ~/.gitconfig
ln -s ~/dotfiles/dot-tmux-dot-conf ~/.tmux.conf
ln -s ~/dotfiles/dot-emacs-dot-d ~/.emacs.d
ln -s ~/dotfiles/nvim ~/.config/nvim
mkdir -p ~/.config/fish
ln -s ~/dotfiles/config.fish ~/.config/fish/config.fish

Emacs setup

After linking the dotfiles and starting emacs, all the package installation happens automatically. Once it settles, we need to run two lisp expressions. Note{.verbatim}: These can also be run interactively using M-x.

(all-the-icons-install-fonts)
(nerd-icons-install-fonts)

Neovim setup

We need a few binaries that some functionality I use depends on but isn't automatically installed.

brew install fd fzf ripgrep gnu-sed
fzf install

Git setup

Linking .gitconfig brings most of my customisations, but we need to install gnupg and pinentry-mac to sign commits. Once both of these are install, inform git of pinentry-mac with:

echo "pinentry-program $(which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf
gpgconf --kill gpg-agent

Additionally, import an existing GPG key with:

gpg --import private.key

Or, to generate a new key and add it to Github, follow github documentation for generating keys.

Why name the files dot-tmux-dot-conf instead of .tmux.conf

Any file starting with a period (.) is hidden on most *nix systems. All the subject files which I use this repo to backup and share are named so, so that they are always visible. While linking, I use correct names for the symlinks.