This is more a note for future me, but feel free to use anything you like.
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
- Current config depends on tmux plugin manager
- 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
- I use Jetbrains Mono Nerd Font in my terminal, editor etc. The homebrew package is called
- iTerm2 is my primary terminal emulator
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
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)
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
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.
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.