forked from Shinonome/dots-hyprland
Gentoo Install (#2116)
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# End-4 dot-files for Gentoo by [@jwihardi](https://github.com/jwihardi)
|
||||
|
||||
|
||||
## install-deps.sh
|
||||
1. Enables localrepo and guru overlays if not already enabled.
|
||||
2. Copies _keywords_ to _keywords-user_ and appends the correct unmask keywords for the user's architecture (adm64, arm64, and x86 are supported).
|
||||
3. _keywords-user_ and _useflags_ are copies over into the proper portage directories. Quickshell also uses a live ebuild.
|
||||
4. Syncs, updates, and depcleans @world.
|
||||
5. Copies over the custom live ebuilds (hyprgraphics, hyprland-qt-support, hyprland-qtutils, hyprlang, hyprwayland-scanner) into localrepo and digests them.
|
||||
6. Loops through all illogical-impulse ebuilds to digest and emerge them.
|
||||
|
||||
## 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 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.
|
||||
|
||||
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
|
||||
```
|
||||
@@ -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
|
||||
"
|
||||
+24
@@ -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,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}"
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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}"
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
# 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-libs/hyprland-qtutils
|
||||
gui-libs/hyprland-qt-support
|
||||
dev-libs/hyprlang
|
||||
gui-apps/hyprlock
|
||||
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
|
||||
"
|
||||
@@ -0,0 +1,9 @@
|
||||
hyprland
|
||||
hyprgraphics
|
||||
hyprutils
|
||||
hyprlang
|
||||
hyprwayland-scanner
|
||||
hyprcursor
|
||||
|
||||
hypr-qt-support
|
||||
hypr-qt-utils
|
||||
@@ -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
|
||||
}
|
||||
|
||||
+26
@@ -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
|
||||
"
|
||||
+21
@@ -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
|
||||
"
|
||||
@@ -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
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
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 <number>), 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
|
||||
fi
|
||||
|
||||
if [[ -z $(eselect repository list | grep guru) ]]; then
|
||||
v sudo eselect repository enable guru
|
||||
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"
|
||||
|
||||
# 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 -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
|
||||
for i in "${metapkgs[@]}"; do
|
||||
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
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
# 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
|
||||
printf "${STY_RED}"
|
||||
printf "====================INIT SYSTEM NOT FOUND====================\n"
|
||||
printf "${STY_RESET}"
|
||||
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/
|
||||
|
||||
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
|
||||
@@ -0,0 +1,38 @@
|
||||
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++
|
||||
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 **
|
||||
@@ -0,0 +1 @@
|
||||
AUTO
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user