Add Arch Wayland dotfiles: sway/waybar/kitty/nvim/zsh, idempotent installer
Auto-adapts sway workspace routing to however many monitors are connected (laptop vs. desktop) instead of hardcoding output names.
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# Monochrome Arch Wayland dotfiles
|
||||
|
||||
Modular dotfiles for a Sway desktop on Arch Linux. The installer can install the
|
||||
required packages and creates symlinks back to this repository.
|
||||
|
||||
## Install
|
||||
|
||||
```sh
|
||||
git clone git@git.noroutes.net:owen/dotfiles.git ~/code/dotfiles
|
||||
cd ~/code/dotfiles
|
||||
./install.sh
|
||||
```
|
||||
|
||||
Useful options:
|
||||
|
||||
```sh
|
||||
./install.sh --no-packages # only create links
|
||||
./install.sh --dry-run # show what would happen
|
||||
./install.sh --help
|
||||
```
|
||||
|
||||
Existing files are never deleted: conflicting paths are moved to
|
||||
`~/.dotfiles-backup/<timestamp>/`. Log out and choose Sway after installation.
|
||||
Use `Alt+Shift+r` to reload Sway and `Alt+d` to open Wofi.
|
||||
|
||||
## Layout
|
||||
|
||||
- `config/sway/conf.d/` contains focused Sway fragments.
|
||||
- `home/.zsh.d/*.zsh` is automatically sourced by `home/.zshrc`.
|
||||
- Neovim settings and mappings live in separate Lua modules.
|
||||
- The shared monochrome palette with blue accents is repeated in the native format each application
|
||||
expects, so no template generator is required at runtime.
|
||||
|
||||
## Single vs. dual monitor
|
||||
|
||||
The same configuration works unmodified on the single-monitor laptop and the
|
||||
dual-monitor desktop:
|
||||
|
||||
- Sway ignores `output`/`workspace ... output` directives that reference a
|
||||
display name which isn't currently connected, so the desktop-specific
|
||||
`DP-3`/`DP-2` positioning in `config/sway/conf.d/10-appearance.conf` is a
|
||||
harmless no-op on the laptop.
|
||||
- `config/sway/scripts/select-workspace.sh` (bound to the workspace keys)
|
||||
doesn't hardcode output names. It ranks whatever outputs are connected
|
||||
left-to-right and maps workspaces 1-10 to the first, 11-20 to the second,
|
||||
and so on — so it adapts automatically to however many monitors are
|
||||
plugged in.
|
||||
|
||||
## Secrets
|
||||
|
||||
Nothing in this repository is or should be a secret. Machine-local
|
||||
credentials (e.g. the 1Password service-account token read by
|
||||
`home/.zshrc`) live outside the repo, in files under `$HOME` that
|
||||
`.gitignore` also excludes defensively should they ever end up in the
|
||||
checkout.
|
||||
Reference in New Issue
Block a user