Skip to content

Latest commit

 

History

History
42 lines (26 loc) · 2.25 KB

PRINCIPALS.adoc

File metadata and controls

42 lines (26 loc) · 2.25 KB

Guiding Principals For My Setup

I get coworkers asking me on occasion how my setup works or what this or that thing is. I’ll start by laying out why I have this setup.

CLI First

I do most things from the command line, therefore my shell environment has a lot of customization of functions, aliases, prompt, etc.

Component Summary

I have used zsh for quite a while and am pretty settled into it. I’ve used grml zsh setup in the past, but now use a mix of zimfw, oh-my-zsh, and custom stuff.

I work with GitHub a lot, so I use gh. Obviously I also use git a lot, too, so I use the git CLI tool, not any of the GUIs.

I use powerlevel10k for my prompt. This is a very customizable prompt for zsh that can show a lot of information about the current state of the shell. The downside is that the maintainer has pretty much retired, but the project is pretty mature so the impact seems negligible.

I use zoxide for a "smarter" cd command, lsd as a better ls command, direnv to control some environment variables per path, fzf, and other various little tools and libraries.

I use Neovim for my editor with various plugins.

I run everything in kitty terminal.

zsh

I have a ~/.zshenv file (this is sourced first by zsh) that sets some pathing and environment variables. It also will source a ~/.zshrnv.local for localized settings that I don’t want in git :). I use the zimfw framework to manage my plugins, even oh-my-zsh plugins. The top of my ~/.zshrc initializes zimfw, installs it if it is not there already, and processes the ~/.zimrc file that I have templated. The rest of the ~/.zshrc is setting options, aliases, functions, the usual.

zoxide

p10k

gh

neovim

kitty