A minimal but (hopefully) fully usable archlinux installation with Hyprland as the window manager.
Tested on a laptop with NVIDIA-Intel hybrid graphics, and a Asus Zephyrus with NVIDIA-AMD hybrid graphics, so graphics drivers issues shouldn't be a thing.
- Widgets, applets, notifications, and media controls through
ags. - Lockscreen/sleep through
hypridleandhyprlock. - Wallpapers through
hyprpaper. rofi-waylandas the launcher/runner.- Clipboard support by
wl-clipboard,cliphistandrofi-wayland. - Brightness and volume controls through
brightnessctland various PipeWire related packages. - Smartphone connectivity through
kdeconnect. - Screenshots through
hyprshot. - Integrated/Hybrid GPU mode through
envycontrol - Custom gestures through
libinput-gestures
Just cd into the repo and run ./setup/setup.sh
, and read the rest of this section if you want to learn what the script does or if you want to set up the homepage.
A list of dependencies, general apps and utilities and some personal favorites can be found on native-packages.txt and external-packages.txt.
Additionally, Zinit,
TPM and the AUR package manager yay have been installed through git directly, and are required.
The following services must be explicitly enabled/disabled. Other background tasks are enabled on Hyprland itself or are enabled by default.
sudo systemctl enable ly # login
sudo systemctl enable nvidia-persistenced # Hybrid graphics
sudo systemctl enable pipewire-pulse # Pulseudio compat.
sudo systemctl enable tlp # power saver
sudo systemctl enable bluetooth # bluetooth
sudo systemctl disable iwd # wifi
sudo systemctl enable NetworkManager #See the NetworkManager arch wiki page
By default, the keyboard layout is set to es_ES on hyprland.conf, you may want to change that.
The user must be part of the input group for the gestures to work.
sudo usermod -aG input $USERThis repo comes with the .homepage submodule, which is a custom browser homepage. Manual setup is required:
First, install a web server, in this case, nginx should be installed if the setup.sh script was used. For nginx, set a new location like so:
server {
listen localhost:80;
server_name localhost;
#...
location / {
root /usr/share/nginx/homepage;
# root /usr/share/nginx/html;
index index.html index.htm;
}
# ...
}Then, link (or mount it) ~/.homepage to /usr/share/nginx/homepage.
sudo ln -s ~/.homepage /usr/share/nginx/homepageFinally install the New Tab Override extension
and set http://localhost as the new tab custom URL and configure Firefox to use localhost as the homepage and New Tab Override for new tabs.
- Make popup widgets render behind borders
- Make lockscreen widgets interactable (e.g.: Add a suspend button)
- Add shadows to make desktop widgets pop more
- Shadows on the borders (must not go over windows)
- Shadows arround popup widgets (must go over windows)
- pop-os for inspiring the keybindings.
- adi1090x/rofi for the config files and colors for rofi.
- catppuccin/tmux for the tmux status bar.
- dreamsofcode-io/dotfiles for the ZSH config file.
- dharmx for his awesome EWW tutorial.
- croyleje/eww-hyprland-workspace for their EWW listeners for Hyprland.
- Gogh-Co/Gogh for their terminal theme installer.
- morhetz/gruvbox for the Gruvbox theme, which serves as a direct inspiration for the UI.
- AzraelIvy Ivy on Pinterest for (as far as I can tell) creating the drawing on the desktop wallpaper.
- u/atlas-ark on r/wallpaper for creating the lock screen wallpaper (here).
- You, for taking the time to read this list and (maybe?) checking out what these people do. Show them some love!