Skip to content
null-jjPublic

About

me dotfiles

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

dotfiles

Personal config for an Arch + niri (Wayland) setup with DankMaterialShell.

Layout

Each top-level directory is a package. Files inside a package live at the path they should occupy under $HOME. Example:

dotfiles/
├── bootstrap.sh
├── shell/                          → ~/.bashrc, ~/.zshrc, ...
│   ├── .bashrc
│   ├── .bash_profile
│   ├── .zshrc
│   └── .profile
├── niri/.config/niri/              → ~/.config/niri/
├── nvim/.config/nvim/              → ~/.config/nvim/
├── herdr/.config/herdr/            → ~/.config/herdr/
├── ghostty/.config/ghostty/        → ~/.config/ghostty/
└── ...

This layout is compatible with GNU Stow (stow niri) but does not require it — bootstrap.sh handles symlinking with plain bash.

Each package includes its own README.md with managed paths and behavior. Package READMEs are repository documentation and are excluded from deployment.

Packages

Package What it covers
shell .bashrc, .bash_profile, .zshrc, .profile
niri niri compositor + DMS overrides
ghostty terminal
nvim LazyVim-based config
lazygit lazygit
lazydocker lazydocker
btop btop
herdr Herdr terminal workspace manager
git git config + global ignore
starship starship prompt
swayidle swayidle (idle/lock for niri)
dms DankMaterialShell (bar/launcher/notif/wallpaper)
dgop dgop
xdg default applications + preferred terminal

Usage

# Clone
git clone <remote> ~/dotfiles
cd ~/dotfiles

# Preview what would happen
./bootstrap.sh -n

# Link everything (skips files that already exist and aren't symlinks)
./bootstrap.sh

# Force: back up existing real files (.bak.<unix-ts>) and replace with symlinks
./bootstrap.sh -f

# Only some packages
./bootstrap.sh niri ghostty nvim

# Remove symlinks pointing into this repo (does not touch real files)
./bootstrap.sh -u

Notes

  • nvim/.config/nvim/lazy-lock.json is tracked so plugin versions are pinned across machines. Drop that line from .gitignore if you want it ignored.
  • git/.config/git/config contains user.name / user.email; edit before syncing to a different identity.
  • dms/.config/DankMaterialShell/settings.json references an absolute path for customThemeFile. Update it on a new machine if needed.
  • DMS Wi-Fi pins are intentionally omitted from the tracked settings. The bootstrap script seeds this file once but keeps the live copy machine-local, so runtime changes and network names are not written back into the repo.
  • Zsh is the primary interactive shell. Both shell configs can start Herdr in an interactive terminal; set HERDR_AUTO_START=false to opt out for a session. Herdr's own configuration is maintained in the herdr package.

About

me dotfiles

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages