Files
2025-11-10 01:23:28 -05:00
..
2025-11-10 00:53:07 -05:00
2025-11-07 15:21:22 -05:00
2025-11-07 15:21:22 -05:00
2025-11-07 15:21:22 -05:00
2025-11-10 09:05:31 +08:00
2025-10-26 21:27:41 +08:00

Install scripts for Gentoo

Note:

Contributors

install-deps.sh

  1. Enables localrepo and guru overlays if not already enabled.
  2. Copies keywords to keywords-user and appends the correct unmask keywords for the user's architecture (adm64, arm64, and x86 are supported).
  3. keywords-user and useflags are copies over into the proper portage directories. Quickshell also uses a live ebuild.
  4. Syncs, updates, and depcleans @world.
  5. Copies over the custom live ebuilds (hyprgraphics, hyprland-qt-support, hyprland-qtutils, hyprlang, hyprwayland-scanner) into localrepo and digests them.
  6. Loops through all illogical-impulse ebuilds to digest and emerge them.
  • 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.
  • When emerging Hyprland if you get an issue relating to undefined reference to ``Hyprutils::Math::Vector2D::˜Vector2D()``
    • Clear the cache folder (rm -fr /var/tmp/portage/gui-wm/hyprland*) then try again