mirror of
https://github.com/end-4/dots-hyprland.git
synced 2026-06-05 14:59:27 -05:00
Install scripts for Gentoo
Note:
- The scripts here are not meant to be executed directly.
- This folder should reflect the equivalents of
/dist-arch/but under Gentoo.- When
/dist-arch/is newer than this folder, an update on this folder is very likely needed. - Useful link: Commit history on dist-arch/
- When
- See also Install scripts | illogical-impulse
Contributors
- Author: jwihardi
install-deps.sh
- Enables localrepo and guru overlays if not already enabled.
- Copies keywords to keywords-user and appends the correct unmask keywords for the user's architecture (adm64, arm64, and x86 are supported).
- keywords-user and useflags are copies over into the proper portage directories. Quickshell also uses a live ebuild.
- Syncs, updates, and depcleans @world.
- Copies over the custom live ebuilds (hyprgraphics, hyprland-qt-support, hyprland-qtutils, hyprlang, hyprwayland-scanner) into localrepo and digests them.
- Loops through all illogical-impulse ebuilds to digest and emerge them.
install-setup.sh
- Creates the i2c group since Gentoo doesn't have this by default, then adds the user to it.
- Enables bluetooth and ydotool services (systemd or openrc)
- icons, konsole, hypr, and quickshell are are chowned to user since they're emerge in as root by default.
- gsettings and kwriteconfig6 are set (same as dist-arch).
Recommended use flags (useflags)
- The recommended useflags are not required, this is a more out of the box experience with these
- Pipewire is used, alsa and pulseaudio are disabled (enabling them won't hurt).
- Init system is not assumed or considered so disabling systemd should be done in make.conf, same with session managers (elogind is recommended).
Making the dot-files work
- elogind is expected to be installed and run as a service on OpenRC to set
XDG_RUNTIME_DIR- NOT recommended: seatd will require more manual setup
- pipewire, pipewire-pulse, and wireplumber must be started after a dbus-session is created and before Hyprland is launched.
If you want to start after logging into tty1 you can do something like this.
if status --is-interactive; and [ (tty) = "/dev/tty1" ]
# Start DBus session if not running
if not set -q DBUS_SESSION_BUS_ADDRESS
dbus-launch --sh-syntax | sed 's/^/set -gx /; s/=/ /' | source
end
# Start PipeWire if not running
pgrep -x pipewire >/dev/null; or pipewire &
pgrep -x pipewire-pulse >/dev/null; or pipewire-pulse &
pgrep -x wireplumber >/dev/null; or wireplumber &
# Launch Hyprland with DBus session
exec Hyprland
end
Known Issues
- If Hyprland is just blank, rebuild Quickshell (emerge -q gui-apps/quickshell)
Hyprland: error while loading shared libraries: libhyprgraphics.so.0: cannot open shared object file: No such file or directory- The Hyprland live ebuild sometimes has linkage issues, deleting Hyprland and hyprland from
/usr/bin/and then re-emerging usually fixes this.
- The Hyprland live ebuild sometimes has linkage issues, deleting Hyprland and hyprland from