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.sh
Additionally, 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
nvchad
Neovim 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
st
Terminal Emulator:
git clone https://github.com/LukeSmithxyz/st
cd st
sudo make install
- Configure and Set Up Music Player with
mpd
andncmpcpp
:
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.