These are the configuration for various machines I own. I make every attempt to do things in a cross platform manner when possible.
My primary machines run Manjaro Linux, and Ubuntu Linux. Typically, my Work computers are Macs. There are some bits to make the original Windows Subsystem for Linux work because I used Windows briefly at Work.
I install my dotfiles to a new machine by using this script. It clones this repo, and symlinks my dotfiles to my home directory using cfgcaddy a tool I wrote.
You can use alternatives such as GNU Stow or yadm which have more users and likely less bugs 😉.
The key idea is that you should keep your dotfiles in a git repo in somewhere like $HOME/dotfiles
and then symlink them to your $HOME
directory for them to be read by other tools.
Once you have that system setup, you can copy pieces of my configuration piecemeal. I don't recommend copying everything directly. This repo has grown pretty organically over the years so it contains a lot of configuration you may not
I a pretty comprehensive ZSH configuration
I use zplug as my package manager, you can find the packages in .zplug_packages.zsh. It is responsible for installing zsh packages as well as a few binaries.
The directory .shell contains several scripts that are sourced in the .zshrc
, their names should be fairly self explanatory.
I'm a heavy Vim user, so I have configuration for Intellij's vim plugin as well as actual Vim split across a few different files
I am a polyglot when it comes to programming languages so I use asdf to manage installing different languages and versions across my machines in a consistant way.
.tool-versions sets the global language version used across the system.
I have some configuration for installing each of the language specific plugins in the file .shell/languages.sh.