diff --git a/dist-gentoo/README.md b/dist-gentoo/README.md index 3a41fbb24..20b396bc7 100644 --- a/dist-gentoo/README.md +++ b/dist-gentoo/README.md @@ -26,10 +26,13 @@ Note: 4. 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. @@ -49,3 +52,10 @@ if status --is-interactive; and [ (tty) = "/dev/tty1" ] 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 diff --git a/dist-gentoo/additional-useflags b/dist-gentoo/additional-useflags new file mode 100644 index 000000000..2e089e6de --- /dev/null +++ b/dist-gentoo/additional-useflags @@ -0,0 +1,29 @@ +############ Additional needed useflags +x11-libs/cairo X +dev-cpp/cairomm X +dev-python/pycairo X +media-libs/libglvnd X +x11-libs/libxkbcommon X +media-libs/libpulse X +media-plugins/alsa-plugins pulseaudio +kde-frameworks/kcoreaddons dbus +kde-frameworks/prison qml +kde-frameworks/kguiaddons X dbus wayland +kde-frameworks/kidletime X wayland +kde-frameworks/kwindowsystem X wayland +kde-frameworks/kconfig dbus qml +kde-frameworks/sonnet qml +x11-base/xwayland libei +sys-apps/dbus X +sys-libs/zlib minizip +dev-qt/qtquick3d opengl +media-video/ffmpeg X bzip2 dav1d drm fontconfig gnutls gpl libass opencl opengl openh264 opus postproc svg truetype vaapi vpx vulkan x264 x265 xml zlib +media-libs/leptonica jpeg png zlib tiff webp +media-libs/libva X wayland +app-text/xmlto text +app-crypt/gcr gtk +media-video/vlc wayland ogg dbus mp3 +dev-libs/qcoro dbus qml +media-libs/freetype harfbuzz +media-libs/mesa wayland +x11-libs/gtk+ wayland diff --git a/dist-gentoo/illogical-impulse-fonts-themes/illogical-impulse-fonts-themes-1.0-r1.ebuild b/dist-gentoo/illogical-impulse-fonts-themes/illogical-impulse-fonts-themes-1.0.ebuild similarity index 69% rename from dist-gentoo/illogical-impulse-fonts-themes/illogical-impulse-fonts-themes-1.0-r1.ebuild rename to dist-gentoo/illogical-impulse-fonts-themes/illogical-impulse-fonts-themes-1.0.ebuild index bc5044584..d220350cd 100644 --- a/dist-gentoo/illogical-impulse-fonts-themes/illogical-impulse-fonts-themes-1.0-r1.ebuild +++ b/dist-gentoo/illogical-impulse-fonts-themes/illogical-impulse-fonts-themes-1.0.ebuild @@ -3,6 +3,7 @@ EAPI=8 DART_SASS_VER=1.78.0 +SPACE_GROTESK_VER=1.1.4 DESCRIPTION="Illogical Impulse Fonts and Theming Dependencies" HOMEPAGE="" @@ -11,11 +12,13 @@ https://github.com/Bali10050/Darkly/archive/refs/heads/main.tar.gz -> ${P}-darkl https://github.com/naipefoundry/gabarito/archive/refs/heads/main.tar.gz -> ${P}-gabarito.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/google/material-design-icons/raw/refs/heads/master/variablefont/MaterialSymbolsOutlined%5BFILL,GRAD,opsz,wght%5D.ttf -> MaterialSymbolsOutlined.ttf + https://github.com/google/material-design-icons/raw/refs/heads/master/variablefont/MaterialSymbolsRounded%5BFILL,GRAD,opsz,wght%5D.ttf -> MaterialSymbolsRounded.ttf + https://github.com/google/material-design-icons/raw/refs/heads/master/variablefont/MaterialSymbolsSharp%5BFILL,GRAD,opsz,wght%5D.ttf -> MaterialSymbolsSharp.ttf +https://github.com/floriankarsten/space-grotesk/archive/refs/tags/${SPACE_GROTESK_VER}.tar.gz -> ${P}-space-grotesk-${SPACE_GROTESK_VER}.tar.gz " - LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~arm64 ~x86" @@ -40,9 +43,9 @@ S_DARKLY="${S}/Darkly-main" S_GABARITO="${S}/gabarito-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_SPACE_GROTESK="${S}/space-grotesk-${SPACE_GROTESK_VER}" src_unpack() { default @@ -72,8 +75,11 @@ src_install() { 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/fonts/material-symbols + doins "${DISTDIR}"/MaterialSymbols*.ttf + + insinto /usr/share/fonts/OTF + doins "${S_SPACE_GROTESK}"/fonts/otf/*.otf insinto /usr/share/themes doins -r "${S_BREEZE_PLUS}"/src/breeze-plus* diff --git a/dist-gentoo/illogical-impulse-hyprland/things b/dist-gentoo/illogical-impulse-hyprland/things deleted file mode 100644 index e8d811b6b..000000000 --- a/dist-gentoo/illogical-impulse-hyprland/things +++ /dev/null @@ -1,9 +0,0 @@ -hyprland -hyprgraphics -hyprutils -hyprlang -hyprwayland-scanner -hyprcursor - -hypr-qt-support -hypr-qt-utils 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 index c7b546b38..e2b878a74 100644 --- a/dist-gentoo/illogical-impulse-widgets/illogical-impulse-widgets-1.0.ebuild +++ b/dist-gentoo/illogical-impulse-widgets/illogical-impulse-widgets-1.0.ebuild @@ -18,4 +18,5 @@ RDEPEND=" gui-apps/quickshell app-i18n/translate-shell gui-apps/wlogout + media-gfx/imagemagick " diff --git a/dist-gentoo/install-deps.sh b/dist-gentoo/install-deps.sh index 9db3a5f88..678cfde29 100644 --- a/dist-gentoo/install-deps.sh +++ b/dist-gentoo/install-deps.sh @@ -1,21 +1,37 @@ printf "${STY_YELLOW}" -printf "============WARNING/NOTE============\n" +printf "============WARNING/NOTE (1)============\n" printf "GCC in use: $(which gcc)\n" printf "GCC version info: $(gcc --version | grep gcc)\n" printf "GCC version number: $(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 "If not, you must ensure you are using the correct GCC version and set it (gcc-config )\n" +printf "It is heavily recommended to re-emerge @world with an empty tree after changing GCC version (emerge -e @world)\n\n" printf "${STY_RESET}" pause +printf "${STY_YELLOW}" +printf "============WARNING/NOTE (2)============\n" +printf "Ensure you have a global use flag for elogind or systemd in your make.conf for simplicity\n" +printf "Or you can manually add the use flags for each package that requires it\n" +printf "${STY_RESET}" +pause + +printf "${STY_YELLOW}" +printf "https://github.com/end-4/dots-hyprland/blob/main/dist-gentoo/README.md" +printf "Checkout the above README for potential bug fixes or additional information" +printf "${STY_RESET}" +pause + +x sudo emerge --noreplace --quiet app-eselect/eselect-repository + 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 +if [[ -z $(eselect repository list | grep -E ".*guru \*.*") ]]; then + v sudo eselect repository enable guru fi arch=$(portageq envvar ACCEPT_KEYWORDS) @@ -26,16 +42,17 @@ metapkgs=(illogical-impulse-{audio,backlight,basic,bibata-modern-classic-bin,fon ebuild_dir="/var/db/repos/localrepo" # Unmasks -x cp ./dist-gentoo/keywords ./dist-gentoo/keywords-user +x sudo 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/illogical-impulse # Use Flags v sudo cp ./dist-gentoo/useflags /etc/portage/package.use/illogical-impulse +v sudo sh -c 'cat ./dist-gentoo/additional-useflags >> /etc/portage/package.use/illogical-impulse' # Update system v sudo emerge --sync -v sudo emerge --ask --verbose --newuse --update --deep @world +v sudo emerge --quiet --newuse --update --deep @world v sudo emerge --depclean # Remove old ebuilds (if this isn't done the wildcard will fuck upon a version change) @@ -72,4 +89,5 @@ for i in "${metapkgs[@]}"; do v sudo emerge --quiet app-misc/${i} done - +# Currently using 3.12 python, this doesn't need to be default though +v sudo emerge --noreplace --quiet dev-lang/python:3.12 diff --git a/dist-gentoo/install-setups.sh b/dist-gentoo/install-setups.sh index 9181d09c2..91a824893 100644 --- a/dist-gentoo/install-setups.sh +++ b/dist-gentoo/install-setups.sh @@ -6,7 +6,10 @@ showfun install-python-packages v install-python-packages -v getent group i2c || sudo groupadd i2c +if [[ -z $(getent group i2c) ]]; then + v sudo groupadd i2c +fi + v sudo usermod -aG video,i2c,input "$(whoami)" if [[ ! -z $(systemctl --version) ]]; then @@ -28,8 +31,6 @@ else pause fi -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/ diff --git a/dist-gentoo/keywords b/dist-gentoo/keywords index 7a065f345..9716ace7a 100644 --- a/dist-gentoo/keywords +++ b/dist-gentoo/keywords @@ -14,6 +14,8 @@ app-misc/illogical-impulse-toolkit app-misc/illogical-impulse-widgets x11-misc/matugen media-fonts/twemoji +app-misc/brightnessctl +app-misc/cliphist gui-apps/hypridle gui-apps/hyprlock gui-apps/hyprpicker @@ -31,8 +33,9 @@ gui-libs/aquamarine ** gui-libs/hyprutils ** dev-util/hyprwayland-scanner ** dev-libs/hyprlang ** -dev-libs/hyprgraphicss ** +dev-libs/hyprgraphics ** gui-libs/hyprcursor ** gui-libs/hyprland-qt-support ** gui-libs/hyprland-qtutils ** gui-wm/hyprland ** +x11-libs/libxkbcommon diff --git a/dist-gentoo/useflags b/dist-gentoo/useflags index 326f3d9c1..c3e12ed8e 100644 --- a/dist-gentoo/useflags +++ b/dist-gentoo/useflags @@ -60,6 +60,9 @@ net-misc/networkmanager concheck introspection nss ppp tools wifi -wext -modemma kde-apps/dolphin -handbook kde-plasma/systemsettings -handbook +################### MICROTEX-GIT ################### +dev-cpp/gtkmm X wayland + ################### PORTAL ################### sys-apps/xdg-desktop-portal seccomp #sys-plasma/xdg-desktop-portal-kde (nothing needed) @@ -74,7 +77,6 @@ gui-libs/libadwaita introspection net-libs/libsoup brotli introspection ssl #dev-libs/gobject-introspection (nothing needed) # dart-sassc handled in the ebuild -eigen ffmpeg jpeg opencl opengl python wayland gtk3 webp ################### SCREENCAPTURE ################### @@ -112,3 +114,4 @@ 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) +media-gfx/imagemagick xml