|
||
---|---|---|
.github/workflows | ||
dot_config | ||
dot_local | ||
dot_ssh | ||
.chezmoi.yaml.tmpl | ||
.chezmoiexternal.yaml | ||
.chezmoiignore | ||
Dockerfile | ||
dot_urlview.tmpl | ||
dot_Xmodmap | ||
dot_zshenv | ||
README.md |
winston's dotfiles
Welcome to my cross-platform dots. Focused on improving productivity, and reducing the pain of switching between operating systems. Minimal rice, focus on getting the annoying stuff out of the way.
Everything is managed with chezmoi, the best dotfile manager for cross-platform dotfiles. This also means that encrypted files are included, which require my personal PGP key.
NB: I don't recommend that you use chezmoi apply
, unless you're me!
It will attempt to overwrite your config files, including files in ~/.gnupg
and ~/.ssh
, if you're not careful.
That being said, if you still want to use chezmoi, use chezmoi apply -x encrypted
, which will install the dotfiles without requiring my PGP key.
I recommend that you familiarize yourself with chezmoi first, if you choose to go the 2nd route.
Demo Dockerfile
I've built a Docker container based on Arch, so that you can check out most of the setup, without the risk to your personal dotfiles. You give check it out via:
docker pull ghcr.io/nekowinston/dotfiles/dotfiles:latest
docker run -it ghcr.io/nekowinston/dotfiles/dotfiles
Note that TreeSitter and Mason will install on the first launch, which is not ideal. Making this a smoother experience is on my to-do.
Overview
Here's what's included:
Productivity:
- WezTerm as the terminal, with tmux-like keybindings.
- ranger as the file browser.
- neovim as the editor:
- LSP completion with nvim-cmp.
- LSP server installation with Mason.
- Fuzzy file search via Telescope.
- Syntax highlighting with TreeSitter.
- vimwiki for note-taking & personal wikis.
- neomutt as the mail client:
- Dockerized pandoc to write HTML emails.
- mutt-wizard for management, hence:
- taskwarrior for task management:
- bugwarrior for ticket integration.
- taskwiki for management in nvim.
- tmux configuration for remote servers.
- qutebrowser as an alternative browser. I use Firefox + Vimium as my daily driver.
Rice:
- The catppuccin theme, wherever possible.
- macOS:
- Yabai as the window manager.
- SketchyBar as an alternative to the native menubar
- Linux:
- Custom binaries for both menubars.
Notes
Fonts: You'll need Victor Mono, Inter, and Nerd Fonts Symbols, which you can find here. Victor Mono and Inter are also available in these packages:
# macOS - homebrew
brew tap homebrew/cask-fonts
brew install font-victor-mono font-inter
# Arch AUR - use your favourite AUR helper
yay -S inter-font ttf-victor-mono
Performance
My philosophy regarding the neovim setup, can be roughly summed up as:
productivity > startup time
I have no use for an editor that starts up fast, but breaks all the time or lacks a bunch of features. My average startup time is 120ms on an Apple Silicone M1 Max CPU. I'm happy to improve it, but not at the cost of an unreasonably complex setup.
To-do
- Main files
- Alfred workflows
- Firefox dots, such as a
user.js
anduserChrome.css
- Re-work the
rofi
setup
- Docker Container
- Install more dependencies for a smoother user experience.
- Pre-install TreeSitter and LSP servers.