My personal dotfiles for a Sway WM setup on EndeavourOS.
- Sway — window manager config with keybinds, rules, autostart
- Waybar — pill-style bar with workspaces, clock, volume, brightness, network, power
- Fuzzel — app launcher
- Matugen — material you colour generation from wallpaper or colour picker
- Waypaper — wallpaper manager (swaybg backend)
- Mako — notifications
- Wob — volume/brightness overlay bar
- Fish — shell config
- Zsh — shell config
- Fastfetch — system info
- Nvim — LazyVim with matugen colour integration
- Scripts — colour picker, wallpaper changer
- Btop — resource monitor with matugeb colour integration
Install everything with yay:
yay -S sway swaybg swaylock sway-scroll \
waybar fuzzel mako wob \
waypaper matugen \
alacritty fish zsh \
fastfetch neovim btop\
grim slurp imagemagick \
brightnessctl wireplumber \
nm-connection-editor \
wlogout fuzzel \
ttf-jetbrains-mono-nerdWarning: Back up your existing configs before doing this.
1. Clone the repo:
git clone https://github.com/yourusername/sway-scroll.git
cd sway-scroll2. Copy configs:
# create dirs
mkdir -p ~/.config/{sway,waybar/scroll,fuzzel,matugen,mako,wob,waypaper,fastfetch,nvim}
mkdir -p ~/.local/bin
# sway
cp sway/config ~/.config/sway/config
# waybar
cp waybar/scroll/config.jsonc ~/.config/waybar/scroll/
cp waybar/scroll/style.css ~/.config/waybar/scroll/
# fuzzel
cp fuzzel/fuzzel.ini ~/.config/fuzzel/
cp fuzzel/colors.ini ~/.config/fuzzel/
# matugen
cp matugen/config.toml ~/.config/matugen/
cp matugen/*.template ~/.config/matugen/
# nvim
cp -r nvim/* ~/.config/nvim/
# mako
cp mako/config ~/.config/mako/
# waypaper
cp waypaper/config.ini ~/.config/waypaper/
# fastfetch
cp fastfetch/* ~/.config/fastfetch/
# zsh
cp zsh/.zshrc ~/
cp zsh/.zprofile ~/ 2>/dev/null
# fish
cp fish/* ~/.config/fish/
# scripts
cp scripts/change-wallpaper.sh ~/.local/bin/
cp scripts/color-pick.sh ~/.local/bin/
chmod +x ~/.local/bin/change-wallpaper.sh
chmod +x ~/.local/bin/color-pick.sh3. Generate initial colors:
matugen image ~/Pictures/Wallpapers/your-wallpaper.jpg4. Start Sway:
swayColors are generated automatically from your wallpaper using matugen.
To change your wallpaper and update all colors:
waypaperTo manually pick a color from your screen and apply it as the theme base:
# or use the keybind: $mod+Shift+P
~/.local/bin/color-pick.shThis updates colors for: Waybar, Fuzzel, Alacritty, Neovim, and Sway borders.
| Key | Action |
|---|---|
$mod+Shift+P |
Color picker — click anywhere to set theme color |
$mod+Shift+C |
Reload Sway config |
$mod+Return |
Open terminal (Alacritty) |
$mod+D |
App launcher (Fuzzel) |
$mod+Shift+E |
Power menu (wlogout) |
Fill in the rest of your keybinds here!
- Waybar and Fuzzel colors update automatically when you change wallpaper
- Neovim uses base16-nvim with matugen-generated palette
- Alacritty theme is also generated by matugen
- The
change-wallpaper.shscript is called by waypaper'spost_command
