Skip to content

jordanbrauer/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

.dotfiles

Here lay a currated list of the tools I use or have used at one point in time or another. Consider this my virtual toolbelt, full of the well worn & maintained trappings of a hacker. Perhaps they will be as useful to you, dear reader, as they are to me.

Happy hacking!

Setting Up

These instructions are for new machines.

  1. Clone this repository into the home directory.
    git clone [email protected]:jordanbrauer/dotfiles.git ~/.dotfiles
  2. Install all necessary dependencies.
    # probably a few that aren't in this install script lol
    make install
  3. Sync the configurations
    make sync
    

Warning These configurations make use of Nerd Font gylphs. Make sure to use a font that supports dev icons.

Syncing New Configurations

If a new package is being added, simply create the directory & files, then edit the Makefile sync target to include it. Alterantively you can (un)stow the new package individually to test it before altering the Makefile.

If adding a new file to an existing package, no extra work is required.

Once all of the new new files are in place, simply run

make sync

Terminal (kitty)

It's fast, sleak, fully configurable, scriptable.. what's not to love? Plus, cats.

Configuring a beautiful prompt has never been easier...

Minimalistic system information. An alternative to fetch, neofetch, etc.

Properly configure colours for ls output in a consistent manner.

Shell (Nushell)

Bash was awesome for many years, however I am now a Nushell convert.

Editor (Neovim)

A few dependencies for Neovim & plugins.

  • luajit
  • ripgrep
  • code-minimap

Other resources

Package Managers

How I install my tools.

PHP package manager. Not much else to say .. it's great for projects and global executables.

My choice of package manager as a Mac OS user.

Other Tools

A bunch of other random tools I've accrued over time on my belt. Some are fun, and others are essential.

Better cat(1).

top and htop are fine, but a bit too boring for my liking.

I don't like creating repositories with GitHub containing default files. In this case, a LICENSE. It's also annoying to visit choosealicence.com everytime.

nvm is too slow, bloated, and confusing. Only really use this for my day-job, as I don't write much JavaScript otherwise.

Great for scripting and filtering large amounts of data. Great when you need it for one-offs, but is sort of replaced by gum when you want to write a helper script that sticks around.

I used to use this with Neovim, but have since switched to Telescope & ripgrep.

A terminal-based markdown reader. It's absolutely fantastic for reading READMEs and your own markdown documents.

A series of elegant helpers to write beautiful shell scripts with. This is a huge time saver.

A command-line JSON parser, among other things.

An amazing tool, and absolutely good to have, however as a Nushell user, this has lost a lot of value over time.

The 1Password CLI. Great for scripting all kinds of authentication.

An improved PHP REPL.

Also used with Neovim & Codi as an interactive scratchpad. A mix between a REPL & editor.

A markdwn, terminal-based slide deck. Originally I used lookatme, but if I am honest, I don't really like installing or using Python (pip) packages and as such, gladly moved to slides.

Symlink farm manager. This tool is how I sync all the configurations from this repository into my system. Without this, setting up a new machine would always be some kind of pain in the ass. Now, I simply clone this repsitory and run the appropriate stow command (kept in the Makefile).

A more succicnt man.

A scriptable, terminal-based todo list.

A scriptable, terminal-based typing test.

jq but for CSVs. Pretty great, but Nushell kind of replaces the need for it.