From ae504305279b913749f2744b1a597bc9e19c6473 Mon Sep 17 00:00:00 2001 From: jwihardi Date: Fri, 26 Sep 2025 20:02:44 -0400 Subject: [PATCH 01/15] added gentoo ebuild --- gentoo-ebuilds/end4-1.0.ebuild | 196 +++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 gentoo-ebuilds/end4-1.0.ebuild diff --git a/gentoo-ebuilds/end4-1.0.ebuild b/gentoo-ebuilds/end4-1.0.ebuild new file mode 100644 index 000000000..bed3b1aa0 --- /dev/null +++ b/gentoo-ebuilds/end4-1.0.ebuild @@ -0,0 +1,196 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +Bibata_VER=2.0.6 +DART_SASS_VER=1.78.0 + +DESCRIPTION="For End-4 dot-files with icons, themes, fonts, adw-gtk3, and Dart Sass" +HOMEPAGE="" +SRC_URI=" +https://github.com/end-4/OneUI4-Icons/archive/main.tar.gz -> ${P}.tar.gz +https://github.com/ful1e5/Bibata_Cursor/releases/download/v${Bibata_VER}/Bibata-Modern-Classic.tar.xz -> bibata-modern-classic.tar.xz +https://github.com/Bali10050/Darkly/archive/refs/heads/main.tar.gz -> ${P}-darkly.tar.gz +https://github.com/naipefoundry/gabarito/archive/refs/heads/main.tar.gz -> ${P}-gabarito.tar.gz +https://github.com/luisbocanegra/kde-material-you-colors/archive/refs/heads/main.tar.gz -> ${P}-kde-material-you-colors.tar.gz +https://github.com/googlefonts/rubik/archive/refs/heads/main.tar.gz -> ${P}-rubik.tar.gz +https://github.com/ThomasJockin/readexpro/archive/refs/heads/master.tar.gz -> ${P}-readexpro.tar.gz +https://github.com/google/material-design-icons/archive/refs/heads/main.tar.gz -> ${P}-material-design-icons.tar.gz +https://github.com/mjkim0727/breeze-plus/archive/refs/heads/main.tar.gz -> ${P}-breeze-plus.tar.gz +https://github.com/lassekongo83/adw-gtk3/archive/refs/heads/main.tar.gz -> ${P}-adw-gtk3.tar.gz +https://github.com/sass/dart-sass/releases/download/${DART_SASS_VER}/dart-sass-${DART_SASS_VER}-linux-x64.tar.gz -> dart-sass.tar.gz +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="strip" + + +DEPEND="" +RDEPEND=" + media-sound/cava + media-sound/pavucontrol-qt + media-video/wireplumber + dev-libs/libdbusmenu[gtk3] + media-sound/playerctl + + app-misc/brightnessctl + app-misc/geoclue + app-misc/ddcutil + + sys-apps/coreutils + net-misc/axel + sys-devel/bc + app-misc/cliphist + net-misc/curl + dev-build/cmake + net-misc/rsync + net-misc/wget + sys-apps/ripgrep + dev-python/jq + dev-build/meson + x11-misc/xdg-user-dirs + + kde-plasma/bluedevil + gnome-base/gnome-keyring + net-misc/networkmanager + kde-plasma/plasma-nm + kde-plasma/polkit-kde-agent + kde-apps/dolphin + kde-plasma/systemsettings + + sys-apps/xdg-desktop-portal + kde-plasma/xdg-desktop-portal-kde + sys-apps/xdg-desktop-portal-gtk + gui-libs/xdg-desktop-portal-hyprland + + dev-python/clang + dev-python/uv + gui-libs/gtk + gui-libs/libadwaita + net-libs/libsoup + dev-libs/gobject-introspection + dev-lang/sassc + media-libs/opencv + + gui-apps/hyprshot + gui-apps/slurp + gui-apps/swappy + app-text/tesseract + gui-apps/wf-recorder + + kde-apps/kdialog + dev-qt/qt5compat + dev-qt/qtbase + dev-qt/qtdeclarative + dev-qt/qtimageformats + dev-qt/qtmultimedia + dev-qt/qtpositioning + dev-qt/qtquicktimeline + dev-qt/qtsensors + dev-qt/qtsvg + dev-qt/qttools + dev-qt/qttranslations + dev-qt/qtvirtualkeyboard + dev-qt/qtwayland + kde-frameworks/syntax-highlighting + sys-power/upower + gui-apps/wtype + x11-misc/ydotool + + gui-apps/fuzzel + dev-libs/glib + gui-apps/quickshell + app-i18n/translate-shell + gui-apps/wlogout + + kde-plasma/breeze + app-shells/fish + sys-apps/eza + media-libs/fontconfig + x11-terms/kitty + x11-misc/matugen + app-shells/starship + media-fonts/twemoji + media-fonts/jetbrains-mono +" + +# Source directories +S="${WORKDIR}" +S_BIBATA="${S}/Bibata-Modern-Classic" +S_ONEUI="${S}/OneUI4-Icons-main" +S_DARKLY="${S}/Darkly-main" +S_GABARITO="${S}/gabarito-main" +S_KDE_MATERIAL_YOU_COLORS="${S}/kde-material-you-colors-main" +S_RUBIK="${S}/rubik-main" +S_READEXPRO="${S}/readexpro-master" +S_MATERIAL_DESIGN_ICONS="${S}/material-design-icons-main" +S_ADW_GTK3="${S}/adw-gtk3-main" +S_BREEZE_PLUS="${S}/breeze-plus-main" +S_DART_SASS="${S}/dart-sass" + +src_unpack() { + default + + mv "${WORKDIR}/dart-sass-${DART_SASS_VER}-linux-x64" "${S_DART_SASS}" +} + +src_compile() { + cd "${S_DARKLY}" + mkdir -p build + cd build + cmake .. -DBUILD_QT5=OFF -DBUILD_QT6=ON + cmake --build . --parallel=$(nproc) + + cd "${S_ADW_GTK3}" + meson setup build + meson compile -C build +} + +src_install() { + insinto /usr/libexec/dart-sass + doins -r "${S_DART_SASS}"/* + fperms +x /usr/libexec/dart-sass/sass + fperms +x /usr/libexec/dart-sass/src/dart + + dodir /usr/bin + cat > "${D}/usr/bin/sass" <<-EOF || die +#!/bin/bash +exec /usr/libexec/dart-sass/sass "\$@" +EOF + fperms +x /usr/bin/sass + + insinto /usr/share/icons + doins -r "${S_BIBATA}" + for theme in "OneUI" "OneUI-dark" "OneUI-light"; do + doins -r ${S_ONEUI}/${theme} + done + + cd "${S_DARKLY}/build" + cmake --install . --destdir="${D}" + + insinto /usr/share/fonts/ttf-gabarito + doins "${S_GABARITO}"/fonts/ttf/*.ttf + + cd "${S_KDE_MATERIAL_YOU_COLORS}" + mkdir -p build + cd build + cmake .. + cmake --build . --parallel=$(nproc) + cmake --install . --destdir="${D}" + + insinto /usr/share/fonts/ttf-readex-pro + doins "${S_READEXPRO}"/fonts/ttf/*.ttf + + insinto /usr/share/fonts/ttf-material-design-icons + doins "${S_MATERIAL_DESIGN_ICONS}"/font/*.ttf + + insinto /usr/share/themes + doins -r "${S_BREEZE_PLUS}"/src/breeze-plus* + + cd "${S_ADW_GTK3}" + meson install -C build --destdir="${D}" + + fc-cache -f +} From 3a653d955886a93cff1c4e8522ed1bb597220856 Mon Sep 17 00:00:00 2001 From: jwihardi Date: Fri, 26 Sep 2025 20:03:31 -0400 Subject: [PATCH 02/15] renamed folder --- {gentoo-ebuilds => gentoo-ebuild}/end4-1.0.ebuild | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {gentoo-ebuilds => gentoo-ebuild}/end4-1.0.ebuild (100%) diff --git a/gentoo-ebuilds/end4-1.0.ebuild b/gentoo-ebuild/end4-1.0.ebuild similarity index 100% rename from gentoo-ebuilds/end4-1.0.ebuild rename to gentoo-ebuild/end4-1.0.ebuild From 7fa2ffc14e791c86519656ce06548c445bdec8fa Mon Sep 17 00:00:00 2001 From: jwihardi Date: Wed, 1 Oct 2025 19:54:04 -0400 Subject: [PATCH 03/15] added an installer and use flags --- gentoo-ebuild/end4-1.0.ebuild | 42 +++++---- gentoo-ebuild/end4-recommended-use-flags | 114 +++++++++++++++++++++++ gentoo-ebuild/end4-unmasks | 0 gentoo-ebuild/gentoo-installer.sh | 70 ++++++++++++++ 4 files changed, 210 insertions(+), 16 deletions(-) create mode 100644 gentoo-ebuild/end4-recommended-use-flags create mode 100644 gentoo-ebuild/end4-unmasks create mode 100755 gentoo-ebuild/gentoo-installer.sh diff --git a/gentoo-ebuild/end4-1.0.ebuild b/gentoo-ebuild/end4-1.0.ebuild index bed3b1aa0..7f1fed1f0 100644 --- a/gentoo-ebuild/end4-1.0.ebuild +++ b/gentoo-ebuild/end4-1.0.ebuild @@ -35,16 +35,16 @@ RDEPEND=" dev-libs/libdbusmenu[gtk3] media-sound/playerctl - app-misc/brightnessctl app-misc/geoclue + app-misc/brightnessctl app-misc/ddcutil - sys-apps/coreutils net-misc/axel sys-devel/bc + sys-apps/coreutils app-misc/cliphist - net-misc/curl dev-build/cmake + net-misc/curl net-misc/rsync net-misc/wget sys-apps/ripgrep @@ -52,6 +52,29 @@ RDEPEND=" dev-build/meson x11-misc/xdg-user-dirs + kde-plasma/breeze + sys-apps/eza + app-shells/fish + media-libs/fontconfig + x11-terms/kitty + x11-misc/matugen + app-shells/starship + media-fonts/jetbrains-mono + media-fonts/twemoji + + gui-apps/hypridle + gui-libs/hyprcursor + gui-wm/hyprland + gui-libs/hyprland-qtutils + gui-libs/hyprland-qt-support + dev-libs/hyprlang + gui-apps/hyprlock + gui-apps/hyprpicker + gui-apps/hyprsunset + gui-libs/hyprutils + dev-util/hyprwayland-scanner + gui-apps/wl-clipboard + kde-plasma/bluedevil gnome-base/gnome-keyring net-misc/networkmanager @@ -68,10 +91,7 @@ RDEPEND=" dev-python/clang dev-python/uv gui-libs/gtk - gui-libs/libadwaita - net-libs/libsoup dev-libs/gobject-introspection - dev-lang/sassc media-libs/opencv gui-apps/hyprshot @@ -104,16 +124,6 @@ RDEPEND=" gui-apps/quickshell app-i18n/translate-shell gui-apps/wlogout - - kde-plasma/breeze - app-shells/fish - sys-apps/eza - media-libs/fontconfig - x11-terms/kitty - x11-misc/matugen - app-shells/starship - media-fonts/twemoji - media-fonts/jetbrains-mono " # Source directories diff --git a/gentoo-ebuild/end4-recommended-use-flags b/gentoo-ebuild/end4-recommended-use-flags new file mode 100644 index 000000000..cab28df84 --- /dev/null +++ b/gentoo-ebuild/end4-recommended-use-flags @@ -0,0 +1,114 @@ +################### AUDIO ################### +media-sound/cava pipewire -pulseaudio +#media-sound/pavucontrol-qt (no use flags) +#media-video/wireplumber (no use flags) +dev-libs/libdbusmenu gtk3 introspection +media-sound/playerctl introspection + +################### BACKLIGHT ################### +app-misc/geoclue introspection +#app-misc/brightnessctl +app-misc/ddcutil X + +################### BASIC ################### +net-misc/axel nls ssl +sys-devel/bc readline +sys-apps/coreutils acl nls openssl xattr gmp +#app-misc/cliphist (no use flags) +dev-build/cmake ncurses +net-misc/curl adns alt-svvc ftp hsts http2 http3 httpsrr imap openssl pop3 psl quic smtp ssl lftp websockets idn brotli zstd +net-misc/rsync acl iconv ssl xattr +net-misc/wget nls pore ssl zlib idn +sys-apps/ripgrep pcre +#dev-python/jq (nothing needed) +#dev-build/meson (nothing needed) +#x11-misc/xdg-user-dirs (nothing needed) + +################### FONTS & THEMES ################### +#kde-plasma/breeze (nothing needed) +sys-apps/eza git +app-shell/fish nls +media-libs/fontconfig nls +x11-terms/kitty X wayland +#x11-misc/matugen +#app-shell/starship (nothing needed) +media-fonts/jetbrains-mono X +media-fonts/twemoji X +# The rest are handled in the ebuild + + +################### HYPRLAND ################### +#gui-apps/hypridle (no use flags) +#gui-libs/hyprcursor (no use flags) +gui-wm/hyprland X qtutils +#gui-libs/hyprland-qtutils (no use flags) +#gui-libs/hyprland-qt-support (no use flags) +#dev-libs/hyprlang (no use flags) +#gui-apps/hyprlock (no use flags) +#gui-apps/hyprpicker (no use flags) +#gui-apps/hyprsunset (no use flags) +#gui-libs/hyprutils (no use flags) +#dev-util/hyprwayland-scanner (no use flags) +#gui-apps/wl-clipboard (no use fags) + + +################### KDE ################### +kde-plasma/bluedevil -handbook +gnome-base/gnome-keyring pam ssh-agent +net-misc/networkmanager concheck introspection nss ppp tools wifi -wext -modemmanager +#kde-plasma/plasma-nm (nothing needed) +#kde-plasma/polkit-kde-agent (nothing needed) +kde-apps/dolphin -handbook +kde-plasma/systemsettings -handbook + +################### PORTAL ################### +sys-apps/xdg-desktop-portal seccomp +#sys-plasma/xdg-desktop-portal-kde (nothing needed) +sys-apps/xdg--desktop-portal-gtk X wayland +#gui-libs/xdg-desktop-portal-hyprland (elogiind maybe) + +################### PYTHON ################### +#dev-python/clang (nothing needed) +#dev-python/uv (nothing needed) +gui-libs/gtk X introspection wayland +#dev-libs/gobject-introspection (nothing needed) +# dart-sassc handled in the ebuild +media-libs/opencv eigen ffmpeg jpeg opencl opengl python wayland gtk3 webp + + +################### SCREENCAPTURE ################### +#gui-apps/hyprshot (no use flags) +gui-apps/slurp -man +#gui-apps/swappy (no use flags) +app-text/tesseract jpeg openmp png webp +gui-apps/wf-recorder pipewire + + +################### TOOLKIT ################### +kde-apps/kdialog X +dev-qt/qt5compat gui icu qml +dev-qt/qtbase X concurrent cups dbus gui icu libinput libproxy network nls opengl sql sqlite ssl udev wayland widgets xml zstd +dev-qt/qtdeclarative jit network opengl sql ssl svg widgets +#dev-qt/qtimageformats (nothing needed) +dev-qt/qtmultimedia X dbus ffmpeg opengl pipewire qml wayland v4l +dev-qt/qtpositioning qml geoclue +#dev-qt/qtquicktimeline (nothing needed) +#dev-qt/qtsensors (nothing needed) +#dev-qt/qtsvg (nothing needed) +dev-qt/qttools assistant linguist opengl qdbus widgets zstd +#dev-qt/qttranslations (no use flags) +dev-qt/qtvirtualkeyboard sound spell +#dev-qt/qtwayland (nothing needed) +#kde-framework/syntax-highlighting (nothing needed) +sys-power/upower introspection +#gui-apps/wtype (no use flags) +#x11-misc/ydotool (no use flags) + +################### WIDGETS ################### +gui-apps/fuzzel png svg +dev-libs/glib dbus elf introspection mime xattr +# ngl idk about nm-connection-editor. Works fine without +gui-apps/quickshell -X -i3 -i3-ipc -breakpad bluetooth hyprland hyprland-focus-grab hyprland-global-shortcuts jemalloc layer-shell mpris pam pipewire screencopy session-lock sockets toplevel-management tray wayland +#app-i18n/translate-shell (nothing needed) +#gui-apps/wlogout (no use flags) + diff --git a/gentoo-ebuild/end4-unmasks b/gentoo-ebuild/end4-unmasks new file mode 100644 index 000000000..e69de29bb diff --git a/gentoo-ebuild/gentoo-installer.sh b/gentoo-ebuild/gentoo-installer.sh new file mode 100755 index 000000000..c7456f116 --- /dev/null +++ b/gentoo-ebuild/gentoo-installer.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +latest_gcc_ver=15 +ebuild_name="end4-1.0.ebuild" +arch=$(portageq envvar ACCEPT_KEYWORDS) + +print_message () { + message=$1 + echo -e "\033[34m$message\033[0m" +} +get_input () { + input_message=$1 + answer="" + bool_answer=-1 + while true; do + read -p "$(print_message "$input_message ([\033[32mY\033[34m]/\033[31mn\033[0m): ")" answer + case "$answer" in + [Yy]* | "" ) + bool_answer=0 + break + ;; + [Nn]* ) + bool_answer=1 + break + ;; + * ) + echo -e "\033[31mInput not understood ([\033[32mY\033[34m]/\033[31mn\033[0m)\033[0m)" + ;; + esac + done +} + +exec_cmd () { + cmd=$1 + message=$2 + terminate=$3 + get_input "$message" + case "$bool_answer" in + 0 ) + echo -e "\033[32m+\033[2m $cmd\033[0m" + [ ! -z "$cmd" ] && eval "$cmd" + ;; + 1 ) + echo -e "\033[32m-\033[2m $cmd\033[0m" + [ "$terminate" == "y" ] && exit 1 + ;; + * ) + exit 1 + ;; + esac + cmd="" +} + +print_message "IF YOU WANT TO USE THE LATESt HYPRlAND VERSION YOU MUSt UNMASK it, CHANGE GCC VERSIONS TO A COMPATIBLE ONE, THEN EMERGE @world IF YOU YOUR CURRENT GCC WASN'T THE SAME." +echo "" +print_message "ARCHITECTURE DETECTED IS \033[32m$arch\033[0m" + +exec_cmd "sudo emerge --sync" "Sync portage" +exec_cmd "sudo emerge --ask --verbose --update --deep --newuse @world" "Update @world" +exec_cmd "sudo eselect repository create localrepo || true" "Create local repository" +exec_cmd "sudo eselect repository enable localrepo || true" "Enable local repository" +exec_cmd "sudo mkdir -p /var/db/repos/localrepo/app-misc/end4 || true" "Create directory for the eBuild" +exec_cmd "sudo cp end4-1.0.ebuild /var/db/repos/localrepo/app-misc/end4" "Import the eBuild" +exec_cmd "sudo ebuild /var/db/repos/localrepo/app-misc/end4/${ebuild_name} digest" "Digest the eBuild" +exec_cmd "sudo cp end4-recommended-use-flags /etc/portage/package.use/end4" "Use recommended use flags" + + + + + From 7124b69912fcdb9f752daf6c1497bae3e3539232 Mon Sep 17 00:00:00 2001 From: jwihardi Date: Wed, 1 Oct 2025 19:56:55 -0400 Subject: [PATCH 04/15] renamed gentoo-ebuild to gentoo-support --- {gentoo-ebuild => gentoo-support}/end4-1.0.ebuild | 0 {gentoo-ebuild => gentoo-support}/end4-recommended-use-flags | 0 {gentoo-ebuild => gentoo-support}/end4-unmasks | 0 {gentoo-ebuild => gentoo-support}/gentoo-installer.sh | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename {gentoo-ebuild => gentoo-support}/end4-1.0.ebuild (100%) rename {gentoo-ebuild => gentoo-support}/end4-recommended-use-flags (100%) rename {gentoo-ebuild => gentoo-support}/end4-unmasks (100%) rename {gentoo-ebuild => gentoo-support}/gentoo-installer.sh (100%) diff --git a/gentoo-ebuild/end4-1.0.ebuild b/gentoo-support/end4-1.0.ebuild similarity index 100% rename from gentoo-ebuild/end4-1.0.ebuild rename to gentoo-support/end4-1.0.ebuild diff --git a/gentoo-ebuild/end4-recommended-use-flags b/gentoo-support/end4-recommended-use-flags similarity index 100% rename from gentoo-ebuild/end4-recommended-use-flags rename to gentoo-support/end4-recommended-use-flags diff --git a/gentoo-ebuild/end4-unmasks b/gentoo-support/end4-unmasks similarity index 100% rename from gentoo-ebuild/end4-unmasks rename to gentoo-support/end4-unmasks diff --git a/gentoo-ebuild/gentoo-installer.sh b/gentoo-support/gentoo-installer.sh similarity index 100% rename from gentoo-ebuild/gentoo-installer.sh rename to gentoo-support/gentoo-installer.sh From dd1fb111a5751f3cb70a3064ddd853bfe6a98a82 Mon Sep 17 00:00:00 2001 From: jwihardi Date: Wed, 1 Oct 2025 22:12:17 -0400 Subject: [PATCH 05/15] updated the script and added unmask file --- gentoo-support/end4-recommended-use-flags | 3 +- gentoo-support/end4-unmasks | 14 +++++++++ gentoo-support/gentoo-installer.sh | 36 ++++++++++++++++------- 3 files changed, 41 insertions(+), 12 deletions(-) diff --git a/gentoo-support/end4-recommended-use-flags b/gentoo-support/end4-recommended-use-flags index cab28df84..ed3ba7815 100644 --- a/gentoo-support/end4-recommended-use-flags +++ b/gentoo-support/end4-recommended-use-flags @@ -64,7 +64,7 @@ kde-plasma/systemsettings -handbook ################### PORTAL ################### sys-apps/xdg-desktop-portal seccomp #sys-plasma/xdg-desktop-portal-kde (nothing needed) -sys-apps/xdg--desktop-portal-gtk X wayland +sys-apps/xdg-desktop-portal-gtk X wayland #gui-libs/xdg-desktop-portal-hyprland (elogiind maybe) ################### PYTHON ################### @@ -111,4 +111,3 @@ dev-libs/glib dbus elf introspection mime xattr gui-apps/quickshell -X -i3 -i3-ipc -breakpad bluetooth hyprland hyprland-focus-grab hyprland-global-shortcuts jemalloc layer-shell mpris pam pipewire screencopy session-lock sockets toplevel-management tray wayland #app-i18n/translate-shell (nothing needed) #gui-apps/wlogout (no use flags) - diff --git a/gentoo-support/end4-unmasks b/gentoo-support/end4-unmasks index e69de29bb..59ec974dd 100644 --- a/gentoo-support/end4-unmasks +++ b/gentoo-support/end4-unmasks @@ -0,0 +1,14 @@ +x11-misc/matugen +media-fonts/twemoji +gui-apps/hypridle +gui-apps/hyprlock +gui-apps/hyprpicker +gui-apps/hyprsunset +gui-libs/xdg-desktop-portal-hyprland +gui-apps/hyprshot +gui-apps/wf-recorder +gui-apps/wtype +gui-apps/fuzzel +gui-apps/quickshell +gui-apps/wlogout +dev-cpp/sdbus-c++ diff --git a/gentoo-support/gentoo-installer.sh b/gentoo-support/gentoo-installer.sh index c7456f116..754efb142 100755 --- a/gentoo-support/gentoo-installer.sh +++ b/gentoo-support/gentoo-installer.sh @@ -6,7 +6,15 @@ arch=$(portageq envvar ACCEPT_KEYWORDS) print_message () { message=$1 - echo -e "\033[34m$message\033[0m" + color=$2 + if [[ ${color} = "r" ]]; then + echo -e "\033[31m$message\033[0m" + elif [[ ${color} = "g" ]]; then + echo -e "\033[32m$message\033[0m" + else + echo -e "\033[34m$message\033[0m" + fi + color="b" } get_input () { input_message=$1 @@ -37,11 +45,11 @@ exec_cmd () { get_input "$message" case "$bool_answer" in 0 ) - echo -e "\033[32m+\033[2m $cmd\033[0m" + print_message "+ ${cmd}" "g" [ ! -z "$cmd" ] && eval "$cmd" ;; 1 ) - echo -e "\033[32m-\033[2m $cmd\033[0m" + print_message "- ${cmd}" "r" [ "$terminate" == "y" ] && exit 1 ;; * ) @@ -51,19 +59,27 @@ exec_cmd () { cmd="" } -print_message "IF YOU WANT TO USE THE LATESt HYPRlAND VERSION YOU MUSt UNMASK it, CHANGE GCC VERSIONS TO A COMPATIBLE ONE, THEN EMERGE @world IF YOU YOUR CURRENT GCC WASN'T THE SAME." +print_message "If you want to use the latest Hyprland version, you must unmask it first, the script does not do this. Change GCC version to a compatible one and then emerge @world." echo "" print_message "ARCHITECTURE DETECTED IS \033[32m$arch\033[0m" -exec_cmd "sudo emerge --sync" "Sync portage" -exec_cmd "sudo emerge --ask --verbose --update --deep --newuse @world" "Update @world" -exec_cmd "sudo eselect repository create localrepo || true" "Create local repository" -exec_cmd "sudo eselect repository enable localrepo || true" "Enable local repository" +exec_cmd "sudo eselect repository create localrepo || true" "Create local repository (ignore errors)" +exec_cmd "sudo eselect repository enable localrepo || true" "Enable local repository (ignore errors)" + exec_cmd "sudo mkdir -p /var/db/repos/localrepo/app-misc/end4 || true" "Create directory for the eBuild" exec_cmd "sudo cp end4-1.0.ebuild /var/db/repos/localrepo/app-misc/end4" "Import the eBuild" exec_cmd "sudo ebuild /var/db/repos/localrepo/app-misc/end4/${ebuild_name} digest" "Digest the eBuild" -exec_cmd "sudo cp end4-recommended-use-flags /etc/portage/package.use/end4" "Use recommended use flags" - + +exec_cmd "sudo cp end4-unmasks /etc/portage/package.accept_keywords/end4 && sudo sed -i 's/$/ ~${arch}/' /etc/portage/package.accept_keywords/end4" "Import basic unmasks" + +exec_cmd "sudo cp end4-recommended-use-flags /etc/portage/package.use/end4" "Import recommended use flags" + +exec_cmd "sudo emerge --sync" "Sync portage" +exec_cmd "sudo emerge --ask --verbose --update --deep --newuse @world" "Update @world" +exec_cmd "sudo emerge --depclean" "Clean dependencies" + +exec_cmd "sudo emerge -q app-misc/end4" "Emerge end4 dot-files" +exec_cmd "cp -r ../.config/* ~/.config" "Copy config files over" From cd622e9f81af78afc9849a13586cdb09f56fc562 Mon Sep 17 00:00:00 2001 From: jwihardi Date: Thu, 2 Oct 2025 22:43:39 -0400 Subject: [PATCH 06/15] added gentoo install --- .../illogical-impulse-audio-1.0.ebuild | 21 ++ .../illogical-impulse-backlight-1.0.ebuild | 19 ++ .../illogical-impulse-basic-1.0.ebuild | 28 +++ ...lse-bibata-modern-classic-bin-2.0.6.ebuild | 24 ++ .../illogical-impulse-fonts-themes-1.0.ebuild | 94 ++++++++ .../illogical-impulse-hyprland-1.0.ebuild | 29 +++ .../illogical-impulse-kde-1.0.ebuild | 23 ++ .../illogical-impulse-microtex-git-1.0.ebuild | 56 +++++ ...ogical-impulse-oneui4-icons-git-1.0.ebuild | 26 +++ .../illogical-impulse-portal-1.0.ebuild | 20 ++ .../illogical-impulse-python-1.1.ebuild | 25 +++ ...illogical-impulse-screencapture-1.0.ebuild | 21 ++ .../illogical-impulse-toolkit-1.0.ebuild | 34 +++ .../illogical-impulse-widgets-1.0.ebuild | 21 ++ dist-gentoo/install-deps.sh | 45 ++++ dist-gentoo/install-setups.sh | 33 +++ dist-gentoo/keywords | 28 +++ dist-gentoo/keywords-user | 28 +++ dist-gentoo/outdate-detect-mode | 1 + .../useflags | 3 +- gentoo-support/end4-1.0.ebuild | 206 ------------------ gentoo-support/end4-unmasks | 14 -- gentoo-support/gentoo-installer.sh | 86 -------- 23 files changed, 578 insertions(+), 307 deletions(-) create mode 100644 dist-gentoo/illogical-impulse-audio/illogical-impulse-audio-1.0.ebuild create mode 100644 dist-gentoo/illogical-impulse-backlight/illogical-impulse-backlight-1.0.ebuild create mode 100644 dist-gentoo/illogical-impulse-basic/illogical-impulse-basic-1.0.ebuild create mode 100644 dist-gentoo/illogical-impulse-bibata-modern-classic-bin/illogical-impulse-bibata-modern-classic-bin-2.0.6.ebuild create mode 100644 dist-gentoo/illogical-impulse-fonts-themes/illogical-impulse-fonts-themes-1.0.ebuild create mode 100644 dist-gentoo/illogical-impulse-hyprland/illogical-impulse-hyprland-1.0.ebuild create mode 100644 dist-gentoo/illogical-impulse-kde/illogical-impulse-kde-1.0.ebuild create mode 100644 dist-gentoo/illogical-impulse-microtex-git/illogical-impulse-microtex-git-1.0.ebuild create mode 100644 dist-gentoo/illogical-impulse-oneui4-icons-git/illogical-impulse-oneui4-icons-git-1.0.ebuild create mode 100644 dist-gentoo/illogical-impulse-portal/illogical-impulse-portal-1.0.ebuild create mode 100644 dist-gentoo/illogical-impulse-python/illogical-impulse-python-1.1.ebuild create mode 100644 dist-gentoo/illogical-impulse-screencapture/illogical-impulse-screencapture-1.0.ebuild create mode 100644 dist-gentoo/illogical-impulse-toolkit/illogical-impulse-toolkit-1.0.ebuild create mode 100644 dist-gentoo/illogical-impulse-widgets/illogical-impulse-widgets-1.0.ebuild create mode 100644 dist-gentoo/install-deps.sh create mode 100644 dist-gentoo/install-setups.sh create mode 100644 dist-gentoo/keywords create mode 100644 dist-gentoo/keywords-user create mode 100644 dist-gentoo/outdate-detect-mode rename gentoo-support/end4-recommended-use-flags => dist-gentoo/useflags (98%) delete mode 100644 gentoo-support/end4-1.0.ebuild delete mode 100644 gentoo-support/end4-unmasks delete mode 100755 gentoo-support/gentoo-installer.sh diff --git a/dist-gentoo/illogical-impulse-audio/illogical-impulse-audio-1.0.ebuild b/dist-gentoo/illogical-impulse-audio/illogical-impulse-audio-1.0.ebuild new file mode 100644 index 000000000..f36834a4d --- /dev/null +++ b/dist-gentoo/illogical-impulse-audio/illogical-impulse-audio-1.0.ebuild @@ -0,0 +1,21 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Illogical Impulse Audio Dependencies" +HOMEPAGE="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="strip" + +DEPEND="" +RDEPEND=" + media-sound/cava + media-sound/pavucontrol-qt + media-video/wireplumber + dev-libs/libdbusmenu[gtk3] + media-sound/playerctl +" diff --git a/dist-gentoo/illogical-impulse-backlight/illogical-impulse-backlight-1.0.ebuild b/dist-gentoo/illogical-impulse-backlight/illogical-impulse-backlight-1.0.ebuild new file mode 100644 index 000000000..0b7243111 --- /dev/null +++ b/dist-gentoo/illogical-impulse-backlight/illogical-impulse-backlight-1.0.ebuild @@ -0,0 +1,19 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Illogical Impulse Backlight Dependencies" +HOMEPAGE="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="strip" + +DEPEND="" +RDEPEND=" + app-misc/geoclue + app-misc/brightnessctl + app-misc/ddcutil +" diff --git a/dist-gentoo/illogical-impulse-basic/illogical-impulse-basic-1.0.ebuild b/dist-gentoo/illogical-impulse-basic/illogical-impulse-basic-1.0.ebuild new file mode 100644 index 000000000..535e80725 --- /dev/null +++ b/dist-gentoo/illogical-impulse-basic/illogical-impulse-basic-1.0.ebuild @@ -0,0 +1,28 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Illogical Impulse Basic Dependencies" +HOMEPAGE="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="strip" + +DEPEND="" +RDEPEND=" + net-misc/axel + sys-devel/bc + sys-apps/coreutils + app-misc/cliphist + dev-build/cmake + net-misc/curl + net-misc/rsync + net-misc/wget + sys-apps/ripgrep + dev-python/jq + dev-build/meson + x11-misc/xdg-user-dirs +" diff --git a/dist-gentoo/illogical-impulse-bibata-modern-classic-bin/illogical-impulse-bibata-modern-classic-bin-2.0.6.ebuild b/dist-gentoo/illogical-impulse-bibata-modern-classic-bin/illogical-impulse-bibata-modern-classic-bin-2.0.6.ebuild new file mode 100644 index 000000000..e2a70d6d2 --- /dev/null +++ b/dist-gentoo/illogical-impulse-bibata-modern-classic-bin/illogical-impulse-bibata-modern-classic-bin-2.0.6.ebuild @@ -0,0 +1,24 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +Bibata_VER=2.0.6 + +DESCRIPTION="Material Based Cursor Theme, installed for illogical-impulse dotfiles" +HOMEPAGE="" +SRC_URI="https://github.com/ful1e5/Bibata_Cursor/releases/download/v${Bibata_VER}/Bibata-Modern-Classic.tar.xz -> bibata-modern-classic.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="strip" + +DEPEND="" +RDEPEND="" + +S="${WORKDIR}/Bibata-Modern-Classic" + +src_install() { + insinto /usr/share/icons + doins -r "${S}" +} diff --git a/dist-gentoo/illogical-impulse-fonts-themes/illogical-impulse-fonts-themes-1.0.ebuild b/dist-gentoo/illogical-impulse-fonts-themes/illogical-impulse-fonts-themes-1.0.ebuild new file mode 100644 index 000000000..1588b92f3 --- /dev/null +++ b/dist-gentoo/illogical-impulse-fonts-themes/illogical-impulse-fonts-themes-1.0.ebuild @@ -0,0 +1,94 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +DART_SASS_VER=1.78.0 + +DESCRIPTION="Illogical Impulse Fonts and Theming Dependencies" +HOMEPAGE="" +SRC_URI=" +https://github.com/Bali10050/Darkly/archive/refs/heads/main.tar.gz -> ${P}-darkly.tar.gz +https://github.com/naipefoundry/gabarito/archive/refs/heads/main.tar.gz -> ${P}-gabarito.tar.gz +https://github.com/luisbocanegra/kde-material-you-colors/archive/refs/heads/main.tar.gz -> ${P}-kde-material-you-colors.tar.gz +https://github.com/googlefonts/rubik/archive/refs/heads/main.tar.gz -> ${P}-rubik.tar.gz +https://github.com/ThomasJockin/readexpro/archive/refs/heads/master.tar.gz -> ${P}-readexpro.tar.gz +https://github.com/google/material-design-icons/archive/refs/heads/main.tar.gz -> ${P}-material-design-icons.tar.gz +https://github.com/mjkim0727/breeze-plus/archive/refs/heads/main.tar.gz -> ${P}-breeze-plus.tar.gz +https://github.com/lassekongo83/adw-gtk3/archive/refs/heads/main.tar.gz -> ${P}-adw-gtk3.tar.gz +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="strip" + +DEPEND="" +RDEPEND=" + kde-plasma/breeze + sys-apps/eza + app-shells/fish + media-libs/fontconfig + x11-terms/kitty + x11-misc/matugen + app-shells/starship + media-fonts/jetbrains-mono + media-fonts/twemoji +" + +# Source directories +S="${WORKDIR}" +S_DARKLY="${S}/Darkly-main" +S_GABARITO="${S}/gabarito-main" +S_KDE_MATERIAL_YOU_COLORS="${S}/kde-material-you-colors-main" +S_RUBIK="${S}/rubik-main" +S_READEXPRO="${S}/readexpro-master" +S_MATERIAL_DESIGN_ICONS="${S}/material-design-icons-main" +S_ADW_GTK3="${S}/adw-gtk3-main" +S_BREEZE_PLUS="${S}/breeze-plus-main" + +src_unpack() { + default + + mv "${WORKDIR}/dart-sass-${DART_SASS_VER}-linux-x64" "${S_DART_SASS}" +} + +src_compile() { + cd "${S_DARKLY}" + mkdir -p build + cd build + cmake .. -DBUILD_QT5=OFF -DBUILD_QT6=ON + cmake --build . --parallel=$(nproc) + + cd "${S_ADW_GTK3}" + meson setup build + meson compile -C build +} + +src_install() { + cd "${S_DARKLY}/build" + cmake --install . --destdir="${D}" + + insinto /usr/share/fonts/ttf-gabarito + doins "${S_GABARITO}"/fonts/ttf/*.ttf + + cd "${S_KDE_MATERIAL_YOU_COLORS}" + mkdir -p build + cd build + cmake .. + cmake --build . --parallel=$(nproc) + cmake --install . --destdir="${D}" + + insinto /usr/share/fonts/ttf-readex-pro + doins "${S_READEXPRO}"/fonts/ttf/*.ttf + + insinto /usr/share/fonts/ttf-material-design-icons + doins "${S_MATERIAL_DESIGN_ICONS}"/font/*.ttf + + insinto /usr/share/themes + doins -r "${S_BREEZE_PLUS}"/src/breeze-plus* + + cd "${S_ADW_GTK3}" + meson install -C build --destdir="${D}" + + fc-cache -f +} diff --git a/dist-gentoo/illogical-impulse-hyprland/illogical-impulse-hyprland-1.0.ebuild b/dist-gentoo/illogical-impulse-hyprland/illogical-impulse-hyprland-1.0.ebuild new file mode 100644 index 000000000..bf1ec5dc0 --- /dev/null +++ b/dist-gentoo/illogical-impulse-hyprland/illogical-impulse-hyprland-1.0.ebuild @@ -0,0 +1,29 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Illogical Impulse Hyprland related packages" +HOMEPAGE="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="strip" + +DEPEND="" +RDEPEND=" + gui-apps/hypridle + gui-libs/hyprcursor + gui-wm/hyprland + gui-libs/hyprland-qtutils + gui-libs/hyprland-qt-support + dev-libs/hyprlang + gui-apps/hyprlock + gui-apps/hyprpicker + gui-apps/hyprsunset + gui-libs/hyprutils + dev-util/hyprwayland-scanner + gui-libs/xdg-desktop-portal-hyprland + gui-apps/wl-clipboard +" diff --git a/dist-gentoo/illogical-impulse-kde/illogical-impulse-kde-1.0.ebuild b/dist-gentoo/illogical-impulse-kde/illogical-impulse-kde-1.0.ebuild new file mode 100644 index 000000000..a4c0af992 --- /dev/null +++ b/dist-gentoo/illogical-impulse-kde/illogical-impulse-kde-1.0.ebuild @@ -0,0 +1,23 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Illogical Impulse KDE Dependencies" +HOMEPAGE="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="strip" + +DEPEND="" +RDEPEND=" + kde-plasma/bluedevil + gnome-base/gnome-keyring + net-misc/networkmanager + kde-plasma/plasma-nm + kde-plasma/polkit-kde-agent + kde-apps/dolphin + kde-plasma/systemsettings +" diff --git a/dist-gentoo/illogical-impulse-microtex-git/illogical-impulse-microtex-git-1.0.ebuild b/dist-gentoo/illogical-impulse-microtex-git/illogical-impulse-microtex-git-1.0.ebuild new file mode 100644 index 000000000..7a8aafdde --- /dev/null +++ b/dist-gentoo/illogical-impulse-microtex-git/illogical-impulse-microtex-git-1.0.ebuild @@ -0,0 +1,56 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +MICROTEX_VER="0e3707f" + +DESCRIPTION="MicroTeX for illogical-impulse dotfiles" +HOMEPAGE="https://github.com/NanoMichael/MicroTeX" +SRC_URI="https://github.com/NanoMichael/MicroTeX/archive/${MICROTEX_VER}.tar.gz -> MicroTeX-${MICROTEX_VER}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="strip" + +DEPEND="" +RDEPEND=" + dev-libs/tinyxml2 + dev-cpp/gtkmm + dev-cpp/gtksourceviewmm + dev-cpp/cairomm +" + +# Use WORKDIR directly after stripping top-level folder +S="${WORKDIR}" + +src_unpack() { + # If I don't strip it it has an insane hash + tar xvf "${DISTDIR}/MicroTeX-${MICROTEX_VER}.tar.gz" --strip-components=1 -C "${WORKDIR}" +} + +src_prepare() { + default + cd "${S}" || die + # Gentoo doesn't have gtksourceviewmm4 even on testing so I just left it on 3 + # sed -i 's/gtksourceviewmm-3.0/gtksourceviewmm-4.0/' CMakeLists.txt + sed -i 's/tinyxml2.so.10/tinyxml2.so.11/' CMakeLists.txt +} + +src_compile() { + cd "${S}" || die + mkdir -p build + cmake -B build -S . -DCMAKE_BUILD_TYPE=None + cmake --build build +} + +src_install() { + cd "${S}" || die + insinto /opt/illogical-impulse-microtex-git + doins -r build/LaTeX + doins -r build/res + + insinto /usr/share/licenses/illogical-impulse-microtex-git + doins LICENSE +} + diff --git a/dist-gentoo/illogical-impulse-oneui4-icons-git/illogical-impulse-oneui4-icons-git-1.0.ebuild b/dist-gentoo/illogical-impulse-oneui4-icons-git/illogical-impulse-oneui4-icons-git-1.0.ebuild new file mode 100644 index 000000000..563b450b1 --- /dev/null +++ b/dist-gentoo/illogical-impulse-oneui4-icons-git/illogical-impulse-oneui4-icons-git-1.0.ebuild @@ -0,0 +1,26 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A fork of mjkim0727/OneUI4-Icons for illogical-impulse dotfiles" +HOMEPAGE="" +SRC_URI="https://github.com/end-4/OneUI4-Icons/archive/main.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="strip" + +DEPEND="" +RDEPEND="" + +S="${WORKDIR}/OneUI4-Icons-main" + +src_install() { + insinto /usr/share/icons + + for theme in "OneUI" "OneUI-dark" "OneUI-light"; do + doins -r ${S}/${theme} + done +} diff --git a/dist-gentoo/illogical-impulse-portal/illogical-impulse-portal-1.0.ebuild b/dist-gentoo/illogical-impulse-portal/illogical-impulse-portal-1.0.ebuild new file mode 100644 index 000000000..e93a2fa2b --- /dev/null +++ b/dist-gentoo/illogical-impulse-portal/illogical-impulse-portal-1.0.ebuild @@ -0,0 +1,20 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Illogical Impulse XDG Desktop Portals" +HOMEPAGE="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="strip" + +DEPEND="" +RDEPEND=" + sys-apps/xdg-desktop-portal + kde-plasma/xdg-desktop-portal-kde + sys-apps/xdg-desktop-portal-gtk + gui-libs/xdg-desktop-portal-hyprland +" diff --git a/dist-gentoo/illogical-impulse-python/illogical-impulse-python-1.1.ebuild b/dist-gentoo/illogical-impulse-python/illogical-impulse-python-1.1.ebuild new file mode 100644 index 000000000..872b6da89 --- /dev/null +++ b/dist-gentoo/illogical-impulse-python/illogical-impulse-python-1.1.ebuild @@ -0,0 +1,25 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Illogical Impulse Python Dependencies" +HOMEPAGE="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="strip" + +# SASSC is not needed here, pkgbuild is capping +DEPEND="" +RDEPEND=" + dev-python/clang + dev-python/uv + gui-libs/gtk + gui-libs/libadwaita + net-libs/libsoup + dev-libs/libportal + dev-libs/gobject-introspection + media-libs/opencv +" diff --git a/dist-gentoo/illogical-impulse-screencapture/illogical-impulse-screencapture-1.0.ebuild b/dist-gentoo/illogical-impulse-screencapture/illogical-impulse-screencapture-1.0.ebuild new file mode 100644 index 000000000..1630b6689 --- /dev/null +++ b/dist-gentoo/illogical-impulse-screencapture/illogical-impulse-screencapture-1.0.ebuild @@ -0,0 +1,21 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Illogical Impulse Screenshot and Recording Dependencies" +HOMEPAGE="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="strip" + +DEPEND="" +RDEPEND=" + gui-apps/hyprshot + gui-apps/slurp + gui-apps/swappy + app-text/tesseract + gui-apps/wf-recorder +" diff --git a/dist-gentoo/illogical-impulse-toolkit/illogical-impulse-toolkit-1.0.ebuild b/dist-gentoo/illogical-impulse-toolkit/illogical-impulse-toolkit-1.0.ebuild new file mode 100644 index 000000000..b7e8868c6 --- /dev/null +++ b/dist-gentoo/illogical-impulse-toolkit/illogical-impulse-toolkit-1.0.ebuild @@ -0,0 +1,34 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Illogical Impulse GTK/Qt Dependencies" +HOMEPAGE="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="strip" + +DEPEND="" +RDEPEND=" + kde-apps/kdialog + dev-qt/qt5compat + dev-qt/qtbase + dev-qt/qtdeclarative + dev-qt/qtimageformats + dev-qt/qtmultimedia + dev-qt/qtpositioning + dev-qt/qtquicktimeline + dev-qt/qtsensors + dev-qt/qtsvg + dev-qt/qttools + dev-qt/qttranslations + dev-qt/qtvirtualkeyboard + dev-qt/qtwayland + kde-frameworks/syntax-highlighting + sys-power/upower + gui-apps/wtype + x11-misc/ydotool +" diff --git a/dist-gentoo/illogical-impulse-widgets/illogical-impulse-widgets-1.0.ebuild b/dist-gentoo/illogical-impulse-widgets/illogical-impulse-widgets-1.0.ebuild new file mode 100644 index 000000000..c7b546b38 --- /dev/null +++ b/dist-gentoo/illogical-impulse-widgets/illogical-impulse-widgets-1.0.ebuild @@ -0,0 +1,21 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Illogicall Impulse Widget Dependencies" +HOMEPAGE="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT="strip" + +DEPEND="" +RDEPEND=" + gui-apps/fuzzel + dev-libs/glib + gui-apps/quickshell + app-i18n/translate-shell + gui-apps/wlogout +" diff --git a/dist-gentoo/install-deps.sh b/dist-gentoo/install-deps.sh new file mode 100644 index 000000000..2b043bd07 --- /dev/null +++ b/dist-gentoo/install-deps.sh @@ -0,0 +1,45 @@ +if [[ -z $(eselect repository list | grep localrepo) ]]; then + v sudo eselect repository create localrepo + v sudo eselect repository enable localrepo +fi + +if [[ -z $(eselect repository list | grep guru) ]]; then + v sudo eselect repository enable guru +fi + +arch=$(portageq envvar ACCEPT_KEYWORDS) + +metapkgs=(illogical-impulse-{audio,backlight,basic,bibata-modern-classic-bin,fonts-themes,hyprland,kde,microtex-git,oneui4-icons-git,portal,python,screencapture,toolkit,widgets}) + +ebuild_dir="/var/db/repos/localrepo/app-misc" + +# Unmasks +x cp ./dist-gentoo/keywords ./dist-gentoo/keywords-user +x sed -i "s/$/ ~${arch}/" ./dist-gentoo/keywords-user +v sudo cp ./dist-gentoo/keywords-user /etc/portage/package.accept_keywords/end4 + +# Use Flags +v sudo cp ./dist-gentoo/useflags /etc/portage/package.use/end4 + +# Update system +#v sudo emerge --sync +#v sudo emerge --ask --verbose --newuse --update --deep @world +#v sudo emerge --depclean + +# Remove old ebuilds (if this isn't done the wildcard will fuck upon a version change) +x sudo rm -r ${ebuild_dir}/illogical-impulse-* + +# Install dependencies +to_install="" +for i in "${metapkgs[@]}"; do + x sudo mkdir -p ${ebuild_dir}/${i} + v sudo cp ./dist-gentoo/${i}/${i}*.ebuild ${ebuild_dir}/${i}/ + v sudo ebuild ${ebuild_dir}/${i}/*.ebuild digest + to_install+="app-misc/${i} " +done + +# Easier to debug when it's all installed at once +#v sudo emerge --quiet ${to_install} + + + diff --git a/dist-gentoo/install-setups.sh b/dist-gentoo/install-setups.sh new file mode 100644 index 000000000..b7077d587 --- /dev/null +++ b/dist-gentoo/install-setups.sh @@ -0,0 +1,33 @@ +# This script is meant to be sourced. +# It's not for directly running. + +##################################################################################### +# These python packages are installed using uv into the venv (virtual environment). Once the folder of the venv gets deleted, they are all gone cleanly. So it's considered as setups, not dependencies. +showfun install-python-packages +v install-python-packages + +v getent group i2c || sudo groupadd i2c +v sudo usermod -aG video,i2c,input "$(whoami)" + +if [[ ! -z $(systemctl --version) ]]; then + v bash -c "echo i2c-dev | sudo tee /etc/modules-load.d/i2c-dev.conf" + v systemctl --user enable ydotool --now + v sudo systemctl enable bluetooth --now +elif [[ ! -z $(openrc --version) ]]; then + v bash -c "echo 'modules=i2c-dev' | sudo tee -a /etc/conf.d/modules" + v sudo rc-update add modules boot + v sudo rc-update add ydotool default + v sudo rc-update add bluetooth default + + x sudo rc-service ydotool start + x sudo rc-service bluetooth start +else + echo "test" +fi + +v sudo chown $(whoami):$(whoami) ~/.local/share/icons +v sudo chown $(whoami):$(whoami) ~/.local/share/konsole + +v gsettings set org.gnome.desktop.interface font-name 'Rubik 11' +v gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' +v kwriteconfig6 --file kdeglobals --group KDE --key widgetStyle Darkly diff --git a/dist-gentoo/keywords b/dist-gentoo/keywords new file mode 100644 index 000000000..84c1fe0f7 --- /dev/null +++ b/dist-gentoo/keywords @@ -0,0 +1,28 @@ +app-misc/illogical-impulse-audio +app-misc/illogical-impulse-backlight +app-misc/illogical-impulse-basic +app-misc/illogical-impulse-bibata-modern-classic-bin +app-misc/illogical-impulse-fonts-themes +app-misc/illogical-impulse-hyprland +app-misc/illogical-impulse-kde +app-misc/illogical-impulse-microtex-git +app-misc/illogical-impulse-oneui4-icons-git +app-misc/illogical-impulse-portal +app-misc/illogical-impulse-python +app-misc/illogical-impulse-screencapture +app-misc/illogical-impulse-toolkit +app-misc/illogical-impulse-widgets +x11-misc/matugen +media-fonts/twemoji +gui-apps/hypridle +gui-apps/hyprlock +gui-apps/hyprpicker +gui-apps/hyprsunset +gui-libs/xdg-desktop-portal-hyprland +gui-apps/hyprshot +gui-apps/wf-recorder +gui-apps/wtype +gui-apps/fuzzel +gui-apps/quickshell +gui-apps/wlogout +dev-cpp/sdbus-c++ diff --git a/dist-gentoo/keywords-user b/dist-gentoo/keywords-user new file mode 100644 index 000000000..501f81a56 --- /dev/null +++ b/dist-gentoo/keywords-user @@ -0,0 +1,28 @@ +app-misc/illogical-impulse-audio ~amd64 +app-misc/illogical-impulse-backlight ~amd64 +app-misc/illogical-impulse-basic ~amd64 +app-misc/illogical-impulse-bibata-modern-classic-bin ~amd64 +app-misc/illogical-impulse-fonts-themes ~amd64 +app-misc/illogical-impulse-hyprland ~amd64 +app-misc/illogical-impulse-kde ~amd64 +app-misc/illogical-impulse-microtex-git ~amd64 +app-misc/illogical-impulse-oneui4-icons-git ~amd64 +app-misc/illogical-impulse-portal ~amd64 +app-misc/illogical-impulse-python ~amd64 +app-misc/illogical-impulse-screencapture ~amd64 +app-misc/illogical-impulse-toolkit ~amd64 +app-misc/illogical-impulse-widgets ~amd64 +x11-misc/matugen ~amd64 +media-fonts/twemoji ~amd64 +gui-apps/hypridle ~amd64 +gui-apps/hyprlock ~amd64 +gui-apps/hyprpicker ~amd64 +gui-apps/hyprsunset ~amd64 +gui-libs/xdg-desktop-portal-hyprland ~amd64 +gui-apps/hyprshot ~amd64 +gui-apps/wf-recorder ~amd64 +gui-apps/wtype ~amd64 +gui-apps/fuzzel ~amd64 +gui-apps/quickshell ~amd64 +gui-apps/wlogout ~amd64 +dev-cpp/sdbus-c++ ~amd64 diff --git a/dist-gentoo/outdate-detect-mode b/dist-gentoo/outdate-detect-mode new file mode 100644 index 000000000..0fd754152 --- /dev/null +++ b/dist-gentoo/outdate-detect-mode @@ -0,0 +1 @@ +AUTO diff --git a/gentoo-support/end4-recommended-use-flags b/dist-gentoo/useflags similarity index 98% rename from gentoo-support/end4-recommended-use-flags rename to dist-gentoo/useflags index ed3ba7815..3117c84fe 100644 --- a/gentoo-support/end4-recommended-use-flags +++ b/dist-gentoo/useflags @@ -36,7 +36,6 @@ media-fonts/jetbrains-mono X media-fonts/twemoji X # The rest are handled in the ebuild - ################### HYPRLAND ################### #gui-apps/hypridle (no use flags) #gui-libs/hyprcursor (no use flags) @@ -71,6 +70,8 @@ sys-apps/xdg-desktop-portal-gtk X wayland #dev-python/clang (nothing needed) #dev-python/uv (nothing needed) gui-libs/gtk X introspection wayland +gui-libs/libadwaita introspection +net-libs/libsoup brotli introspection ssl #dev-libs/gobject-introspection (nothing needed) # dart-sassc handled in the ebuild media-libs/opencv eigen ffmpeg jpeg opencl opengl python wayland gtk3 webp diff --git a/gentoo-support/end4-1.0.ebuild b/gentoo-support/end4-1.0.ebuild deleted file mode 100644 index 7f1fed1f0..000000000 --- a/gentoo-support/end4-1.0.ebuild +++ /dev/null @@ -1,206 +0,0 @@ -# Copyright 2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -Bibata_VER=2.0.6 -DART_SASS_VER=1.78.0 - -DESCRIPTION="For End-4 dot-files with icons, themes, fonts, adw-gtk3, and Dart Sass" -HOMEPAGE="" -SRC_URI=" -https://github.com/end-4/OneUI4-Icons/archive/main.tar.gz -> ${P}.tar.gz -https://github.com/ful1e5/Bibata_Cursor/releases/download/v${Bibata_VER}/Bibata-Modern-Classic.tar.xz -> bibata-modern-classic.tar.xz -https://github.com/Bali10050/Darkly/archive/refs/heads/main.tar.gz -> ${P}-darkly.tar.gz -https://github.com/naipefoundry/gabarito/archive/refs/heads/main.tar.gz -> ${P}-gabarito.tar.gz -https://github.com/luisbocanegra/kde-material-you-colors/archive/refs/heads/main.tar.gz -> ${P}-kde-material-you-colors.tar.gz -https://github.com/googlefonts/rubik/archive/refs/heads/main.tar.gz -> ${P}-rubik.tar.gz -https://github.com/ThomasJockin/readexpro/archive/refs/heads/master.tar.gz -> ${P}-readexpro.tar.gz -https://github.com/google/material-design-icons/archive/refs/heads/main.tar.gz -> ${P}-material-design-icons.tar.gz -https://github.com/mjkim0727/breeze-plus/archive/refs/heads/main.tar.gz -> ${P}-breeze-plus.tar.gz -https://github.com/lassekongo83/adw-gtk3/archive/refs/heads/main.tar.gz -> ${P}-adw-gtk3.tar.gz -https://github.com/sass/dart-sass/releases/download/${DART_SASS_VER}/dart-sass-${DART_SASS_VER}-linux-x64.tar.gz -> dart-sass.tar.gz -" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64" -RESTRICT="strip" - - -DEPEND="" -RDEPEND=" - media-sound/cava - media-sound/pavucontrol-qt - media-video/wireplumber - dev-libs/libdbusmenu[gtk3] - media-sound/playerctl - - app-misc/geoclue - app-misc/brightnessctl - app-misc/ddcutil - - net-misc/axel - sys-devel/bc - sys-apps/coreutils - app-misc/cliphist - dev-build/cmake - net-misc/curl - net-misc/rsync - net-misc/wget - sys-apps/ripgrep - dev-python/jq - dev-build/meson - x11-misc/xdg-user-dirs - - kde-plasma/breeze - sys-apps/eza - app-shells/fish - media-libs/fontconfig - x11-terms/kitty - x11-misc/matugen - app-shells/starship - media-fonts/jetbrains-mono - media-fonts/twemoji - - gui-apps/hypridle - gui-libs/hyprcursor - gui-wm/hyprland - gui-libs/hyprland-qtutils - gui-libs/hyprland-qt-support - dev-libs/hyprlang - gui-apps/hyprlock - gui-apps/hyprpicker - gui-apps/hyprsunset - gui-libs/hyprutils - dev-util/hyprwayland-scanner - gui-apps/wl-clipboard - - kde-plasma/bluedevil - gnome-base/gnome-keyring - net-misc/networkmanager - kde-plasma/plasma-nm - kde-plasma/polkit-kde-agent - kde-apps/dolphin - kde-plasma/systemsettings - - sys-apps/xdg-desktop-portal - kde-plasma/xdg-desktop-portal-kde - sys-apps/xdg-desktop-portal-gtk - gui-libs/xdg-desktop-portal-hyprland - - dev-python/clang - dev-python/uv - gui-libs/gtk - dev-libs/gobject-introspection - media-libs/opencv - - gui-apps/hyprshot - gui-apps/slurp - gui-apps/swappy - app-text/tesseract - gui-apps/wf-recorder - - kde-apps/kdialog - dev-qt/qt5compat - dev-qt/qtbase - dev-qt/qtdeclarative - dev-qt/qtimageformats - dev-qt/qtmultimedia - dev-qt/qtpositioning - dev-qt/qtquicktimeline - dev-qt/qtsensors - dev-qt/qtsvg - dev-qt/qttools - dev-qt/qttranslations - dev-qt/qtvirtualkeyboard - dev-qt/qtwayland - kde-frameworks/syntax-highlighting - sys-power/upower - gui-apps/wtype - x11-misc/ydotool - - gui-apps/fuzzel - dev-libs/glib - gui-apps/quickshell - app-i18n/translate-shell - gui-apps/wlogout -" - -# Source directories -S="${WORKDIR}" -S_BIBATA="${S}/Bibata-Modern-Classic" -S_ONEUI="${S}/OneUI4-Icons-main" -S_DARKLY="${S}/Darkly-main" -S_GABARITO="${S}/gabarito-main" -S_KDE_MATERIAL_YOU_COLORS="${S}/kde-material-you-colors-main" -S_RUBIK="${S}/rubik-main" -S_READEXPRO="${S}/readexpro-master" -S_MATERIAL_DESIGN_ICONS="${S}/material-design-icons-main" -S_ADW_GTK3="${S}/adw-gtk3-main" -S_BREEZE_PLUS="${S}/breeze-plus-main" -S_DART_SASS="${S}/dart-sass" - -src_unpack() { - default - - mv "${WORKDIR}/dart-sass-${DART_SASS_VER}-linux-x64" "${S_DART_SASS}" -} - -src_compile() { - cd "${S_DARKLY}" - mkdir -p build - cd build - cmake .. -DBUILD_QT5=OFF -DBUILD_QT6=ON - cmake --build . --parallel=$(nproc) - - cd "${S_ADW_GTK3}" - meson setup build - meson compile -C build -} - -src_install() { - insinto /usr/libexec/dart-sass - doins -r "${S_DART_SASS}"/* - fperms +x /usr/libexec/dart-sass/sass - fperms +x /usr/libexec/dart-sass/src/dart - - dodir /usr/bin - cat > "${D}/usr/bin/sass" <<-EOF || die -#!/bin/bash -exec /usr/libexec/dart-sass/sass "\$@" -EOF - fperms +x /usr/bin/sass - - insinto /usr/share/icons - doins -r "${S_BIBATA}" - for theme in "OneUI" "OneUI-dark" "OneUI-light"; do - doins -r ${S_ONEUI}/${theme} - done - - cd "${S_DARKLY}/build" - cmake --install . --destdir="${D}" - - insinto /usr/share/fonts/ttf-gabarito - doins "${S_GABARITO}"/fonts/ttf/*.ttf - - cd "${S_KDE_MATERIAL_YOU_COLORS}" - mkdir -p build - cd build - cmake .. - cmake --build . --parallel=$(nproc) - cmake --install . --destdir="${D}" - - insinto /usr/share/fonts/ttf-readex-pro - doins "${S_READEXPRO}"/fonts/ttf/*.ttf - - insinto /usr/share/fonts/ttf-material-design-icons - doins "${S_MATERIAL_DESIGN_ICONS}"/font/*.ttf - - insinto /usr/share/themes - doins -r "${S_BREEZE_PLUS}"/src/breeze-plus* - - cd "${S_ADW_GTK3}" - meson install -C build --destdir="${D}" - - fc-cache -f -} diff --git a/gentoo-support/end4-unmasks b/gentoo-support/end4-unmasks deleted file mode 100644 index 59ec974dd..000000000 --- a/gentoo-support/end4-unmasks +++ /dev/null @@ -1,14 +0,0 @@ -x11-misc/matugen -media-fonts/twemoji -gui-apps/hypridle -gui-apps/hyprlock -gui-apps/hyprpicker -gui-apps/hyprsunset -gui-libs/xdg-desktop-portal-hyprland -gui-apps/hyprshot -gui-apps/wf-recorder -gui-apps/wtype -gui-apps/fuzzel -gui-apps/quickshell -gui-apps/wlogout -dev-cpp/sdbus-c++ diff --git a/gentoo-support/gentoo-installer.sh b/gentoo-support/gentoo-installer.sh deleted file mode 100755 index 754efb142..000000000 --- a/gentoo-support/gentoo-installer.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/bin/bash - -latest_gcc_ver=15 -ebuild_name="end4-1.0.ebuild" -arch=$(portageq envvar ACCEPT_KEYWORDS) - -print_message () { - message=$1 - color=$2 - if [[ ${color} = "r" ]]; then - echo -e "\033[31m$message\033[0m" - elif [[ ${color} = "g" ]]; then - echo -e "\033[32m$message\033[0m" - else - echo -e "\033[34m$message\033[0m" - fi - color="b" -} -get_input () { - input_message=$1 - answer="" - bool_answer=-1 - while true; do - read -p "$(print_message "$input_message ([\033[32mY\033[34m]/\033[31mn\033[0m): ")" answer - case "$answer" in - [Yy]* | "" ) - bool_answer=0 - break - ;; - [Nn]* ) - bool_answer=1 - break - ;; - * ) - echo -e "\033[31mInput not understood ([\033[32mY\033[34m]/\033[31mn\033[0m)\033[0m)" - ;; - esac - done -} - -exec_cmd () { - cmd=$1 - message=$2 - terminate=$3 - get_input "$message" - case "$bool_answer" in - 0 ) - print_message "+ ${cmd}" "g" - [ ! -z "$cmd" ] && eval "$cmd" - ;; - 1 ) - print_message "- ${cmd}" "r" - [ "$terminate" == "y" ] && exit 1 - ;; - * ) - exit 1 - ;; - esac - cmd="" -} - -print_message "If you want to use the latest Hyprland version, you must unmask it first, the script does not do this. Change GCC version to a compatible one and then emerge @world." -echo "" -print_message "ARCHITECTURE DETECTED IS \033[32m$arch\033[0m" - -exec_cmd "sudo eselect repository create localrepo || true" "Create local repository (ignore errors)" -exec_cmd "sudo eselect repository enable localrepo || true" "Enable local repository (ignore errors)" - -exec_cmd "sudo mkdir -p /var/db/repos/localrepo/app-misc/end4 || true" "Create directory for the eBuild" -exec_cmd "sudo cp end4-1.0.ebuild /var/db/repos/localrepo/app-misc/end4" "Import the eBuild" -exec_cmd "sudo ebuild /var/db/repos/localrepo/app-misc/end4/${ebuild_name} digest" "Digest the eBuild" - -exec_cmd "sudo cp end4-unmasks /etc/portage/package.accept_keywords/end4 && sudo sed -i 's/$/ ~${arch}/' /etc/portage/package.accept_keywords/end4" "Import basic unmasks" - -exec_cmd "sudo cp end4-recommended-use-flags /etc/portage/package.use/end4" "Import recommended use flags" - -exec_cmd "sudo emerge --sync" "Sync portage" -exec_cmd "sudo emerge --ask --verbose --update --deep --newuse @world" "Update @world" -exec_cmd "sudo emerge --depclean" "Clean dependencies" - -exec_cmd "sudo emerge -q app-misc/end4" "Emerge end4 dot-files" -exec_cmd "cp -r ../.config/* ~/.config" "Copy config files over" - - - - From 4a31d538c6169500b72adfc5c8f3f1142c9220a2 Mon Sep 17 00:00:00 2001 From: jwihardi Date: Fri, 3 Oct 2025 14:40:51 -0400 Subject: [PATCH 07/15] added liveebuilds --- .../hyprgraphics-9999.ebuild | 28 +++++++ .../hyprland-qt-support-9999.ebuild | 35 ++++++++ .../hyprland-qtutils-9999.ebuild | 26 ++++++ .../hyprlang-9999.ebuild | 25 ++++++ .../hyprwayland-scanner-9999.ebuild | 37 ++++++++ .../illogical-impulse-hyprland-1.0.ebuild | 7 +- dist-gentoo/illogical-impulse-hyprland/things | 9 ++ .../quickshell-9999.ebuild | 84 +++++++++++++++++++ dist-gentoo/install-deps.sh | 47 +++++++---- dist-gentoo/install-setups.sh | 6 +- dist-gentoo/keywords | 12 ++- dist-gentoo/keywords-user | 12 ++- 12 files changed, 308 insertions(+), 20 deletions(-) create mode 100644 dist-gentoo/illogical-impulse-hyprland/hyprgraphics-9999.ebuild create mode 100644 dist-gentoo/illogical-impulse-hyprland/hyprland-qt-support-9999.ebuild create mode 100644 dist-gentoo/illogical-impulse-hyprland/hyprland-qtutils-9999.ebuild create mode 100644 dist-gentoo/illogical-impulse-hyprland/hyprlang-9999.ebuild create mode 100644 dist-gentoo/illogical-impulse-hyprland/hyprwayland-scanner-9999.ebuild create mode 100644 dist-gentoo/illogical-impulse-hyprland/things create mode 100644 dist-gentoo/illogical-impulse-widgets/quickshell-9999.ebuild diff --git a/dist-gentoo/illogical-impulse-hyprland/hyprgraphics-9999.ebuild b/dist-gentoo/illogical-impulse-hyprland/hyprgraphics-9999.ebuild new file mode 100644 index 000000000..95c36237c --- /dev/null +++ b/dist-gentoo/illogical-impulse-hyprland/hyprgraphics-9999.ebuild @@ -0,0 +1,28 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake git-r3 + +DESCRIPTION="Hyprland graphics / resource utilities (live/HEAD)" +HOMEPAGE="https://github.com/hyprwm/hyprgraphics" + +# For live ebuilds, Portage clones the git repo +EGIT_REPO_URI="https://github.com/hyprwm/hyprgraphics.git" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=gui-libs/hyprutils-0.1.1:= + media-libs/libjpeg-turbo:= + media-libs/libjxl:= + media-libs/libspng + media-libs/libwebp:= + sys-apps/file + x11-libs/cairo +" +DEPEND="${RDEPEND}" + diff --git a/dist-gentoo/illogical-impulse-hyprland/hyprland-qt-support-9999.ebuild b/dist-gentoo/illogical-impulse-hyprland/hyprland-qt-support-9999.ebuild new file mode 100644 index 000000000..11b5d1aa2 --- /dev/null +++ b/dist-gentoo/illogical-impulse-hyprland/hyprland-qt-support-9999.ebuild @@ -0,0 +1,35 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake git-r3 + +DESCRIPTION="QML style provider for hypr* Qt apps" +HOMEPAGE="https://github.com/hyprwm/hyprland-qt-support" +EGIT_REPO_URI="https://github.com/hyprwm/hyprland-qt-support.git" + +LICENSE="BSD" + +SLOT="0" +KEYWORDS="amd64" + +RDEPEND=" + dev-qt/qtbase:6 + dev-qt/qtdeclarative:6 + >=dev-libs/hyprlang-0.6.0 +" + +DEPEND="${RDEPEND}" + +BDEPEND=" + virtual/pkgconfig +" + +src_configure() { + local mycmakeargs=( + -DINSTALL_QML_PREFIX="${EPFREIX}/$(get_libdir)/qt6/qml" + ) + + cmake_src_configure +} diff --git a/dist-gentoo/illogical-impulse-hyprland/hyprland-qtutils-9999.ebuild b/dist-gentoo/illogical-impulse-hyprland/hyprland-qtutils-9999.ebuild new file mode 100644 index 000000000..15eaed2ec --- /dev/null +++ b/dist-gentoo/illogical-impulse-hyprland/hyprland-qtutils-9999.ebuild @@ -0,0 +1,26 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake git-r3 + +DESCRIPTION="Hyprland QT/qml utility apps" +HOMEPAGE="https://github.com/hyprwm/hyprland-qtutils" +EGIT_REPO_URI="https://github.com/hyprwm/hyprland-qtutils.git" + +LICENSE="BSD" + +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +RDEPEND=" + dev-qt/qtbase:6 + dev-qt/qtdeclarative:6 + dev-qt/qtwayland:6 + gui-libs/hyprutils:= + gui-libs/hyprland-qt-support + kde-frameworks/qqc2-desktop-style:6 +" + +DEPEND="${RDEPEND}" diff --git a/dist-gentoo/illogical-impulse-hyprland/hyprlang-9999.ebuild b/dist-gentoo/illogical-impulse-hyprland/hyprlang-9999.ebuild new file mode 100644 index 000000000..aa1557128 --- /dev/null +++ b/dist-gentoo/illogical-impulse-hyprland/hyprlang-9999.ebuild @@ -0,0 +1,25 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake toolchain-funcs git-r3 + +DESCRIPTION="Official implementation library for the hypr config language" +HOMEPAGE="https://github.com/hyprwm/hyprlang" +EGIT_REPO_URI="https://github.com/hyprwm/hyprlang.git" + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=">=gui-libs/hyprutils-0.7.1:=" +DEPEND="${RDEPEND}" +BDEPEND="|| ( >=sys-devel/gcc-14:* >=llvm-core/clang-18:* )" + +pkg_setup() { + [[ ${MERGE_TYPE} == binary ]] && return + + tc-check-min_ver gcc 14 + tc-check-min_ver clang 18 +} diff --git a/dist-gentoo/illogical-impulse-hyprland/hyprwayland-scanner-9999.ebuild b/dist-gentoo/illogical-impulse-hyprland/hyprwayland-scanner-9999.ebuild new file mode 100644 index 000000000..1ee36c663 --- /dev/null +++ b/dist-gentoo/illogical-impulse-hyprland/hyprwayland-scanner-9999.ebuild @@ -0,0 +1,37 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake toolchain-funcs + +DESCRIPTION="A Hyprland implementation of wayland-scanner, in and for C++" +HOMEPAGE="https://github.com/hyprwm/hyprwayland-scanner/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/hyprwm/hyprwayland-scanner.git" + inherit git-r3 +else + SRC_URI="https://github.com/hyprwm/hyprwayland-scanner/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz" +fi + +LICENSE="BSD" +KEYWORDS="amd64 arm64 x86" +SLOT="0" + +RDEPEND=">=dev-libs/pugixml-1.14" +DEPEND="${RDEPEND}" + +pkg_setup() { + [[ ${MERGE_TYPE} == binary ]] && return + + if tc-is-gcc && ver_test $(gcc-version) -lt 13 ; then + eerror "Hyprland requires >=sys-devel/gcc-13 to build" + eerror "Please upgrade GCC: emerge -v1 sys-devel/gcc" + die "GCC version is too old to compile Hyprland!" + elif tc-is-clang && ver_test $(clang-version) -lt 16 ; then + eerror "Hyprland requires >=llvm-core/clang-16 to build" + eerror "Please upgrade Clang: emerge -v1 llvm-core/clang" + die "Clang version is too old to compile Hyprland!" + fi +} diff --git a/dist-gentoo/illogical-impulse-hyprland/illogical-impulse-hyprland-1.0.ebuild b/dist-gentoo/illogical-impulse-hyprland/illogical-impulse-hyprland-1.0.ebuild index bf1ec5dc0..e86b04a2d 100644 --- a/dist-gentoo/illogical-impulse-hyprland/illogical-impulse-hyprland-1.0.ebuild +++ b/dist-gentoo/illogical-impulse-hyprland/illogical-impulse-hyprland-1.0.ebuild @@ -8,14 +8,13 @@ HOMEPAGE="" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="amd64 arm64 x86" RESTRICT="strip" DEPEND="" RDEPEND=" gui-apps/hypridle gui-libs/hyprcursor - gui-wm/hyprland gui-libs/hyprland-qtutils gui-libs/hyprland-qt-support dev-libs/hyprlang @@ -23,6 +22,10 @@ RDEPEND=" gui-apps/hyprpicker gui-apps/hyprsunset gui-libs/hyprutils + dev-libs/hyprland-protocols + dev-libs/hyprgraphics + gui-libs/aquamarine + gui-wm/hyprland dev-util/hyprwayland-scanner gui-libs/xdg-desktop-portal-hyprland gui-apps/wl-clipboard diff --git a/dist-gentoo/illogical-impulse-hyprland/things b/dist-gentoo/illogical-impulse-hyprland/things new file mode 100644 index 000000000..e8d811b6b --- /dev/null +++ b/dist-gentoo/illogical-impulse-hyprland/things @@ -0,0 +1,9 @@ +hyprland +hyprgraphics +hyprutils +hyprlang +hyprwayland-scanner +hyprcursor + +hypr-qt-support +hypr-qt-utils diff --git a/dist-gentoo/illogical-impulse-widgets/quickshell-9999.ebuild b/dist-gentoo/illogical-impulse-widgets/quickshell-9999.ebuild new file mode 100644 index 000000000..89a092516 --- /dev/null +++ b/dist-gentoo/illogical-impulse-widgets/quickshell-9999.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Toolkit for building desktop widgets using QtQuick" +HOMEPAGE="https://quickshell.org/" + +if [[ "${PV}" = *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/quickshell-mirror/${PN^}.git" +else + SRC_URI="https://github.com/quickshell-mirror/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +fi + +LICENSE="LGPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +# Upstream recommends leaving all build options enabled by default +IUSE="+breakpad +jemalloc +sockets +wayland +layer-shell +session-lock +toplevel-management +screencopy +X +pipewire +tray +mpris +pam +hyprland +hyprland-global-shortcuts +hyprland-focus-grab +i3 +i3-ipc +bluetooth" + +RDEPEND=" + dev-qt/qtbase:6 + dev-qt/qtsvg:6 + jemalloc? ( dev-libs/jemalloc ) + wayland? ( + dev-libs/wayland + dev-qt/qtwayland:6 + ) + screencopy? ( + x11-libs/libdrm + media-libs/mesa + ) + X? ( x11-libs/libxcb ) + pipewire? ( media-video/pipewire ) + mpris? ( dev-qt/qtdbus ) + pam? ( sys-libs/pam ) + bluetooth? ( net-wireless/bluez ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + || ( >=sys-devel/gcc-14:* >=llvm-core/clang-17:* ) + dev-build/cmake + dev-build/ninja + virtual/pkgconfig + dev-cpp/cli11 + dev-util/spirv-tools + dev-qt/qtshadertools:6 + breakpad? ( dev-util/breakpad ) + wayland? ( + dev-util/wayland-scanner + dev-libs/wayland-protocols + ) +" + +src_configure(){ + mycmakeargs=( + -DCMAKE_BUILD_TYPE=RelWithDebInfo + -DDISTRIBUTOR="Gentoo GURU" + -DINSTALL_QML_PREFIX="lib64/qt6/qml" + -DCRASH_REPORTER=$(usex breakpad ON OFF) + -DUSE_JEMALLOC=$(usex jemalloc ON OFF) + -DSOCKETS=$(usex sockets ON OFF) + -DWAYLAND=$(usex wayland ON OFF) + -DWAYLAND_WLR_LAYERSHELL=$(usex layer-shell ON OFF) + -DWAYLAND_SESSION_LOCK=$(usex session-lock ON OFF) + -DWAYLAND_TOPLEVEL_MANAGEMENT=$(usex toplevel-management ON OFF) + -DSCREENCOPY=$(usex screencopy ON OFF) + -DX11=$(usex X ON OFF) + -DSERVICE_PIPEWIRE=$(usex pipewire ON OFF) + -DSERVICE_STATUS_NOTIFIER=$(usex tray ON OFF) + -DSERVICE_MPRIS=$(usex mpris ON OFF) + -DSERVICE_PAM=$(usex pam ON OFF) + -DHYPRLAND=$(usex hyprland ON OFF) + -DHYPRLAND_GLOBAL_SHORTCUTS=$(usex hyprland-global-shortcuts) + -DHYPRLAND_FOCUS_GRAB=$(usex hyprland-focus-grab) + -DI3=$(usex i3 ON OFF) + -DI3_IPC=$(usex i3-ipc ON OFF) + -DBLUETOOTH=$(usex bluetooth ON OFF) + ) + cmake_src_configure +} diff --git a/dist-gentoo/install-deps.sh b/dist-gentoo/install-deps.sh index 2b043bd07..c08c5809a 100644 --- a/dist-gentoo/install-deps.sh +++ b/dist-gentoo/install-deps.sh @@ -9,9 +9,10 @@ fi arch=$(portageq envvar ACCEPT_KEYWORDS) +# Exclude hyprland, will deal with that separately metapkgs=(illogical-impulse-{audio,backlight,basic,bibata-modern-classic-bin,fonts-themes,hyprland,kde,microtex-git,oneui4-icons-git,portal,python,screencapture,toolkit,widgets}) -ebuild_dir="/var/db/repos/localrepo/app-misc" +ebuild_dir="/var/db/repos/localrepo" # Unmasks x cp ./dist-gentoo/keywords ./dist-gentoo/keywords-user @@ -22,24 +23,42 @@ v sudo cp ./dist-gentoo/keywords-user /etc/portage/package.accept_keywords/end4 v sudo cp ./dist-gentoo/useflags /etc/portage/package.use/end4 # Update system -#v sudo emerge --sync -#v sudo emerge --ask --verbose --newuse --update --deep @world -#v sudo emerge --depclean +v sudo emerge --sync +v sudo emerge --ask --verbose --newuse --update --deep @world +v sudo emerge --depclean # Remove old ebuilds (if this isn't done the wildcard will fuck upon a version change) -x sudo rm -r ${ebuild_dir}/illogical-impulse-* +x sudo rm -fr ${ebuild_dir}/app-misc/illogical-impulse-* + +###### LIVE EBUILDS START +HYPR_DIR="illogical-impulse-hyprland" +x sudo mkdir -p ${ebuild_dir}/dev-libs/hyprgraphics/ +x sudo mkdir -p ${ebuild_dir}/gui-libs/hyprland-qt-support +x sudo mkdir -p ${ebuild_dir}/gui-libs/hyprland-qtutils +x sudo mkdir -p ${ebuild_dir}/dev-libs/hyprlang +x sudo mkdir -p ${ebuild_dir}/dev-libs/hyprlang +x sudo mkdir -p ${ebuild_dir}/dev-util/hyprwayland-scanner + +v sudo cp ./dist-gentoo/${HYPR_DIR}/hyprgraphics*.ebuild ${ebuild_dir}/dev-libs/hyprgraphics +v sudo cp ./dist-gentoo/${HYPR_DIR}/hyprland-qt-support*.ebuild ${ebuild_dir}/gui-libs/hyprland-qt-support +v sudo cp ./dist-gentoo/${HYPR_DIR}/hyprland-qtutils*.ebuild ${ebuild_dir}/gui-libs/hyprland-qtutils +v sudo cp ./dist-gentoo/${HYPR_DIR}/hyprlang*.ebuild ${ebuild_dir}/dev-libs/hyprlang +v sudo cp ./dist-gentoo/${HYPR_DIR}/hyprwayland-scanner*.ebuild ${ebuild_dir}/dev-util/hyprwayland-scanner + +v sudo ebuild ${ebuild_dir}/dev-libs/hyprgraphics/hyprgraphics*9999.ebuild digest +v sudo ebuild ${ebuild_dir}/gui-libs/hyprland-qt-support/hyprland-qt-support*9999.ebuild digest +v sudo ebuild ${ebuild_dir}/gui-libs/hyprland-qtutils/hyprland-qtutils*9999.ebuild digest +v sudo ebuild ${ebuild_dir}/dev-libs/hyprlang/hyprlang*9999.ebuild digest +v sudo ebuild ${ebuild_dir}/dev-util/hyprwayland-scanner/hyprwayland-scanner*9999.ebuild digest +###### LIVE EBUILDS END + # Install dependencies -to_install="" for i in "${metapkgs[@]}"; do - x sudo mkdir -p ${ebuild_dir}/${i} - v sudo cp ./dist-gentoo/${i}/${i}*.ebuild ${ebuild_dir}/${i}/ - v sudo ebuild ${ebuild_dir}/${i}/*.ebuild digest - to_install+="app-misc/${i} " + x sudo mkdir -p ${ebuild_dir}/app-misc/${i} + v sudo cp ./dist-gentoo/${i}/${i}*.ebuild ${ebuild_dir}/app-misc/${i}/ + v sudo ebuild ${ebuild_dir}/app-misc/${i}/*.ebuild digest + v sudo emerge --quiet app-misc/${i} done -# Easier to debug when it's all installed at once -#v sudo emerge --quiet ${to_install} - - diff --git a/dist-gentoo/install-setups.sh b/dist-gentoo/install-setups.sh index b7077d587..d97460ba8 100644 --- a/dist-gentoo/install-setups.sh +++ b/dist-gentoo/install-setups.sh @@ -25,8 +25,10 @@ else echo "test" fi -v sudo chown $(whoami):$(whoami) ~/.local/share/icons -v sudo chown $(whoami):$(whoami) ~/.local/share/konsole +v sudo chown -R $(whoami):$(whoami) ~/.local/share/icons/ +v sudo chown -R $(whoami):$(whoami) ~/.local/share/konsole/ +v sudo chown -R $(whoami):$(whoami) ~/.config/hypr/ +v sudo chown -R $(whoami):$(whoami) ~/.config/quickshell/ v gsettings set org.gnome.desktop.interface font-name 'Rubik 11' v gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' diff --git a/dist-gentoo/keywords b/dist-gentoo/keywords index 84c1fe0f7..7a065f345 100644 --- a/dist-gentoo/keywords +++ b/dist-gentoo/keywords @@ -23,6 +23,16 @@ gui-apps/hyprshot gui-apps/wf-recorder gui-apps/wtype gui-apps/fuzzel -gui-apps/quickshell +gui-apps/quickshell ** gui-apps/wlogout dev-cpp/sdbus-c++ +dev-libs/hyprland-protocols ** +gui-libs/aquamarine ** +gui-libs/hyprutils ** +dev-util/hyprwayland-scanner ** +dev-libs/hyprlang ** +dev-libs/hyprgraphicss ** +gui-libs/hyprcursor ** +gui-libs/hyprland-qt-support ** +gui-libs/hyprland-qtutils ** +gui-wm/hyprland ** diff --git a/dist-gentoo/keywords-user b/dist-gentoo/keywords-user index 501f81a56..d3dfcc2fd 100644 --- a/dist-gentoo/keywords-user +++ b/dist-gentoo/keywords-user @@ -23,6 +23,16 @@ gui-apps/hyprshot ~amd64 gui-apps/wf-recorder ~amd64 gui-apps/wtype ~amd64 gui-apps/fuzzel ~amd64 -gui-apps/quickshell ~amd64 +gui-apps/quickshell ** ~amd64 gui-apps/wlogout ~amd64 dev-cpp/sdbus-c++ ~amd64 +dev-libs/hyprland-protocols ** ~amd64 +gui-libs/aquamarine ** ~amd64 +gui-libs/hyprutils ** ~amd64 +dev-util/hyprwayland-scanner ** ~amd64 +dev-libs/hyprlang ** ~amd64 +dev-libs/hyprgraphicss ** ~amd64 +gui-libs/hyprcursor ** ~amd64 +gui-libs/hyprland-qt-support ** ~amd64 +gui-libs/hyprland-qtutils ** ~amd64 +gui-wm/hyprland ** ~amd64 From db9877beae0039f7bd495e12bf9e1fe8018b5458 Mon Sep 17 00:00:00 2001 From: jwihardi <84292598+jwihardi@users.noreply.github.com> Date: Fri, 3 Oct 2025 16:04:02 -0400 Subject: [PATCH 08/15] Delete dist-gentoo/keywords-user --- dist-gentoo/keywords-user | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 dist-gentoo/keywords-user diff --git a/dist-gentoo/keywords-user b/dist-gentoo/keywords-user deleted file mode 100644 index d3dfcc2fd..000000000 --- a/dist-gentoo/keywords-user +++ /dev/null @@ -1,38 +0,0 @@ -app-misc/illogical-impulse-audio ~amd64 -app-misc/illogical-impulse-backlight ~amd64 -app-misc/illogical-impulse-basic ~amd64 -app-misc/illogical-impulse-bibata-modern-classic-bin ~amd64 -app-misc/illogical-impulse-fonts-themes ~amd64 -app-misc/illogical-impulse-hyprland ~amd64 -app-misc/illogical-impulse-kde ~amd64 -app-misc/illogical-impulse-microtex-git ~amd64 -app-misc/illogical-impulse-oneui4-icons-git ~amd64 -app-misc/illogical-impulse-portal ~amd64 -app-misc/illogical-impulse-python ~amd64 -app-misc/illogical-impulse-screencapture ~amd64 -app-misc/illogical-impulse-toolkit ~amd64 -app-misc/illogical-impulse-widgets ~amd64 -x11-misc/matugen ~amd64 -media-fonts/twemoji ~amd64 -gui-apps/hypridle ~amd64 -gui-apps/hyprlock ~amd64 -gui-apps/hyprpicker ~amd64 -gui-apps/hyprsunset ~amd64 -gui-libs/xdg-desktop-portal-hyprland ~amd64 -gui-apps/hyprshot ~amd64 -gui-apps/wf-recorder ~amd64 -gui-apps/wtype ~amd64 -gui-apps/fuzzel ~amd64 -gui-apps/quickshell ** ~amd64 -gui-apps/wlogout ~amd64 -dev-cpp/sdbus-c++ ~amd64 -dev-libs/hyprland-protocols ** ~amd64 -gui-libs/aquamarine ** ~amd64 -gui-libs/hyprutils ** ~amd64 -dev-util/hyprwayland-scanner ** ~amd64 -dev-libs/hyprlang ** ~amd64 -dev-libs/hyprgraphicss ** ~amd64 -gui-libs/hyprcursor ** ~amd64 -gui-libs/hyprland-qt-support ** ~amd64 -gui-libs/hyprland-qtutils ** ~amd64 -gui-wm/hyprland ** ~amd64 From 4247495cf421bcc212d7ae059fbb723454c330b9 Mon Sep 17 00:00:00 2001 From: jwihardi <84292598+jwihardi@users.noreply.github.com> Date: Fri, 3 Oct 2025 21:34:29 -0400 Subject: [PATCH 09/15] added init system error message --- dist-gentoo/install-setups.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist-gentoo/install-setups.sh b/dist-gentoo/install-setups.sh index d97460ba8..712f393f1 100644 --- a/dist-gentoo/install-setups.sh +++ b/dist-gentoo/install-setups.sh @@ -22,7 +22,7 @@ elif [[ ! -z $(openrc --version) ]]; then x sudo rc-service ydotool start x sudo rc-service bluetooth start else - echo "test" + x echo "init system not detected" && false fi v sudo chown -R $(whoami):$(whoami) ~/.local/share/icons/ From ec3ac73deff921da77c4127c0d84aa748797a666 Mon Sep 17 00:00:00 2001 From: jwihardi Date: Sun, 5 Oct 2025 17:42:19 -0400 Subject: [PATCH 10/15] added GCC warning print --- dist-gentoo/install-deps.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dist-gentoo/install-deps.sh b/dist-gentoo/install-deps.sh index c08c5809a..52879ad82 100644 --- a/dist-gentoo/install-deps.sh +++ b/dist-gentoo/install-deps.sh @@ -1,3 +1,12 @@ +printf "${STY_YELLOW}" +printf "============WARNING/NOTE============\n" +printf "Your GCC version is: $(gcc --version | grep gcc | awk '{print $3}')\n" +printf "GCC-15>= is required for Hyprland\n" +printf "If you have GCC-15>= and it's currently set then you can safely ignore this\n" +printf "If not, you must ensure you are using the correct GCC version and set it (gcc-config ), then emerge re-emerge @world with an empty tree (emerge -e @world)\n" +printf "${STY_RESET}" +pause + if [[ -z $(eselect repository list | grep localrepo) ]]; then v sudo eselect repository create localrepo v sudo eselect repository enable localrepo From 62e6641480234b283fb6f581bdf7299cbb1436b2 Mon Sep 17 00:00:00 2001 From: jwihardi <84292598+jwihardi@users.noreply.github.com> Date: Sun, 5 Oct 2025 18:08:40 -0400 Subject: [PATCH 11/15] Create README.md for Gentoo dot-files Added README.md with installation and setup instructions for Gentoo dot-files. --- dist-gentoo/README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 dist-gentoo/README.md diff --git a/dist-gentoo/README.md b/dist-gentoo/README.md new file mode 100644 index 000000000..bc7a9cab2 --- /dev/null +++ b/dist-gentoo/README.md @@ -0,0 +1,23 @@ +# End-4 dot-files for Gentoo + + +## 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. +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. + +## install-setup.sh +1. Creates the _i2c_ group since Gentoo doesn't have this by default, then adds the user to it. +2. Enables _bluetooth_ and _ydotool_ services (systemd or openrc) +3. _icons_, _konsole_, _hypr_, and _quickshell_ are are chowned to user since they're emerge in as root by default. +4. gsettings and kwriteconfig6 are set (same as dist-arch). + +## Recommended use flaags (useflags) +- 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 +- pipewire, pipewire-pulse, and wireplumber must be started after a dbus-session is created and before Hyprland is launched. From d0e0716221ba0cddf322272d2a606460ed581a18 Mon Sep 17 00:00:00 2001 From: jwihardi <84292598+jwihardi@users.noreply.github.com> Date: Sun, 5 Oct 2025 18:13:54 -0400 Subject: [PATCH 12/15] fixed typo --- dist-gentoo/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dist-gentoo/README.md b/dist-gentoo/README.md index bc7a9cab2..9a48e1335 100644 --- a/dist-gentoo/README.md +++ b/dist-gentoo/README.md @@ -4,7 +4,7 @@ ## 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. +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. @@ -15,9 +15,10 @@ 3. _icons_, _konsole_, _hypr_, and _quickshell_ are are chowned to user since they're emerge in as root by default. 4. gsettings and kwriteconfig6 are set (same as dist-arch). -## Recommended use flaags (useflags) +## Recommended use flags (useflags) - 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 - pipewire, pipewire-pulse, and wireplumber must be started after a dbus-session is created and before Hyprland is launched. + From aa401850583d1199dc2853b28c3c19b237dc1b46 Mon Sep 17 00:00:00 2001 From: jwihardi <84292598+jwihardi@users.noreply.github.com> Date: Sun, 5 Oct 2025 18:29:46 -0400 Subject: [PATCH 13/15] Update README with tty1 service start instructions Added instructions for starting services after logging into tty1 using Fish shell. --- dist-gentoo/README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/dist-gentoo/README.md b/dist-gentoo/README.md index 9a48e1335..2b42f6d62 100644 --- a/dist-gentoo/README.md +++ b/dist-gentoo/README.md @@ -22,3 +22,20 @@ ## Making the dot-files work - 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. +```fish +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 +``` From 319680e7ccf05b0ed7e72bc4791259d0431fdf54 Mon Sep 17 00:00:00 2001 From: jwihardi Date: Sun, 5 Oct 2025 18:33:57 -0400 Subject: [PATCH 14/15] updated init system error message --- dist-gentoo/install-setups.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dist-gentoo/install-setups.sh b/dist-gentoo/install-setups.sh index 712f393f1..9181d09c2 100644 --- a/dist-gentoo/install-setups.sh +++ b/dist-gentoo/install-setups.sh @@ -22,7 +22,10 @@ elif [[ ! -z $(openrc --version) ]]; then x sudo rc-service ydotool start x sudo rc-service bluetooth start else - x echo "init system not detected" && false + printf "${STY_RED}" + printf "====================INIT SYSTEM NOT FOUND====================\n" + printf "${STY_RESET}" + pause fi v sudo chown -R $(whoami):$(whoami) ~/.local/share/icons/ From e935976c911afcebd2710ae2e2e6434a27b7bdb1 Mon Sep 17 00:00:00 2001 From: jwihardi <84292598+jwihardi@users.noreply.github.com> Date: Sun, 5 Oct 2025 18:35:49 -0400 Subject: [PATCH 15/15] Update README to include author information --- dist-gentoo/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist-gentoo/README.md b/dist-gentoo/README.md index 2b42f6d62..2f1f5b714 100644 --- a/dist-gentoo/README.md +++ b/dist-gentoo/README.md @@ -1,4 +1,4 @@ -# End-4 dot-files for Gentoo +# End-4 dot-files for Gentoo by [@jwihardi](https://github.com/jwihardi) ## install-deps.sh