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
sudoprivileges
# 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)
rebootNote: 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 reloadKeyboard 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/tcpwith public key authentication only - Syncthing: ports
22000/tcpand21027/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/vncProvided 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-cpufreqBy 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/
