added gentoo install

This commit is contained in:
jwihardi
2025-10-02 22:43:39 -04:00
parent 626c71a942
commit cd622e9f81
23 changed files with 578 additions and 307 deletions
@@ -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
"
@@ -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
"
@@ -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
"
@@ -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}"
}
@@ -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
}
@@ -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
"
@@ -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
"
@@ -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
}
@@ -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
}
@@ -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
"
@@ -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
"
@@ -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
"
@@ -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
"
@@ -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
"
+45
View File
@@ -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}
+33
View File
@@ -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
+28
View File
@@ -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++
+28
View File
@@ -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
+1
View File
@@ -0,0 +1 @@
AUTO
+114
View File
@@ -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
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
################### 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)