...and an installation script for a fresh linux with yay, hyprland and waybar.
I like rice, but i prefer pasta
Note
This rice is heavily inspired (copied) from SolDoesTech's hyprland repos, check those if you'd like a probably better tested config. It also uses config taken from klpod0s. If there are any issues with the hyprland and waybar configuration, before opening an issue, check with the wikis as i have no idea what i'm doing, also don't trust random installation scripts online :). If there are issues with the installation scripts report it here ty.
Clone the repository to copy and use these configuration files.
git clone https://github.com/00Darxk/dotfiles.git
cd dotfiles
I will make another branch, and move the italian version there. For now you'll need to make the changes yourself to change the language in these configs: installupdates.sh, hyprland.conf under input select your keyboard layout, waybar modules, wlogout, wofi, starship.toml. These changes are purely aesthetics.
Run the install script, it will try to install all needed dependencies
Caution
This script DOES NOT backup any config files you may have, it is meant for a fresh install. Use it if you know what you are doing.
install.sh
Yay need to be installed, as its used by the script to install all the packages. Refer to the official yay page for installation.
Below a table of each package that should be installed, and its purpose. If you choose to install another package for the same purpose, you should also check the corresponding configuration files.
Package | Description |
---|---|
hyprland |
Hyprland compositor |
kitty |
Default terminal |
waybar |
Customizable Wayland bar |
swaybg |
Used to set a desktop background image |
wofi |
Application launcher menu |
swaync |
Graphical notification daemon |
thunar |
Graphical file manager |
ttf-jetbrains-mono-nerd |
Some nerd fonts for icons and overall look |
polkit-gnome |
Graphical superuser, needed for some applications |
starship |
Customizable shell prompt |
swappy |
Screenshot editor tool |
grim |
Screenshot tool, it grabs images from a Wayland compositor |
slurp |
Selects a region in a Wayland compositor, used to screenshot |
pamixer |
Pulseaudio command line mixer |
brightnessctl |
Program to read and contro device brightness |
gvfs |
Adds missing feature to thunar |
bluez |
Bluetooth protocol stack |
bluez-utils |
Command line utilities to interact with bluetooth devices |
nwg-look |
GTK3 settings editor adapter |
xfce4-settings |
Set of tools for xfce, needed to set GTK theme |
xdg-desktop-portal-hyprland |
xdg-desktop-portal backend for hyprland |
wl-gammarelay |
Client and daemon for changing color temperature and brightness under wayland |
hyfetch |
Fork of neofetch with LGBTQ+ pride flags |
power-profiles-daemon |
Maked power profiles handling over D-Bus |
sddm |
Login manager |
tff-fira-code |
Free monospace font with programming ligatures |
tff-font-awesome |
Icon font for waybar |
wol |
Wake-on-LAN tool for both CLI and web interfaces |
jq |
CLI JSON processor |
btop |
Monitor of system resources |
telegram-desktop |
Official Telegram Desktop client |
discord |
All-in-one voice and text chat for games |
steam |
Valve's digital software delivery system |
spotify-launcher |
Client for spotify's apt repository |
chromium |
Web browser |
tailscale |
Mesh VPN |
fzf |
CLI fuzzy finder |
pacman -S hyprland kitty waybar swaybg wofi swaync thunar ttf-jetbrains-mono-nerd polkit-gnome starship swappy grim slurp pamixer brightnessctl gvfs bluez bluez-utils nwg-look xfce4-settings xdg-desktop-portal-hyprland wl-gammarelay hyfetch power-profiles-daemon sddm tff-fira-code tff-font-awesome wol telegram-desktop discord steam spotify-launcher chromium tailscale fzf
Package | Description |
---|---|
wlogout |
Logout menu |
swaylock-effects |
Allow to lock the screen, fork that adds visual effects |
dracula-gtk-theme |
Default theme |
dracula-icons-git |
Default icons |
sddm-eucalyptus-drop |
Sddm theme |
notion-app-electron |
Connected workspaces |
vscodium-bin |
Binary releases of VS Code without MS branding/telemetry/licensing |
whatsdesk-bin |
Unofficial client of Whatsapp |
yay -S wlogout swaylock-effects dracula-gtk-theme dracula-icons-git sddm-eucalyptus-drop notion-app-electron vscodium-bin whatsdesk-bin
Or your AUR helper of choice.
Here is a list of useful and funny packages:
Package | Description |
---|---|
cowsay |
Configurable talking cow |
fortune-mod |
Fortune cookie program from BSG games |
pipes.sh AUR |
Animated pipes terminal screensaver |
imagemagick |
An image viewing/manipulation program |
inkscape |
Professional vector graphics editor |
yay -S cowsay fortune-mod pipes.sh imagemagick inkscape
Copy the configs to the ~/.config
folder:
cp -R hypr ~/.config/
cp -R kitty ~/.config/
cp -R neofetch ~/.config/
cp -R swaylock ~/.config/
cp -R waybar ~/.config/
cp -R wlogout ~/.config/
cp -R wofi ~/.config/
cp hyfetch.json ~/.config/
cp .bashrc ~/.config/
cp starship.toml ~/.config/
Set files as executable:
chmod +x ~/.config/hypr/xdg-portal-hyprland
chmod +x ~/.config/waybar/scripts/*
Enables services:
sudo systemctl enable tailscaled
sudo systemctl enable bluetooth.service
See WoL and Tailscale and GitHub Notification section to manually configure the modules.
You can check the keybinds in the hyprland config, or on the table below. It contains explicit keybinds for F1 to F6 function keys and multimedia keys, although they should all work out of the box; if there are issues check your keyboard on the wiki.
Keybind | Action |
---|---|
Super+Q | Open Kitty terminal |
Super+W | Kill active window |
Super+L | Lock the screen, using swaylock |
Super+M | Show the logout screen, using wlogout |
Super+Shift+M | Exit the Hyrpland environment |
Super+V | Toggle on/off floating for the active window |
Super+P | Toggle pseudo-tiling |
Super+J | Toggle split |
Super+Space | Show the graphical app launcher wofi |
Super+S | Take a screenshot |
Super+Shift+B | Reload waybar |
Super+[1~9] | Open Thunar (1), WhatsDesk (2), Chromium (3), Discord (4), Telegram Desktop (5), Steam (6), none (7), VSCodium (8), Spotify Launcher (9) |
Super+Ctrl+0 | Reset screen temperature to 6500K |
Super+Ctrl+↑ | Increase screen temperature by 500K |
Super+Ctrl+↓ | Decrease screen temperature by 500K |
Super+←→↑↓ | Move through the active workspace |
Alt+Tab | Cycle through windows on same workspace |
Alt+Shift+Tab | Cycle through windows on same workspace (reverse) |
Super+Tab | Switches to previous active workspace |
Super+[F1~F12] | Change to nth workspace, up to 12 |
Super+Shift+[F1~F12] | Move current window to nth workspace, up to 12 |
Super+Scroll↑Scroll↓ | Scroll through existing workspaces |
Super+LMB | Move window with dragging |
Super+RMB | Resize window with dragging |
Super+Shift+Space+[1~4] | Change background to Moon Over Mondstat (1), Sucrose (2), Sayu Birthday Without Characters (3), Xiao (4) |
Credit to Shade of a cat and Sevenics for the amazing art!
Note
I don't remember why I converted all the backgrounds from png to jpg, it should work either way. Too lazy to check the wiki.
To add a new wallpaper to hyprland, add a line at the end of the hyprland.conf file, specifying the location of the image. To set it at start, change the location of the exec call inside the config to the background image.
In the same way you can edit the top line of the swaylock config to change the background image.
If you'd like to use the waybar module to wake a machine over LAN either follow the instructions in the installation scripts or create the ./secrets
folder, the ip-address.txt
and mac-address.txt
files.
The wol.sh sends a magic packet to the machine, using the wol package. Change the script if you would like to use a different application.
the same module can be used to ssh into another machine using tailscale, for this create the hostname.txt
file inside the secret folder with the hostname or the ip address in your tailscale network. For simplicity both these functions refer to the same machine.
You can just comment out or remove the module in waybar config if you don't use it. If you haven't configured it, it will not show in waybar.
To WoL left-click the module, to ssh right-click it; the color of the module shows the tailscale status of the machine you configured, not if the machine itself is on or off. If you have enabled tailscaled on the machine it will show the machine status, as it starts on startup. If you have set different machines for WoL and ssh the tooltip refers only to the ssh machine.
Instructions in the waybar wiki. Place the notifications.token
inside the .secrets
folder.
This configuration is almost entirely taken from klpod0s, an aestethic, dynamic and minimal configuration for hyprland; just changed the color theme and tweaked a bit.
I tried to base it off this color scheme, but I'm not really good with that, if someone who knows colors could help I'd be very thankful :).
I use squared theme for gtk, and ant-dark icons theme. To add themes and icon themes download and unzip theme respectively in ~/.themes
and ~/.local/share/icons
, use this last directory to store cursor icons (i use my oshi Rin Penrose's)
For sddm
I use the eucalyptus-drop theme, it is available on the AUR, and installed through the install script.
- Working To-Dos
- Test the installation script :3
- Add usefull information in the README
- Module description
- Create a version with english toolip in waybar
- Improve installation script
- Add the option to choose which language to use in the installation script
- Backup previous config files
- Create standalone module config for each waybar module
...and suggestions are welcome, just open an issue or a pull request :)
SolDoesTech's hyprland configs and klpod221's klpod0s configs, the hyprland and waybar wikis. Shade of a cat and Sevenics amazing art.