Skip to content

Latest commit

 

History

277 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

Personal dotfiles managed with a custom deploy script.

What's included

Directory Description
hypr/ Hyprland Lua config + scripts
quickshell/ Quickshell bar, popups, daemons
wlogout/ Power menu layout and styling
nvim/ Neovim (LazyVim-based)
kitty/ Kitty terminal emulator
tmux/ Tmux configuration
zsh/ Zsh shell config
git/ Git config: shared base + per-host overrides
atuin/ Atuin shell history (local-only)
matugen/ Material color generator
ranger/ Ranger file manager
primo/ Rust source for quickshell helpers

Usage

# Deploy all configs
./install.sh

# Deploy specific configs (run from repo root)
./deploy.sh  # Symlinks .config/* to ~/.config/

WSL

The dotfiles include first-class WSL support (tested on Arch WSL2).

./install.sh --wsl

The --wsl flag:

  • Skips all Hyprland/compositor, audio, Bluetooth, and hardware packages.
  • Adds wslu for Windows interop (wslview, wslpath).
  • Passes --wsl to deploy.sh, which skips Wayland-only configs (hypr/, quickshell/, wlogout/, uwsm/, ...).
  • Writes /etc/wsl.conf with systemd=true and metadata automount (fixes executable bits on /mnt/c), and offers to create a Windows-side .wslconfig (mirrored networking + DNS tunneling).

Shell behaviour under WSL:

  • Windows /mnt/* entries are stripped from PATH so Windows executables never shadow Linux tools (interop still works via explicit .exe paths).
  • pbcopy/pbpaste/tmux yank/nvim clipboard route through clip.exe.
  • Interop aliases: explorer, start, winpath, cdwin, open.

After changing /etc/wsl.conf or .wslconfig, restart WSL from PowerShell:

wsl --shutdown

systemd is required for systemctl, docker-toggle, and the SSH agent.

Git

.config/git/config holds shared settings (aliases, delta pager, workflow defaults). Machine-specific settings live in host.gitconfig, generated by install.sh from hosts/wsl.gitconfig or hosts/arch.gitconfig:

  • WSL: HTTPS credentials via Windows Git Credential Manager (~/.local/bin/git-credential-gcm bridge).
  • Native Arch: credentials via libsecret/gnome-keyring.
  • Either host: GPG commit signing — install.sh generates a key on first run and appends user.signingkey + commit.gpgsign.

.config/git/ignore is the global excludesfile. Handy aliases: git st/co/sw/br/cm/cane/undo/lg.

Atuin

Shell history is managed by atuin in local-only mode (auto_sync = false) — fuzzy searchable via Up (scoped to the current directory) and Ctrl-R (global). The zsh integration is cached in $XDG_CACHE_HOME/zsh/atuin.zsh; delete it after upgrading atuin to refresh. Built-in zsh history remains as the import source for atuin import auto (run once by install.sh).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages