This is a collection of my dotfiles for my setups. This is managed with Chezmoi and git and is built for MacOS but can also (hopefully) be used on Linux.
There are a couple of "patterns" or "groups" my setup usually follows:
- CLI should be fast as f*ck. When I open a terminal, I want to be able to get to work. No waiting. No loading. Just. Work. ™️.
-
Mise as a package / version manager. It has support for a ton of languages, and has support for
.tool-versions
files which is what our whole org uses. Highly recommended to use this instead of individual managers (like nvm) or installing languages globally. -
Nushell for my shell. This is a pretty recent change, but I like it. It has some pretty built in features like color for
ls
. One thing I'll say is it's taking a while to forget previous habits like always writingls -hal
. -
Starship as my prompt. Again, it's fast and most important, it has sane defaults that I didn't have to spend a ton of time configuring. I have however made some changes to get things to work the way I like.
-
Zoxide as a replacemenf for
cd
. Because it's nice to just docd dotfiles
instead of the fullcd Projects/github.com/btkostner/dotfiles
.
- GUIs should be beautilful and functional, but not take up all of my resources. So I try to use native (not electron) apps as much as I can. This includes:
-
1Password as a password manager. I know it's not native, but it's the best password manager I've used. Syncs to everything. Multiple vaults to keep things organized. And it's got a CLI for when I'm in the terminal or scripting.
-
Alacritty for a terminal emulator. It's extremely fast, has a good amount of options, and it's easy to configure.
-
Arc as my browser. It's easy to have multiple profiles for work and personal stuff. Having perminant tabs that don't take a ton of ram is awesome. And using the sidebar for tabs is chefs kiss.
-
Sketch for design work because it's native mac, has awesome export options, popular enough to have plugins and templates, and over all is just a great tool. Worth mentioning that I also use Inkscape because it's open source and dope.
-
Slack for communicating with coworkers. Not my first choice, but not my decision.
-
TablePlus for database management. It supports a ton of databases, it's a native mac app, and has some very nice right click menu options for data.
-
Transmit 5 for file transfer. It's an older app, but Panic makes great Mac apps and it connects to anything I need.
-
UTM for virtual machines. Honestly, I don't use virtual machines that much, but when I do, UTM is the best option I've found.
-
Zed for code editing. It's a native code editor that's super fast. It doesn't support all of the languages I use yet, but it does most of what I need. For everything that Zed doesn't handle (or is too annoying for), I use VSCode.
- I have some small utility apps that I use a ton. These include:
-
Tailscale for my personal network VPN. It's installed on most of my servers, my nas, phone, etc. It's super simple and just works everywhere.
-
Soulver 3 for quick calculations. If you've never used an app like this, I'd highly recommend having it in your toolbox. It's a much nicer calculator, with unit conversions, and variable support. It's like psudo code for math.
-
Swish for window managment. I love tiling window managers, but also with a mix of floating windows. Swish is the best of both worlds and allows me to use this beautiful large macbook touchpad to it's full potential. Plus it supports gaps!