┌┬┐┌─┐┌─┐┌─┐┬ ┬┌┬┐┬ ┬┬┌─┐
│││├┤ │ ┬├─┤│ │ │ ├─┤││ :: bits & bobs, dots & things.
┴ ┴└─┘└─┘┴ ┴┴─┘┴ ┴ ┴ ┴┴└─┘
@megalithic
🚀
Installation
If you want to kick the tires, you can simply:
curl -fsSL https://raw.githubusercontent.com/megalithic/dotfiles/main/bin/_dotup | zsh
The install script will install things and symlink the appropriate files in ~/.dotfiles
to your home directory (~
). Everything is configured and tweaked within ~/.dotfiles
, though. The majority of files and folders get stow
ed in to your $HOME
, or to $XDG_CONFIG_HOME
.
I have tried to be platform agnostic, but the majority of scripts that run here are for macOS (specifically Big Sur at the time of this edit), with a handful of debian/ubuntu linux specific platform scripts and provisions. This means that certain tools/binaries I rely on may or may not install/configure on linux. Though, I have tested it decently well on an Ubuntu-based Linode instance.
⚠️
Thar be dragons..
I highly recommend you dig into the scripts and configs to see what all is going on (because it does a lot that I'm not describing here) before you install a stranger's shell scripts all willy-nilly, throwing caution to the wind.
✨
Things
A few of the must-have tools I roll with:
- homebrew
- see
~/.dotfiles/Brewfile
for all that gets installed
- see
- hammerspoon
- karabiner-elements
- see
~/.dotfiles/keyboard
for macOS specific config things - see my Atreus62 config for my custom keyboard setup
- see
- tmux
- additional tmux statusbar binaries available (see
tmux-*
files in~/.dotfiles/bin
). - see also my DND tmux plugin
- additional tmux statusbar binaries available (see
- jetbrains mono
- patched via nerd-fonts
- kitty
- everforest &
megaforest
- neovim
- using lua with neovim? https://github.com/nanotee/nvim-lua-guide
- zsh
- weechat
💻
Stuff
The file hierarchy:
- bin/: Anything in
bin/
will get added to your$PATH
and be made available everywhere. - Everything else is handled by custom installers based upon the current platform; otherwise,
stow
handles the rest (clean and easy symlinking).
🔐
Privates
Use ~/.localrc
as your location for sensitive information. Optionally, you can let bin/_dotup
handle the cloning of your private repo to ~/.dotfiles/private
, which will execute an install script, assuming it's located at ~/.dotfiles/private/install.sh
.
NOTE: You'll want to be sure to setup an SSH key for github access to this repo and likely to your private repo too: https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
Also helpful: https://docs.github.com/en/free-pro-team@latest/github/using-git/caching-your-github-credentials-in-git
🙏
Props
-
So many esteemed individuals in the community have, in some way, left their mark on my own dotfilery (they're all legends in my book):
- Zach Holman
- Wynn Netherland
- Evan Travers
- Dorian Karter
- Phil Ridlen
- .. and many, many others.
🧐
Refs:
- A wealth of handy scripts/bins for future use: https://github.com/salman-abedin/alfred
- Neovim lua migration resource: https://github.com/nanotee/nvim-lua-guide
- Great (n)vim knowledge base: https://github.com/feniljain/knowledge-base/blob/main/vim/README.md
- My reference for things to research/add/remove/etc.: https://github.com/megalithic/dotfiles/issues/23