Personal dotfiles and system configurations for Wayland/Sway desktop environment, Doom Emacs, Zsh, and development tools.
git clone git@github.com:cashpw/dotfiles.git ~/proj/dotfiles
cd ~/proj/dotfiles
./installThe ./install bootstrapper executes a 3-phase onboarding pipeline:
- **Dependency Resolution**: Queries system programs and fonts against
packages.json. Automatically detects your OS (Fedora,Debian/gLinux, etc.) and generates single, ready-to-run joint package manager commands (chaining custom repos like Fedora COPR when necessary). - **Configuration Symlinking**: Executes Dotbot to cleanly symlink configuration files (
.zshrc,~/.config/sway/,~/.config/zsh/, etc.). - **Post-Installation Setup**: Automatically configures profile-specific settings (Work vs Personal), builds Zotra Server for Emacs Org-Roam, and sets up Voxtype models.
System dependencies, fonts, binary aliases, and per-program preferred installation channels are defined in packages.json.
- Check missing system dependencies without installing:
./install --check-only - Interactively execute missing package installations:
./install --install - View detailed documentation and notes for any program or font:
./install info i3status-rs ./install info autotiling-rs ./install info swaync
Set Zsh as your default login shell:
chsh -s $(which zsh)Ensure environment variables are set in ~/.profile or ~/.zshrc:
export XDG_CURRENT_DESKTOP=sway
export XDG_SESSION_TYPE=wayland
export MOZ_ENABLE_WAYLAND=1
export QT_QPA_PLATFORM=waylandEnable user-level systemd target and notification services:
systemctl --user daemon-reload
systemctl --user enable --now sway-session.target
systemctl --user enable --now notify-listener.service
systemctl --user enable --now notify-tunnel.serviceLieer (gmi) is used to synchronize Gmail repositories locally into Notmuch-indexed maildirs.
mkdir -p ~/mail/cashbweaver.gmail
mkdir -p ~/mail/cash.cashpwcd ~/mail/cashbweaver.gmail
gmi init
gmi auth
gmi synccd ~/mail/cash.cashpw
gmi init
gmi auth
gmi syncRun initial Notmuch database setup pointing to your ~/{mail_dir}:
notmuch setup
notmuch newExecute the provided helper scripts or configure them via cron/systemd timers for periodic background mail syncing:
bash scripts/mail/sync_cashbweaver_gmail_email.sh
bash scripts/mail/sync_cash_cashpw_email.sh
# or generic wrapper:
bash scripts/mail/sync_local_email.sh cashbweaver.gmail