~idmyn/dotfiles

dotfiles/README.md -rw-r--r-- 4.3 KiB
243afa80 — David Mynors Set git pull to only fast-forward by default a day ago

#my dots

These dotfiles are bootstrapped with dotbot and can be installed by cloning this repo and running ./install inside it. Much inspiration taken from here.

Note: I've initialised git-crypt in this repo to encrypt all files with the word secret anywhere in their name.

#Backups

Backups are important. You can find my backup script in this repo, and you can read more of my thoughts about backups in my public notes.

#Nix

Nix is a purely functional package manager which I don't yet totally understand. You're welcome to read my notes on it for more info/resources/tips, but for the purposes of this Readme you just need to know that I have a nix config for macOS which instructs nix-darwin to setup/install the nix-related programs like lorri which I want available system-wide.

#Emacs

My current emacs setup consists of a base emacs install of homebrew's emacs-plus and my doom-based literate config. Doom is great because it provides a large collection of really thoughtfully pieced-together 'modules' for different tasks/tools, allowing you to get up and running really quickly. The draw of Emacs for me in general is that all of the tools I need for editing text are tightly integrated but remain highly configurable. I'm not immune to the allure of the 'unix philosophy' though, so I do keep an eye on interesting simpler editors, like Kakoune.

#Kitty

Kitty is my current terminal emulator of choice, because it supports tabs and has file-based config. Someday I might learn tmux and switch to Alacritty...

#Karabiner/Goku

Karabiner is amazing, and Goku is makes it much simpler to configure. My config isn't the tidiest, but it works! Basically, I remap caps-lock to control when held and escape when pressed, and I remap my right command key to f13 when pressed (to launch Alfred) and ctrl+opt when held (mostly to foreground/launch applications with Phoenix). I also remap comma to a "dead key" inspired by the implementation in the workman layout.

#Phoenix

Phoenix is great! It's a window-manager for macOS which you can configure with JavaScript. In other words, it allows you to bind keyboard shortcuts to functions which move windows around your screen(s). I used chunkwm for a long while, but ended up moving away from it because I found myself fighting against its automatic window placement. I also use Phoenix to foreground/launch apps with keyboard shortcuts.

#Elvish

I'm currently using Elvish as my daily-driver shell. Before I discovered Elvish I used fish, which drew me in as a fast shell with built-in features that would require plugins in zsh or bash, slowing down their startup time.

Elvish replaced fish principally because its scripting language seems much easier to learn, but I also quite like its directory history feature (like fzf, but built-in) and package manager.

#Honourable Mentions

Duti is a (currently unmaintained) tool for "setting default applications for various document types on macOS, using Apple's Uniform Type Identifiers (UTI)". I can imagine this being handy, but I don't currently have a use for it.