Skip to content

ianhomer/dotfiles

Repository files navigation

My .dotfiles

Configure my computers to be more keyboard focused and reduce distraction. Make coding and text editing a breeze.

tl;dr

First time, clone repository:

git clone https://github.com/ianhomer/dotfiles.git ~/.dotfiles

And install with

~/.dotfiles/start

Update at any time with:

dotme

This gets local machine up to date, including pulling latest version of this repository, sets OSX defaults, updates brew including packages. Run this at any time to update to latest. It updates what's changed or out of date, so it's quick and painless.

I remind myself of commands and shortcuts I use with:

cheat

Why

The configuration process in this repository provides me with my preferred way of working to streamline distraction free coding. This includes:

brew : package manager

fish and zsh : friendly interactive shells

git : source control

kitty : slick terminals

neovim : file editing with plugins - null-ls ; dispatch ; fugitive ; fzf.vim ; lsp ; markdown-preview ; nvim tree ; repeat ; startify ; surround ; tabular ; which-key ; surround

nnn and broot : file explorers

FiraCode Nerd Font : ligatures, powerline and more

termux : Android support

MacOS with

alfred : better hotkeys

hiddenbar : focused status bar

rectangle : window manager

Other tools woven into these dotfiles include ag, fzf, pandoc, cspell, fugitive, java, node and python.

How

dotfiles are all located in sub-folders in the dotfiles/ folder for the associated tools. Installation stows these in your home directory, i.e. original backed up and dotfiles linked into place. Further installation and configuration takes place with scripts in the bin directory. Look at bin/dotme to see what actually happens.

You can also update parts of the initialisation separately, see dotme -h to get a list of each part. man dotme will give you more guidance on usage.

I configure somethings on my system manually for minor tweaks and enhancements.

To customise local dotme configuration, vi ~/.config/dotme/.env and edit a properties to look like:

MY_NOTES=my-notes

Thanks

A large number of dotfiles projects out there that have given me inspiration to mention them all, although Awesome dotfiles make a good attempt to. Particular thanks to: