Add end-4 hyprland dependecies post-install

This commit is contained in:
2026-09-15 15:37:30 +10:00
parent 94ce80a365
commit df046dcba2
8 changed files with 277 additions and 2 deletions
+61
View File
@@ -1,4 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail
# Populate the keyring in the built root from the keyring bundles # Populate the keyring in the built root from the keyring bundles
# (/usr/share/pacman/keyrings, incl. the copied cachyos keyring). # (/usr/share/pacman/keyrings, incl. the copied cachyos keyring).
# This mirrors the guide; it runs inside the image you are making. # This mirrors the guide; it runs inside the image you are making.
@@ -11,3 +13,62 @@ pacman-key --populate archlinux cachyos chaotic
# overwrite this directory's configured version. # overwrite this directory's configured version.
install -m 0644 /root/.live-pacman.conf /etc/pacman.conf install -m 0644 /root/.live-pacman.conf /etc/pacman.conf
rm -f /root/.live-pacman.conf rm -f /root/.live-pacman.conf
# ============================================================================
# Pre-install dotfile dependencies into /etc/skel so new users get them
# instantly on first login (no network required).
# ============================================================================
SKEL="/etc/skel"
# ── Oh-My-Zsh ────────────────────────────────────────────────────────────────
if [[ ! -d "${SKEL}/.oh-my-zsh" ]]; then
echo "[customize] Cloning Oh-My-Zsh into skel..."
git clone --depth=1 https://github.com/ohmyzsh/ohmyzsh.git "${SKEL}/.oh-my-zsh"
fi
# Oh-My-Zsh custom plugins
ZSH_CUSTOM="${SKEL}/.oh-my-zsh/custom"
mkdir -p "${ZSH_CUSTOM}/plugins"
declare -A OMZ_PLUGINS=(
[zsh-history-substring-search]="https://github.com/zsh-users/zsh-history-substring-search.git"
[zsh-autosuggestions]="https://github.com/zsh-users/zsh-autosuggestions.git"
[zsh-eza]="https://github.com/z-shell/zsh-eza.git"
[fzf-zsh-plugin]="https://github.com/unixorn/fzf-zsh-plugin.git"
[zsh-syntax-highlighting]="https://github.com/zsh-users/zsh-syntax-highlighting.git"
[zsh-autocomplete]="https://github.com/marlonrichert/zsh-autocomplete.git"
)
for plugin in "${!OMZ_PLUGINS[@]}"; do
target="${ZSH_CUSTOM}/plugins/${plugin}"
if [[ ! -d "${target}" ]]; then
echo "[customize] Cloning OMZ plugin: ${plugin}"
git clone --depth=1 "${OMZ_PLUGINS[${plugin}]}" "${target}"
fi
done
# ── LazyVim (lazy.nvim bootstraps on first launch, but pre-clone the plugin) ─
NVIM_DATA="${SKEL}/.local/share/nvim"
mkdir -p "${NVIM_DATA}"
if [[ ! -d "${NVIM_DATA}/lazy/lazy.nvim" ]]; then
echo "[customize] Pre-cloning lazy.nvim for LazyVim..."
git clone --filter=blob:none --branch=stable \
https://github.com/folke/lazy.nvim.git "${NVIM_DATA}/lazy/lazy.nvim"
fi
# ── Fish: ensure default shell is set for the live user ──────────────────────
# The live user (usually 'archlinux' or 'root') gets fish as default shell
if command -v fish &>/dev/null; then
echo "[customize] Setting fish as default shell for skel..."
chsh -s /usr/bin/fish root 2>/dev/null || true
fi
# ── Ensure skel directories have correct permissions ─────────────────────────
chmod 700 "${SKEL}/.config" 2>/dev/null || true
find "${SKEL}/.config" -type f -exec chmod 644 {} \; 2>/dev/null || true
find "${SKEL}/.config" -type d -exec chmod 755 {} \; 2>/dev/null || true
find "${SKEL}/.config" -name '*.sh' -exec chmod 755 {} \; 2>/dev/null || true
find "${SKEL}/.local" -type d -exec chmod 755 {} \; 2>/dev/null || true
echo "[customize] Dotfile pre-installation complete."
@@ -0,0 +1,18 @@
groups=(illogical-impulse)
pkgname=illogical-impulse-bibata-modern-classic-bin
pkgver=2.0.6
pkgrel=2
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,39 @@
groups=(illogical-impulse)
pkgname=illogical-impulse-microtex-git
_pkgname=MicroTeX
pkgver=r494.0e3707f
pkgrel=4
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}"
url="https://github.com/end-4/${_pkgname}"
license=('MIT')
depends=(
tinyxml2
gtkmm3
gtksourceviewmm
cairomm
)
makedepends=("git" "cmake")
source=("git+${url}.git")
sha256sums=("SKIP")
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,82 @@
_commit='7511545ee20664e3b8b8d3322c0ffe7567c56f7a'
# Useful links:
# https://git.outfoxxed.me/quickshell/quickshell/commits/branch/master
# https://aur.archlinux.org/packages/quickshell-git
groups=(illogical-impulse)
_prefix='illogical-impulse'
_pkgname=quickshell
pkgname="$_prefix-$_pkgname-git"
pkgver=0.1.0.r1
pkgrel=8
pkgdesc="$_pkgname-git pinned commit and extra deps for $_prefix"
arch=(x86_64 aarch64)
url='https://git.outfoxxed.me/quickshell/quickshell'
options=(!strip)
license=('LGPL-3.0-only')
depends=(
'cpptrace'
'jemalloc'
'mesa'
'qt6-declarative'
'qt6-base'
'qt6-svg'
'libdrm'
'libpipewire'
'libxcb'
'wayland'
# NOTE: Below are custom dependencies of illogical-impulse
qt6-5compat
qt6-avif-image-plugin
qt6-imageformats
qt6-multimedia
qt6-positioning
qt6-quicktimeline
qt6-sensors
qt6-svg
qt6-tools
qt6-translations
qt6-virtualkeyboard
qt6-wayland
kirigami
kdialog
syntax-highlighting
)
makedepends=(
'cli11'
'cmake'
'git'
'ninja'
'qt6-shadertools'
'spirv-tools'
'vulkan-headers'
'wayland'
'wayland-protocols'
)
provides=("$_pkgname" "$_pkgname-git")
conflicts=("$_pkgname" "$_pkgname-git")
_pkgsrc="$_pkgname"
source=("$_pkgsrc::git+$url.git#commit=$_commit"
quickshell-check.hook)
sha256sums=('SKIP'
'8543e21aeaaa5441b73a679160e7601a957f16c433e8d6bd9257e80bd0e94083')
build() {
cd "$_pkgname"
cmake -GNinja -B build \
-DCMAKE_BUILD_TYPE="RelWithDebInfo" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DDISTRIBUTOR="AUR (package: quickshell-git)" \
-DDISTRIBUTOR_DEBUGINFO_AVAILABLE=NO \
-DINSTALL_QML_PREFIX=lib/qt6/qml
cmake --build build
}
package() {
install -Dm644 "quickshell-check.hook" -t "$pkgdir/usr/share/libalpm/hooks"
cd "$_pkgname"
DESTDIR="$pkgdir" cmake --install build
install -Dm644 "LICENSE" -t "$pkgdir/usr/share/licenses/$_pkgname"
}
@@ -0,0 +1,10 @@
[Trigger]
Operation = Upgrade
Operation = Install
Type = Package
Target = qt6-base
Target = qt6-wayland
[Action]
Description = Querying Quickshell compatibility after Qt6 update...
When = PostTransaction
Exec = /usr/bin/quickshell --private-check-compat
+66 -1
View File
@@ -14,19 +14,23 @@ base
base-devel base-devel
bash bash
bat bat
bc
bcachefs-tools bcachefs-tools
bind bind
blueman blueman
bluez bluez
bluez-uttils bluez-utils
bolt bolt
brightnessctl
brltty brltty
btop btop
bullet
btrfs-progs btrfs-progs
bully bully
cachyos-keyring cachyos-keyring
cachyos-mirrorlist cachyos-mirrorlist
catppuccin-cursors-macchiato catppuccin-cursors-macchiato
cava
celt celt
chaotic-keyring chaotic-keyring
chaotic-mirrorlist chaotic-mirrorlist
@@ -34,6 +38,8 @@ cifs-utils
clamav clamav
clonezilla clonezilla
cloud-init cloud-init
cliphist
cmake
cmatrix cmatrix
code code
cowsay cowsay
@@ -50,6 +56,7 @@ dialog
diffutils diffutils
dmidecode dmidecode
dmraid dmraid
ddcutil
dnsmasq dnsmasq
dolphin-plugins dolphin-plugins
dosfstools dosfstools
@@ -69,6 +76,9 @@ exfatprogs
f2fs-tools f2fs-tools
faac faac
faad2 faad2
fish
flac
fontconfig
fastfetch fastfetch
fatresize fatresize
fcitx5 fcitx5
@@ -93,6 +103,7 @@ fzf
ghostty ghostty
ghostty-terminfo ghostty-terminfo
git git
geoclue
glib2-devel glib2-devel
gnome-disk-utility gnome-disk-utility
gnome-font-viewer gnome-font-viewer
@@ -100,6 +111,7 @@ gnome-online-accounts
gnome-power-manager gnome-power-manager
gpart gpart
gparted gparted
go-yq
gpm gpm
gptfdisk gptfdisk
grml-zsh-config grml-zsh-config
@@ -120,13 +132,20 @@ hcxtools
hdparm hdparm
htop htop
hyperv hyperv
hypridle
hyprlock
hyprpolkitagent hyprpolkitagent
hyprpicker
hyprshot
hyprsunset
icu
intel-ucode intel-ucode
inxi inxi
irssi irssi
iw iw
iwd iwd
jfsutils jfsutils
jq
just just
kdeconnect kdeconnect
kde-inotify-survey kde-inotify-survey
@@ -134,6 +153,8 @@ kdenetwork-filesharing
kimageformats kimageformats
kio-admin kio-admin
kio-gdrive kio-gdrive
kirigami
kitty
kitty-terminfo kitty-terminfo
kleopatra kleopatra
kmscon-terminfo kmscon-terminfo
@@ -146,6 +167,14 @@ kwalletmanager
lazygit lazygit
ldns ldns
less less
libass
libdbusmenu-gtk3
libdecor
libevdev
libportal
libportal-gtk4
libqalculate
libpipewire
lftp lftp
libfido2 libfido2
libfprint libfprint
@@ -172,10 +201,12 @@ magic-wormhole
mako mako
man-db man-db
man-pages man-pages
matugen
mc mc
mdadm mdadm
memtest86+ memtest86+
memtest86+-efi memtest86+-efi
meson
meshy-git meshy-git
mkinitcpio mkinitcpio
mkinitcpio-archiso mkinitcpio-archiso
@@ -188,6 +219,7 @@ mplayer
mpv-mpris mpv-mpris
mtools mtools
nano nano
ncurses
nbd nbd
ndisc6 ndisc6
neofetch neofetch
@@ -220,6 +252,7 @@ open-vm-tools
openvpn openvpn
os-prober os-prober
otf-font-awesome otf-font-awesome
otf-space-grotesk
pacman-contrib pacman-contrib
pacserve pacserve
pamixer pamixer
@@ -231,8 +264,11 @@ pcsclite
perl-image-exiftool perl-image-exiftool
piper piper
pipewire-alsa pipewire-alsa
pipewire-pulse
plasma-browser-integration plasma-browser-integration
playerctl
plocate plocate
polkit
power-profiles-daemon power-profiles-daemon
ppp ppp
pptpclient pptpclient
@@ -246,11 +282,24 @@ python-pyquery
python-ufonormalizer python-ufonormalizer
python-uv python-uv
python-virtualenv python-virtualenv
python-aiohttp
python-packaging
qalculate-gtk qalculate-gtk
qemu-full qemu-full
qemu-guest-agent qemu-guest-agent
qt5-quickcontrols2 qt5-quickcontrols2
qt6ct qt6ct
qt6-5compat
qt6-avif-image-plugin
qt6-imageformats
qt6-multimedia
qt6-positioning
qt6-quicktimeline
qt6-sensors
qt6-tools
qt6-translations
qt6-virtualkeyboard
qt6-wayland
rclone rclone
refind refind
reflector reflector
@@ -275,15 +324,18 @@ smartmontools
snapd snapd
sof-firmware sof-firmware
sox sox
songrec
speech-dispatcher speech-dispatcher
squashfs-tools squashfs-tools
sshfs sshfs
ssh-import-id ssh-import-id
starship
steam steam
sudo sudo
swaync swaync
syncthing syncthing
syncthingtray-qt6 syncthingtray-qt6
syntax-highlighting
syslinux syslinux
systemd-resolvconf systemd-resolvconf
tailscale tailscale
@@ -291,6 +343,8 @@ tcpdump
tea tea
terminus-font terminus-font
termshark termshark
tesseract
tesseract-data-eng
testdisk testdisk
texlive-bin texlive-bin
thunar thunar
@@ -310,7 +364,12 @@ ttf-droid
ttf-fantasque-nerd ttf-fantasque-nerd
ttf-fira-code ttf-fira-code
ttf-jetbrains-mono ttf-jetbrains-mono
ttf-jetbrains-mono-nerd
ttf-material-symbols-variable-git
ttf-ms-fonts ttf-ms-fonts
ttf-readex-pro
ttf-rubik-vf
ttf-twemoji
ttf-victor-mono ttf-victor-mono
tty-clock tty-clock
tumbler tumbler
@@ -318,6 +377,7 @@ udftools
uget uget
umockdev umockdev
unrar unrar
upower
upscayl-bin upscayl-bin
uriparser uriparser
usbguard usbguard
@@ -333,6 +393,7 @@ virt-manager
virtualbox-guest-utils-nox virtualbox-guest-utils-nox
vpnc vpnc
wallust wallust
wayland-protocols
wine wine
winetricks winetricks
wireless-regdb wireless-regdb
@@ -340,16 +401,20 @@ wireless_tools
woeusb-ng woeusb-ng
wpa_supplicant wpa_supplicant
wvdial wvdial
wtype
xarchiver xarchiver
xclip xclip
xdg-utils xdg-utils
xdg-user-dirs
xdotool xdotool
xfsprogs xfsprogs
xl2tpd xl2tpd
xwaylandvideobridge xwaylandvideobridge
yay yay
ydotool
yt-dlp yt-dlp
zen-browser-bin zen-browser-bin
yq
zram-generator zram-generator
zsh zsh
zsh-completions zsh-completions