forked from Shinonome/dots-hyprland
Rearrange for tidier structure (#2212)
This commit is contained in:
@@ -0,0 +1 @@
|
||||
This folder contains data specific to every distro for install scripts.
|
||||
@@ -0,0 +1,3 @@
|
||||
/*/*.tar.*
|
||||
/*/pkg/
|
||||
/*/src/
|
||||
@@ -0,0 +1,23 @@
|
||||
# Install scripts for Arch Linux
|
||||
- See also [Install scripts | illogical-impulse](https://ii.clsty.link/en/dev/inst-script/)
|
||||
|
||||
## Old Dependency Installation Method
|
||||
The old deps install method mainly involved `./sdata/dependencies.conf` (which has been removed now).
|
||||
|
||||
There was also a `checkdeps.sh`:
|
||||
- It checks the existence of pkgs listed in `./sdata/dependencies.conf`.
|
||||
- It somehow fixes [the problem caused by yay](https://github.com/end-4/dots-hyprland/discussions/204).
|
||||
|
||||
## Current Dependency Installation
|
||||
Local PKGBUILDs under `./sdist/arch/` are used to install dependencies.
|
||||
|
||||
The mechanism is introduced by [Makrennel](https://github.com/Makrennel) in [PR#570](https://github.com/end-4/dots-hyprland/pull/570).
|
||||
|
||||
Why is this awesome?
|
||||
- It makes it possible to control version since some packages may involve breaking changes from time to time.
|
||||
- It makes the dependency trackable for package manager, so that you always know why you have installed some package.
|
||||
- As a result, it enables a workable `uninstall.sh` script.
|
||||
|
||||
The PKGBUILDs contains two forms of dependencies:
|
||||
- Package name written in dependencies, like a "meta" package.
|
||||
- Normal PKGBUILD content to build dependencies, e.g. AGS, which is often for version controlling.
|
||||
@@ -0,0 +1,14 @@
|
||||
pkgname=illogical-impulse-audio
|
||||
pkgver=1.0
|
||||
pkgrel=1
|
||||
pkgdesc='Illogical Impulse Audio Dependencies'
|
||||
arch=(any)
|
||||
license=(None)
|
||||
depends=(
|
||||
cava
|
||||
pavucontrol-qt
|
||||
wireplumber
|
||||
libdbusmenu-gtk3
|
||||
playerctl
|
||||
)
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
pkgname=illogical-impulse-backlight
|
||||
pkgver=1.0
|
||||
pkgrel=1
|
||||
pkgdesc='Illogical Impulse Backlight Dependencies'
|
||||
arch=(any)
|
||||
license=(None)
|
||||
depends=(
|
||||
geoclue
|
||||
brightnessctl
|
||||
ddcutil
|
||||
)
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
pkgname=illogical-impulse-basic
|
||||
pkgver=1.0
|
||||
pkgrel=1
|
||||
pkgdesc='Illogical Impulse Basic Dependencies'
|
||||
arch=(any)
|
||||
license=(None)
|
||||
depends=(
|
||||
axel
|
||||
bc
|
||||
coreutils
|
||||
cliphist
|
||||
cmake
|
||||
curl
|
||||
rsync
|
||||
wget
|
||||
ripgrep
|
||||
jq
|
||||
meson
|
||||
xdg-user-dirs
|
||||
)
|
||||
@@ -0,0 +1,17 @@
|
||||
pkgname=illogical-impulse-bibata-modern-classic-bin
|
||||
pkgver=2.0.6
|
||||
pkgrel=1
|
||||
pkgdesc="Material Based Cursor Theme, installed for illogical-impulse dotfiles"
|
||||
arch=('any')
|
||||
url="https://github.com/ful1e5/Bibata_Cursor"
|
||||
license=('GPL-3.0-or-later')
|
||||
conflicts=("bibata-cursor-theme" "bibata-cursor-theme-bin")
|
||||
options=('!strip')
|
||||
_variant=Bibata-Modern-Classic
|
||||
source=("${pkgname%-bin}-$pkgver.tar.xz::$url/releases/download/v$pkgver/$_variant.tar.xz")
|
||||
sha256sums=('SKIP')
|
||||
|
||||
package() {
|
||||
install -dm755 "$pkgdir/usr/share/icons"
|
||||
cp -dr --no-preserve=mode $_variant "$pkgdir/usr/share/icons"
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
pkgname=illogical-impulse-fonts-themes
|
||||
pkgver=1.0
|
||||
pkgrel=2
|
||||
pkgdesc='Illogical Impulse Fonts and Theming Dependencies'
|
||||
arch=(any)
|
||||
license=(None)
|
||||
depends=(
|
||||
adw-gtk-theme-git
|
||||
breeze
|
||||
breeze-plus
|
||||
darkly-bin
|
||||
eza
|
||||
fish
|
||||
fontconfig
|
||||
kitty
|
||||
matugen-bin
|
||||
otf-space-grotesk
|
||||
starship
|
||||
ttf-gabarito-git
|
||||
ttf-jetbrains-mono-nerd
|
||||
ttf-material-symbols-variable-git
|
||||
ttf-readex-pro
|
||||
ttf-rubik-vf
|
||||
ttf-twemoji
|
||||
)
|
||||
@@ -0,0 +1,21 @@
|
||||
pkgname=illogical-impulse-hyprland
|
||||
pkgver=1.0
|
||||
pkgrel=1
|
||||
pkgdesc='Illogical Impulse Hyprland relatated packages'
|
||||
arch=(any)
|
||||
license=(None)
|
||||
depends=(
|
||||
hypridle
|
||||
hyprcursor
|
||||
hyprland
|
||||
hyprland-qtutils
|
||||
hyprland-qt-support
|
||||
hyprlang
|
||||
hyprlock
|
||||
hyprpicker
|
||||
hyprsunset
|
||||
hyprutils
|
||||
hyprwayland-scanner
|
||||
xdg-desktop-portal-hyprland
|
||||
wl-clipboard
|
||||
)
|
||||
@@ -0,0 +1,15 @@
|
||||
pkgname=illogical-impulse-kde
|
||||
pkgver=1.0
|
||||
pkgrel=2
|
||||
pkgdesc='Illogical Impulse KDE Dependencies'
|
||||
arch=(any)
|
||||
license=(None)
|
||||
depends=(
|
||||
bluedevil
|
||||
gnome-keyring
|
||||
networkmanager
|
||||
plasma-nm
|
||||
polkit-kde-agent
|
||||
dolphin
|
||||
systemsettings
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
/MicroTeX/
|
||||
@@ -0,0 +1,42 @@
|
||||
pkgname=illogical-impulse-microtex-git
|
||||
_pkgname=MicroTeX
|
||||
pkgver=r494.0e3707f
|
||||
pkgrel=2
|
||||
pkgdesc='MicroTeX for illogical-impulse dotfiles.'
|
||||
#pkgdesc="A dynamic, cross-platform, and embeddable LaTeX rendering library"
|
||||
arch=("x86_64")
|
||||
url="https://github.com/NanoMichael/${_pkgname}"
|
||||
license=('MIT')
|
||||
depends=(
|
||||
tinyxml2
|
||||
gtkmm3
|
||||
gtksourceviewmm
|
||||
cairomm
|
||||
)
|
||||
makedepends=("git" "cmake")
|
||||
source=("git+${url}.git")
|
||||
sha256sums=("SKIP")
|
||||
|
||||
pkgver() {
|
||||
cd $_pkgname
|
||||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||
}
|
||||
|
||||
prepare() {
|
||||
cd $_pkgname
|
||||
sed -i 's/gtksourceviewmm-3.0/gtksourceviewmm-4.0/' CMakeLists.txt
|
||||
sed -i 's/tinyxml2.so.10/tinyxml2.so.11/' CMakeLists.txt
|
||||
}
|
||||
|
||||
build() {
|
||||
cd $_pkgname
|
||||
cmake -B build -S . -DCMAKE_BUILD_TYPE=None
|
||||
cmake --build build
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $_pkgname
|
||||
install -Dm0755 -t "$pkgdir/opt/$_pkgname/" build/LaTeX
|
||||
cp -r build/res "$pkgdir/opt/$_pkgname/"
|
||||
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
/OneUI4-Icons/
|
||||
@@ -0,0 +1,24 @@
|
||||
pkgname=illogical-impulse-oneui4-icons-git
|
||||
_pkgname=OneUI4-Icons
|
||||
pkgver=r70.55eada4
|
||||
pkgrel=1
|
||||
pkgdesc="A fork of mjkim0727/OneUI4-Icons for illogical-impulse dotfiles."
|
||||
arch=('x86_64')
|
||||
url="https://github.com/end-4/OneUI4-Icons"
|
||||
license=('GPL3')
|
||||
source=("git+${url}.git")
|
||||
sha256sums=('SKIP')
|
||||
options=('!strip')
|
||||
|
||||
pkgver(){
|
||||
cd $srcdir/$_pkgname
|
||||
printf 'r%s.%s' "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $srcdir/$_pkgname
|
||||
install -dm755 "$pkgdir/usr/share/icons"
|
||||
for _i in OneUI{,-dark,-light}; do
|
||||
cp -dr --no-preserve=mode "$_i" "$pkgdir/usr/share/icons/$_i"
|
||||
done
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
pkgname=illogical-impulse-portal
|
||||
pkgver=1.0
|
||||
pkgrel=2
|
||||
pkgdesc='Illogical Impulse XDG Desktop Portals'
|
||||
arch=(any)
|
||||
license=(None)
|
||||
depends=(
|
||||
xdg-desktop-portal
|
||||
xdg-desktop-portal-kde
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-hyprland
|
||||
)
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
pkgname=illogical-impulse-python
|
||||
pkgver=1.1
|
||||
pkgrel=4
|
||||
pkgdesc='Illogical Impulse Python Dependencies'
|
||||
arch=(any)
|
||||
license=(None)
|
||||
depends=(
|
||||
clang
|
||||
uv
|
||||
gtk4
|
||||
libadwaita
|
||||
libsoup3
|
||||
libportal-gtk4
|
||||
gobject-introspection
|
||||
sassc
|
||||
)
|
||||
@@ -0,0 +1,14 @@
|
||||
pkgname=illogical-impulse-screencapture
|
||||
pkgver=1.0
|
||||
pkgrel=1
|
||||
pkgdesc='Illogical Impulse Screenshot and Recording Dependencies'
|
||||
arch=(any)
|
||||
license=(None)
|
||||
depends=(
|
||||
hyprshot
|
||||
slurp
|
||||
swappy
|
||||
tesseract
|
||||
tesseract-data-eng
|
||||
wf-recorder
|
||||
)
|
||||
@@ -0,0 +1,27 @@
|
||||
pkgname=illogical-impulse-toolkit
|
||||
pkgver=1.0
|
||||
pkgrel=1
|
||||
pkgdesc='Illogical Impulse GTK/Qt Dependencies'
|
||||
arch=(any)
|
||||
license=(None)
|
||||
depends=(
|
||||
kdialog
|
||||
qt6-5compat
|
||||
qt6-avif-image-plugin
|
||||
qt6-base
|
||||
qt6-declarative
|
||||
qt6-imageformats
|
||||
qt6-multimedia
|
||||
qt6-positioning
|
||||
qt6-quicktimeline
|
||||
qt6-sensors
|
||||
qt6-svg
|
||||
qt6-tools
|
||||
qt6-translations
|
||||
qt6-virtualkeyboard
|
||||
qt6-wayland
|
||||
syntax-highlighting
|
||||
upower
|
||||
wtype
|
||||
ydotool
|
||||
)
|
||||
@@ -0,0 +1,19 @@
|
||||
pkgname=illogical-impulse-widgets
|
||||
pkgver=1.0
|
||||
pkgrel=3
|
||||
pkgdesc='Illogical Impulse Widget Dependencies'
|
||||
arch=(any)
|
||||
license=(None)
|
||||
depends=(
|
||||
fuzzel
|
||||
glib2 # for `gsettings` it seems?
|
||||
imagemagick
|
||||
hypridle
|
||||
hyprutils
|
||||
hyprlock
|
||||
hyprpicker
|
||||
nm-connection-editor
|
||||
quickshell-git
|
||||
translate-shell
|
||||
wlogout
|
||||
)
|
||||
@@ -0,0 +1,108 @@
|
||||
# This script is meant to be sourced.
|
||||
# It's not for directly running.
|
||||
|
||||
install-yay(){
|
||||
x sudo pacman -S --needed --noconfirm base-devel
|
||||
x git clone https://aur.archlinux.org/yay-bin.git /tmp/buildyay
|
||||
x cd /tmp/buildyay
|
||||
x makepkg -o
|
||||
x makepkg -se
|
||||
x makepkg -i --noconfirm
|
||||
x cd $base
|
||||
rm -rf /tmp/buildyay
|
||||
}
|
||||
|
||||
# NOTE: `handle-deprecated-dependencies` was for the old days when we just switch from dependencies.conf to local PKGBUILDs.
|
||||
# However, let's just keep it as references for other distros writing their `sdist/<DISTRO_ID>/install-deps.sh`, if they need it.
|
||||
handle-deprecated-dependencies(){
|
||||
printf "${STY_CYAN}[$0]: Removing deprecated dependencies:${STY_RESET}\n"
|
||||
for i in illogical-impulse-{microtex,pymyc-aur,ags,agsv1} {hyprutils,hyprpicker,hyprlang,hypridle,hyprland-qt-support,hyprland-qtutils,hyprlock,xdg-desktop-portal-hyprland,hyprcursor,hyprwayland-scanner,hyprland}-git;do try sudo pacman --noconfirm -Rdd $i;done
|
||||
# Convert old dependencies to non explicit dependencies so that they can be orphaned if not in meta packages
|
||||
remove_bashcomments_emptylines ./sdist/arch/previous_dependencies.conf ./cache/old_deps_stripped.conf
|
||||
readarray -t old_deps_list < ./cache/old_deps_stripped.conf
|
||||
pacman -Qeq > ./cache/pacman_explicit_packages
|
||||
readarray -t explicitly_installed < ./cache/pacman_explicit_packages
|
||||
|
||||
echo "Attempting to set previously explicitly installed deps as implicit..."
|
||||
for i in "${explicitly_installed[@]}"; do for j in "${old_deps_list[@]}"; do
|
||||
[ "$i" = "$j" ] && yay -D --asdeps "$i"
|
||||
done; done
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
#####################################################################################
|
||||
if ! command -v pacman >/dev/null 2>&1; then
|
||||
printf "${STY_RED}[$0]: pacman not found, it seems that the system is not ArchLinux or Arch-based distros. Aborting...${STY_RESET}\n"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Issue #363
|
||||
case $SKIP_SYSUPDATE in
|
||||
true) sleep 0;;
|
||||
*) v sudo pacman -Syu;;
|
||||
esac
|
||||
|
||||
# Use yay. Because paru does not support cleanbuild.
|
||||
# Also see https://wiki.hyprland.org/FAQ/#how-do-i-update
|
||||
if ! command -v yay >/dev/null 2>&1;then
|
||||
echo -e "${STY_YELLOW}[$0]: \"yay\" not found.${STY_RESET}"
|
||||
showfun install-yay
|
||||
v install-yay
|
||||
fi
|
||||
|
||||
showfun handle-deprecated-dependencies
|
||||
v handle-deprecated-dependencies
|
||||
|
||||
# https://github.com/end-4/dots-hyprland/issues/581
|
||||
# yay -Bi is kinda hit or miss, instead cd into the relevant directory and manually source and install deps
|
||||
install-local-pkgbuild() {
|
||||
local location=$1
|
||||
local installflags=$2
|
||||
|
||||
x pushd $location
|
||||
|
||||
source ./PKGBUILD
|
||||
x yay -S --sudoloop $installflags --asdeps "${depends[@]}"
|
||||
# man makepkg:
|
||||
# -A, --ignorearch: Ignore a missing or incomplete arch field in the build script.
|
||||
# -s, --syncdeps: Install missing dependencies using pacman. When build-time or run-time dependencies are not found, pacman will try to resolve them.
|
||||
# -i, --install: Install or upgrade the package after a successful build using pacman(8).
|
||||
# In https://github.com/end-4/dots-hyprland/issues/823#issuecomment-3394774645 it's suggested to use `sudo pacman -U --noconfirm *.pkg.tar.zst` instead of `makepkg -i`, however it's possible that multiple *.pkg.tar.zst exist, which makes this command not reliable.
|
||||
x makepkg -Asi --noconfirm
|
||||
x popd
|
||||
}
|
||||
|
||||
# Install core dependencies from the meta-packages
|
||||
metapkgs=(./sdist/arch/illogical-impulse-{audio,backlight,basic,fonts-themes,kde,portal,python,screencapture,toolkit,widgets})
|
||||
metapkgs+=(./sdist/arch/illogical-impulse-hyprland)
|
||||
metapkgs+=(./sdist/arch/illogical-impulse-microtex-git)
|
||||
# metapkgs+=(./sdist/arch/packages/illogical-impulse-oneui4-icons-git)
|
||||
[[ -f /usr/share/icons/Bibata-Modern-Classic/index.theme ]] || \
|
||||
metapkgs+=(./sdist/arch/illogical-impulse-bibata-modern-classic-bin)
|
||||
|
||||
for i in "${metapkgs[@]}"; do
|
||||
metainstallflags="--needed"
|
||||
$ask && showfun install-local-pkgbuild || metainstallflags="$metainstallflags --noconfirm"
|
||||
v install-local-pkgbuild "$i" "$metainstallflags"
|
||||
done
|
||||
|
||||
## Optional dependencies
|
||||
if pacman -Qs ^plasma-browser-integration$ ;then SKIP_PLASMAINTG=true;fi
|
||||
case $SKIP_PLASMAINTG in
|
||||
true) sleep 0;;
|
||||
*)
|
||||
if $ask;then
|
||||
echo -e "${STY_YELLOW}[$0]: NOTE: The size of \"plasma-browser-integration\" is about 600 MiB.${STY_RESET}"
|
||||
echo -e "${STY_YELLOW}It is needed if you want playtime of media in Firefox to be shown on the music controls widget.${STY_RESET}"
|
||||
echo -e "${STY_YELLOW}Install it? [y/N]${STY_RESET}"
|
||||
read -p "====> " p
|
||||
else
|
||||
p=y
|
||||
fi
|
||||
case $p in
|
||||
y) x sudo pacman -S --needed --noconfirm plasma-browser-integration ;;
|
||||
*) echo "Ok, won't install"
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,15 @@
|
||||
# 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 sudo usermod -aG video,i2c,input "$(whoami)"
|
||||
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
|
||||
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 @@
|
||||
AUTO
|
||||
@@ -0,0 +1,79 @@
|
||||
### This file contains a list of dependencies which were previously explicitly installed that are now installed using meta packages
|
||||
### Must be one package per line as it needs to be compared against the explicitly installed list from pacman
|
||||
illogical-impulse-ags
|
||||
archlinux-xdg-menu
|
||||
axel
|
||||
bc
|
||||
coreutils
|
||||
cliphist
|
||||
cmake
|
||||
curl
|
||||
fuzzel
|
||||
rsync
|
||||
wget
|
||||
ripgrep
|
||||
gojq
|
||||
npm
|
||||
meson
|
||||
typescript
|
||||
gjs
|
||||
xdg-user-dirs
|
||||
tinyxml2
|
||||
gtkmm3
|
||||
gtksourceviewmm
|
||||
cairomm
|
||||
python-build
|
||||
python-pillow
|
||||
python-pywal
|
||||
python-setuptools-scm
|
||||
python-wheel
|
||||
xdg-desktop-portal
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-hyprland-git
|
||||
pavucontrol
|
||||
wireplumber
|
||||
libdbusmenu-gtk3
|
||||
playerctl
|
||||
swww
|
||||
webp-pixbuf-loader
|
||||
gtk-layer-shell
|
||||
gtk3
|
||||
gtksourceview3
|
||||
gobject-introspection
|
||||
upower
|
||||
yad
|
||||
ydotool
|
||||
xdg-user-dirs-gtk
|
||||
polkit-gnome
|
||||
gnome-keyring
|
||||
gnome-control-center
|
||||
blueberry
|
||||
gammastep
|
||||
gnome-bluetooth-3.0
|
||||
brightnessctl
|
||||
ddcutil
|
||||
dart-sass
|
||||
python-pywayland
|
||||
python-psutil
|
||||
hypridle-git
|
||||
hyprlock-git
|
||||
wlogout
|
||||
wl-clipboard
|
||||
hyprpicker-git
|
||||
adw-gtk3-git
|
||||
qt5ct
|
||||
qt5-wayland
|
||||
fontconfig
|
||||
ttf-readex-pro
|
||||
ttf-jetbrains-mono-nerd
|
||||
ttf-material-symbols-variable-git
|
||||
ttf-space-mono-nerd
|
||||
fish
|
||||
foot
|
||||
starship
|
||||
swappy
|
||||
wf-recorder
|
||||
grim
|
||||
tesseract
|
||||
tesseract-data-eng
|
||||
slurp
|
||||
@@ -0,0 +1,11 @@
|
||||
# This script is meant to be sourced.
|
||||
# It's not for directly running.
|
||||
|
||||
# This file is currently WIP.
|
||||
|
||||
v install-Rubik
|
||||
v install-Gabarito
|
||||
v install-OneUI
|
||||
v install-bibata
|
||||
v install-MicroTeX
|
||||
v install-uv
|
||||
@@ -0,0 +1,15 @@
|
||||
# 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 sudo usermod -aG video,i2c,input "$(whoami)"
|
||||
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
|
||||
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 @@
|
||||
WIP
|
||||
@@ -0,0 +1,61 @@
|
||||
# Install scripts for Gentoo
|
||||
|
||||
Note:
|
||||
- The scripts here are **not** meant to be executed directly.
|
||||
- This folder should reflect the equivalents of `/sdist/arch/` but under Gentoo.
|
||||
- **When `/sdist/arch/` is newer than this folder, an update on this folder is very likely needed.**
|
||||
- Useful link: [Commit history on sdist/arch/](https://github.com/end-4/dots-hyprland/commits/main/sdist/arch)
|
||||
- See also [Install scripts | illogical-impulse](https://ii.clsty.link/en/dev/inst-script/)
|
||||
|
||||
## Contributors
|
||||
- Author: [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 sdist/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.
|
||||
```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
|
||||
```
|
||||
|
||||
## 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
|
||||
@@ -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
|
||||
@@ -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,91 @@
|
||||
# Copyright 2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
DART_SASS_VER=1.78.0
|
||||
SPACE_GROTESK_VER=1.1.4
|
||||
|
||||
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/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/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"
|
||||
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_RUBIK="${S}/rubik-main"
|
||||
S_READEXPRO="${S}/readexpro-master"
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
insinto /usr/share/fonts/ttf-readex-pro
|
||||
doins "${S_READEXPRO}"/fonts/ttf/*.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*
|
||||
|
||||
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,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,24 @@
|
||||
# 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
|
||||
"
|
||||
+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,22 @@
|
||||
# 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
|
||||
media-gfx/imagemagick
|
||||
"
|
||||
@@ -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,93 @@
|
||||
printf "${STY_YELLOW}"
|
||||
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 <number>)\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/sdist/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 -E ".*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 sudo cp ./sdist/gentoo/keywords ./sdist/gentoo/keywords-user
|
||||
x sed -i "s/$/ ~${arch}/" ./sdist/gentoo/keywords-user
|
||||
v sudo cp ./sdist/gentoo/keywords-user /etc/portage/package.accept_keywords/illogical-impulse
|
||||
|
||||
# Use Flags
|
||||
v sudo cp ./sdist/gentoo/useflags /etc/portage/package.use/illogical-impulse
|
||||
v sudo sh -c 'cat ./sdist/gentoo/additional-useflags >> /etc/portage/package.use/illogical-impulse'
|
||||
|
||||
# Update system
|
||||
v sudo emerge --sync
|
||||
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)
|
||||
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 ./sdist/gentoo/${HYPR_DIR}/hyprgraphics*.ebuild ${ebuild_dir}/dev-libs/hyprgraphics
|
||||
v sudo cp ./sdist/gentoo/${HYPR_DIR}/hyprland-qt-support*.ebuild ${ebuild_dir}/gui-libs/hyprland-qt-support
|
||||
v sudo cp ./sdist/gentoo/${HYPR_DIR}/hyprland-qtutils*.ebuild ${ebuild_dir}/gui-libs/hyprland-qtutils
|
||||
v sudo cp ./sdist/gentoo/${HYPR_DIR}/hyprlang*.ebuild ${ebuild_dir}/dev-libs/hyprlang
|
||||
v sudo cp ./sdist/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 ./sdist/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
|
||||
|
||||
# Currently using 3.12 python, this doesn't need to be default though
|
||||
v sudo emerge --noreplace --quiet dev-lang/python:3.12
|
||||
@@ -0,0 +1,39 @@
|
||||
# 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
|
||||
|
||||
if [[ -z $(getent group i2c) ]]; then
|
||||
v sudo groupadd i2c
|
||||
fi
|
||||
|
||||
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) ~/.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,41 @@
|
||||
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
|
||||
app-misc/brightnessctl
|
||||
app-misc/cliphist
|
||||
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/hyprgraphics **
|
||||
gui-libs/hyprcursor **
|
||||
gui-libs/hyprland-qt-support **
|
||||
gui-libs/hyprland-qtutils **
|
||||
gui-wm/hyprland **
|
||||
x11-libs/libxkbcommon
|
||||
@@ -0,0 +1 @@
|
||||
AUTO
|
||||
@@ -0,0 +1,117 @@
|
||||
################### 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
|
||||
|
||||
################### MICROTEX-GIT ###################
|
||||
dev-cpp/gtkmm X wayland
|
||||
|
||||
################### 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
|
||||
|
||||
|
||||
################### 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)
|
||||
media-gfx/imagemagick xml
|
||||
@@ -0,0 +1,25 @@
|
||||
# Install scripts using Nix to achieve cross-distros
|
||||
- This directory is currently WIP.
|
||||
- See also [Install scripts | illogical-impulse](https://ii.clsty.link/en/dev/inst-script/)
|
||||
- See also [#1061](https://github.com/end-4/dots-hyprland/issues/1061)
|
||||
|
||||
NOTE: The sdist/nix is not for NixOS but every distro, using Nix and home-manager.
|
||||
|
||||
TODO:
|
||||
Write a proper `flake.nix` and optionally `home.nix` and other files under `./sdist/nix/iiqs-hm/` to install all dependencies that `./sdist/arch/install-deps.sh` does. (**excluding** the screenlock)
|
||||
|
||||
TODO:
|
||||
In this script, implement the process below:
|
||||
1. Warning user about "this script is only experimental and must only use it at your own risks.", and prompt `y/N` (default N) before proceeding.
|
||||
2. If nix not installed:
|
||||
1. install nix via [NixOS/experimental-nix-installer](https://github.com/NixOS/experimental-nix-installer)
|
||||
2. Enable nix for shell
|
||||
- Update: Skip this step cuz the nix-installer will handle it automatically e.g. in `/etc/zsh/zshrc`.
|
||||
3. Ensure the experimental feature, Nix Flake, is enabled.
|
||||
3. cd to `iiqs-hm` and use something like `home-manager switch --flake .#iiqs` to install the dependencies.
|
||||
4. Install screen lock using system package manager of the current distro.
|
||||
|
||||
Note that this script must be idempotent.
|
||||
|
||||
TODO:
|
||||
Write guide for people already use nix, so they can manually grab things from this repo to their own Nix/home-manager configurations to install the dependencies.
|
||||
@@ -0,0 +1,4 @@
|
||||
# This script is meant to be sourced.
|
||||
# It's not for directly running.
|
||||
|
||||
# This file is currently WIP.
|
||||
@@ -0,0 +1 @@
|
||||
WIP
|
||||
Reference in New Issue
Block a user