This repository comprises an extensive assortment of modular scripts and configuration files built upon ArchLinux and bspwm. Its objective is to deliver a stable, clutter-free, and ergonomic desktop environment tailored for advanced users.
All updates and enhancements aim to avoid unnecessary breaking changes, aligning closely with the rolling-release nature of the underlying system, while requiring minimal maintenance.
- base Arch Linux installed
- at least 8 GiB of free space on system partition
- user account with
sudo
privileges
# Clone dotfiles repository
git clone https://github.com/filiparag/dotfiles.git && cd dotfiles
# Install dependencies
make dependencies
# Choose and install optional dependencies
make optional-dependencies
# Install dotfiles for your user (pick one)
make symlink # place symlinks to files (recommended)
make copy # place copies of files
# Reboot your system to apply all modifications (optional)
reboot
Note: Running make targets for installing dotfiles will replace existing configuration files in the filesystem. Be sure to back them up beforehand.
Updating dotfiles
After every repository update, install dependencies and reload dotfiles:
dotfiles deps
dotfiles reload
Keyboard shortcuts manual can be opened with dotfiles docs
after installing dotfiles.
Keyboard shortcuts configuration:~/.config/sxhkd/sxhkdrc
Touchpad gestures configuration: ~/.config/libinput-gestures.conf
Window manager configuration (wmrc):
~/.config/wmrc/rc.conf
Startup applications and daemons are listed in APPS
variable in
~/.config/wmrc/modules/services/apps
User-specific environment variables:
~/.config/fish/conf.d/user.fish
Wallpaper and lockscreen images are located in ~/Pictures
directory.
To set default monitor setup, create desired layout using arandr
and save it as ~/.screenlayout/Default.sh
By default, all incoming network traffic is blocked except for:
- SSH: port
22/tcp
with public key authentication only - Syncthing: ports
22000/tcp
and21027/udp
- KDE Connect: port range
1714:1764/tcp+udp
To enable VNC server, run:
# Set VNC password
vncpasswd
# Allow incoming VNC connections
sudo ufw allow in 5900/tcp
# Start VNC module
wmrc start services/vnc
Provided auto-cpufreq configuration file is optimized for CPUs with Energy-Performance Preference support. It is recommended to enable it on battery-powered devices.
To enable it, run:
# Install
paru -S auto-cpufreq
# Enable and start service
sudo systemctl enable --now auto-cpufreq
By default, dotfiles come bundled with configuration and open-source drivers for Intel and AMD graphics cards. If your hardware isn't supported by those:
- install appropriate video driver
- make sure you have proper configuration file in
/etc/X11/xorg.conf.d/