These are the configuration files and an install script that I like to use on every Linux computer I have access to. It features:
- The
zshshell, with a light config, a fast prompt, and some convenient aliases. - Autostarting
tmuxterminal multiplexer. Common keys are:ctrl-a c(create window),ctrl-a n(next window),ctrl-a p(previous window),ctrl-a |(vertical split),ctrl-a -(horizontal split),ctrl-a <arrow>(move to split). helix, a modern modal editor (https://helix-editor.com/)br, a nice tool to navigate directories (https://github.com/Canop/broot)rg <term>for doing a ripgrep text search in the current directory and all subdirectories.- Various other configurations and scripts you'll probably never need. :-)
On a Debian/Ubuntu/Manjaro/Arch box, run:
git clone https://github.com/vanviegen/dotfiles.git ~/.dotfiles && ~/.dotfiles/installThis will download the repository to ~/.dotfiles, and create symlinks from your home dir pointing at files in the ~/.dotfiles dir. It will also ask your OS package manager to install a couple of packages, if they aren't installed yet.
In ~/.dotfiles do a git pull followed by an ./install. The latter will cause new symlinks to be created and stale symlinks to be removed from your home dir. Additionally, it will install any newly required OS packages.
If you want to use these dotfiles as a base for your own CLI configurations, create a fork, and clone from your fork instead. If you're not me, the first thing you'll want to do is set your name and email address in git/gitconfig.symlink.
Everything's built around topic areas. If you're adding a new area to your forked dotfiles — say, "Java" — you can simply add a java directory and put files in there. Anything with an extension of .symlink will get symlinked into $HOME (but with a . prefixed and without the .symlink suffix) when you run ~/.dotfiles/install. Double underscores (__) are replaced by a slash (/), allowing you to place symlinks inside directories. For example config__helix.symlink would be symlinked to ~/.config/helix.
The bin/ directory can be used to place random scripts, as it is added to your path.