Welcome to my experimental Arch Linux dotfiles repository! Please note that these configurations are a work in progress and not recommended for production setups. Use them at your own discretion.
This repository contains dotfiles for a unique Arch Linux setup that includes the following components:
- Operating System: Arch Linux
- Window Manager: bspwm
- Compositor: picom
- Terminal: st (Luke's fork)
- Shell: ZSH
- Bar: polybar
- File Manager: ranger with ueberzug
- Notifications: dunst
- Music Player: Mpd with Ncmpcpp
- Visualizer: cava
- Hotkey Daemon: skhd
- Prompt: powerline10k
- Font: iosevka
- Fun Element: pipes.sh
git clone --depth 1 https://github.com/StealthIQ/dotfiles.git
cd dotfiles
./install.shAdditionally, check out the required packages listed in misc/packages.txt.
Before proceeding, ensure you have a functioning Arch Linux installation and an active internet connection.
- Install and Update Essential Packages:
sudo pacman -Syu --noconfirm --needed base-devel sof-firmware neovim- Fix Locale Settings:
echo "LC_ALL=en_US.UTF-8" | sudo tee -a /etc/environment
echo "en_US.UTF-8 UTF-8" | sudo tee -a /etc/locale.gen
echo "LANG=en_US.UTF-8" | sudo tee -a /etc/locale.conf
sudo locale-gen en_US.UTF-8- Fix System Time:
sudo pacman -S --noconfirm --needed ntp
systemctl enable ntpd
timedatectl set-ntp 1- Install Bootloader Themes:
git clone https://github.com/ChrisTitusTech/Top-5-Bootloader-Themes
cd Top-5-Bootloader-Themes
sudo ./install.sh- Install and Configure
nvchadNeovim Setup:
git clone https://github.com/NvChad/NvChad ~/.config/nvim --depth 1
rm -rf "$HOME/.local/state/nvim/shada"- Set Up Xfce Login Manager and Configurations:
# Install lightdm and necessary packages
sudo systemctl disable lightdm
sudo pacman -S --needed --noconfirm xorg xfce4 xfce4-goodies
# Configure login manager
cp -r "$current_dir/.xinitrc" "$HOME" 2>/dev/null
ln -s $HOME/.config/X11/.xinitrc $HOME
chmod +x "$HOME/.xinitrc"- Set Up Touchpad Gesture Support:
paru -S --noconfirm --needed wmctrl xdotool libinput-gestures gestures
sudo gpasswd -a $USER input
libinput-gestures-setup autostart- Build and Install Luke's
stTerminal Emulator:
git clone https://github.com/LukeSmithxyz/st
cd st
sudo make install- Configure and Set Up Music Player with
mpdandncmpcpp:
sudo pacman -S mpd mpc --noconfirm --needed
# ...
# (Refer to the original script for detailed steps.)
# ...- Set Up Zsh Shell:
if [[ $SHELL != "/usr/bin/zsh" ]]; then
chsh -s /usr/bin/zsh
fi- Install and Configure Spotify Theming:
paru -S --noconfirm --needed spotify spicetify-cli
# ...
# (Refer to the original script for detailed steps.)
# ...- Move and Link Dotfiles, Configurations, and Fonts using GNU Stow:
# ...
stow -t ~/.config .configurations
stow -t ~/.local/bin bin
# ...- Stylish minimalist aesthetics
- Seamless wallpaper-themed customization
- Create personalized themes with xcolor
- Enhanced with picom transparency and blur effects
- Consistent theme style across the desktop
- Customized P10K terminal prompt
- Informative status bar for enhanced productivity
-
How does my theme change according to the wallpaper?
- I use a tool called pywal, which automatically extracts colors from the wallpaper and applies them to the theme.
-
How do I add an audio visualizer to the bar?
- I utilize a script from this GitHub repository (you will need mpd).
-
What's the name of the music playing?
- The current track is "Take Off" by Chris Heria. You can find it on Spotify (download using SpotiFlyer).
-
Have a question not listed here?
- Feel free to ask, and I'll do my best to provide an answer.
| Keybind | Action |
|---|---|
| super + enter | Spawn terminal |
| super + shift + enter | Spawn floating terminal |
| super + d | Launch rofi |
| super + shift + q | Close client |
| super + control + space | Toggle floating client |
| super + [1-0] | View tag / Change workspace (for i3 folks) |
| super + shift + [1-0] | Move focused client to tag |
| super + s | Tiling layout |
| super + shift + s | Floating layout |
| super + w | Maximized / Monocle layout |
| super + [arrow keys] | Change focus by direction |
| super + [hjkl] | ^ |
| super + shift + [arrow keys] | Move client by direction |
| super + shift + [hjkl] | ^ |
| super + control + [arrow keys] | Resize client |
| super + control + [hjkl] | ^ |
| super + f | Toggle fullscreen |
| super + m | Toggle maximize |
| super + n | Minimize |
| super + shift + n | Restore minimized |
| super + c | Center floating client |
| super + u | Jump to urgent client (or back to last tag if there is no such client) |
| super + b | Toggle bar |
| super + = | Toggle tray |
| Keybind | Action |
|---|---|
| super + e | Launch VS Code |
| super + r ; r | Launch Librewolf Browser (Normal mode) |
| super + r ; p | Launch Librewolf Browser (Private mode) |
| super + c | Toggle conky |
| super + x | Toggle MPV |
| super + shift + c | Launch Bleachbit |
| super + l ; l ; s | Suspend system |
| super + l ; l ; b | Lock screen with Betterlockscreen |
| super + l ; l ; i | Lock screen with i3-lock-fancy |
| super + g ; r ; t | Open Rofi theme selector |
| super + m | Open Power menu |
| super + a | Toggle Ulauncher |
| ctrl + space | Open Rofi menu |
| super + d | Open Rofi script menu |
| super + shift + v | Open pavucontrol |
| super + semicolon | Open Emoji Selector |
| super + t | Open terminal (kitty) |
| super + Return | Open terminal (ST) |
| super + y | Hide Polybar |
| super + shift + y | Hide Polybar and remove gaps |
| Keybind | Action |
|---|---|
| XF86AudioRaiseVolume | Increase volume |
| XF86AudioLowerVolume | Decrease volume |
| XF86AudioMute | Mute volume |
| XF86AudioPlay | Toggle play/pause (music player) |
| XF86AudioNext | Play next song (music player) |
| XF86AudioPrev | Play previous song (music player) |
| XF86AudioStop | Stop music (music player) |
| XF86MonBrightnessUp | Increase brightness |
| XF86MonBrightnessDown | Decrease brightness |
| Keybind | Action |
|---|---|
| super + shift + r | Quit/Restart bspwm and sxhkd |
| alt + shift + r | Reload sxhkd |
| super + shift + Delete | Quit bspwm |
| super + {_,shift + }q | Close and kill client |
| super + space | Alternate between the tiled and monocle layout |
| super + f | Set focused window to fullscreen mode |
| super + shift + f | Set focused window to fullscreen mode (partial) |
| super + shift + a | Set focused window to tiled layout |
| super + shift + s | Set focused window to floating layout |
| super + shift + f | Set focused window to fullscreen layout |
| super + f | Set focused window to fullscreen layout (partial) |
| super + control + [1-9] | Move focused window to desktop X |
| super + control + space | Cancel preselection for focused node |
| super + control + shift + space | Cancel preselection for focused desktop |
| super + shift + {Left,Down,Up,Right} | Move floating window |
| super + shift + {h,j,k,l} | Expand/Contract a window |
| Keybind | Action |
|---|---|
| super + g ; g ; p | Generate random password (Bitwarden) |
| super + z | Run Nitro |
plex script | | super + x | Run Nitroplex script (redundant) | | super + shift + y | Hide Polybar and remove gaps |
| Keybind | Action |
|---|---|
| XF86AudioRaiseVolume | Increase volume |
| XF86AudioLowerVolume | Decrease volume |
| XF86AudioMute | Mute volume |
| XF86AudioPlay | Toggle play/pause (music player) |
| XF86AudioNext | Play next song (music player) |
| XF86AudioPrev | Play previous song (music player) |
| XF86AudioStop | Stop music (music player) |
| XF86MonBrightnessUp | Increase brightness |
| XF86MonBrightnessDown | Decrease brightness |
If you have any feedback or suggestions, please reach out to me via email at stealthiq[at]protonmail[.]com or Twitter.
This project is licensed under the MIT License.

