Update deps-info.md (close #2102)

This commit is contained in:
clsty
2025-11-11 10:36:03 +08:00
parent 60ef4a873d
commit febe3d53e3
3 changed files with 300 additions and 158 deletions
+227 -82
View File
@@ -1,86 +1,231 @@
## Status: WIP
This file was generated by AI (see [#2102](https://github.com/end-4/dots-hyprland/issues/2102)).
It still needs manual correction.
This file contains information about the dependencies, currently it describes about `sdata/dist-arch/`.
## Information
Meta-packages (from sdata/dist-arch/install-deps.sh)
- illogical-impulse-basic
- Purpose: Core shell tooling used by scripts (general CLI utilities, build helpers, JSON processing, etc.).
- illogical-impulse-audio
- Purpose: Audio stack (e.g., PipeWire/WirePlumber, mixers, control UIs) used by widgets and desktop integrations.
- illogical-impulse-backlight
- Purpose: Screen brightness control utilities (e.g., brightnessctl).
- illogical-impulse-fonts-themes
- Purpose: Fonts and themes used across the shell/widgets (Noto, emoji fonts, icon themes, GTK/Qt themes).
- illogical-impulse-kde
- Purpose: KDE integration bits (dialogs, theming helpers, optional browser integration).
- illogical-impulse-portal
- Purpose: Desktop portals (e.g., xdg-desktop-portal and Wayland compositor-specific portals).
- illogical-impulse-python
- Purpose: Python 3 and libs for repo Python scripts and virtualenv activation.
- illogical-impulse-screencapture
- Purpose: Screenshot/recording tools on Wayland (e.g., grim, slurp, wf-recorder or similar).
- illogical-impulse-toolkit
- Purpose: General utilities used by scripts (jq, imagemagick, bc, etc.).
- illogical-impulse-widgets
- Purpose: Runtime deps for Quickshell widgets and supporting tools used in the UI modules.
- illogical-impulse-hyprland
- Purpose: Hyprland compositor and related tools (hyprland, hyprctl, hypridle, hyprlock, hyprcursor, portals).
- illogical-impulse-microtex-git
- Purpose: MicroTeX-related setup used by this config (custom packaging).
- illogical-impulse-bibata-modern-classic-bin (optional)
- Purpose: Bibata Modern Classic mouse cursor theme (installed only if not present).
# Meta packages
## illogical-impulse-audio
- `cava`
- Used in Quickshell config.
- `pavucontrol-qt`
- Used in Hyprland and Quickshell config.
- `wireplumber`
- Not explicitly used.
- `pipewire-pulse`
- not explicitly used.
- `libdbusmenu-gtk3`
- not explicitly used.
- `playerctl`
- Used in Hyprland and Quickshell config.
Concrete dependencies inferred from repository scripts
- hyprland (provides hyprctl)
- Purpose: Compositor
- jq
- Used by: switchwall.sh (JSON parsing), multiple scripts reading config.json, hyprctl -j output.
- Purpose: JSON parsing and transformation.
- matugen (AUR)
- Used by: switchwall.sh to generate Material You colors from image or color input.
- Purpose: Color extraction and scheme generation.
- python (python3) + virtualenv (python-virtualenv)
- Used by: switchwall.sh activates $ILLOGICAL_IMPULSE_VIRTUAL_ENV and runs generate_colors_material.py.
- Purpose: Color processing
- imagemagick (identify)
- Used by: switchwall.sh to probe image width/height to suggest upscaling.
- Purpose: Image metadata inspection.
- bc
- Used by: switchwall.sh for simple arithmetic on cursor coordinates.
- Purpose: Shell-friendly math.
- xdg-user-dirs (xdg-user-dir)
- Used by: switchwall.sh to locate Pictures folder.
- Purpose: XDG directories resolution.
- libnotify (notify-send)
- Used by: switchwall.sh to interactively prompt actions (install/open apps) via notifications.
- Purpose: Desktop notifications with actions.
- hyprpicker (AUR)
- Used by: switchwall.sh for picking colors from screen when --color is passed without hex.
- Purpose: On-screen color picker (Wayland).
- mpvpaper (AUR)
- Used by: switchwall.sh to set video wallpapers per monitor.
- Purpose: Video wallpaper playback under Wayland.
- ffmpeg
- Used by: switchwall.sh to extract a frame from videos to derive colors and thumbnails.
- Purpose: Video frame extraction and media handling.
- kitty
- Used by: switchwall.sh to run interactive installs or external tools in a terminal (kitty -1 ...).
- Purpose: Terminal emulator integration.
- kdialog (KDE)
- Used by: switchwall.sh to open a file picker for choosing wallpapers.
- Purpose: GUI file selection dialog.
- glib2 (gsettings) + dconf
- Used by: switchwall.sh to set GNOME interface color-scheme and GTK theme.
- Purpose: System settings manipulation.
- yay (or yay-bin from AUR)
- Used by: sdata/dist-arch/install-deps.sh to build/install local PKGBUILDs and dependencies.
- Purpose: AUR helper used by installer.
- base-devel, git, makepkg (core Arch tooling)
- Used by: sdata/dist-arch/install-deps.sh and update.sh for building AUR/PKGBUILD packages and repository management.
- Purpose: Build toolchain and VCS for packaging.
## illogical-impulse-backlight
- `geoclue`
- Which demo agent used in Quickshell config.
- `brightnessctl`
- Used in Hyprland and Quickshell config.
- `ddcutil`
- Used in Quickshell config.
## illogical-impulse-basic
- `bc`
- Used in `quickshell/ii/scripts/colors/switchwall.sh` for example.
- `coreutils`
- Too many executables involved, not sure where been used.
- `cliphist`
- Used in Hyprland and Quickshell config.
- `cmake`
- Used in building quickshell and MicroTeX.
- `curl`
- Used in Quickshell config.
- `wget`
- Used in Quickshell config.
- `ripgrep`
- Not sure where been used.
- `jq`
- Widely used.
- `xdg-user-dirs`
- Used in Hyprland and Quickshell config.
- `rsync`
- Used in install script.
- `go-yq`
- Used in install script.
## illogical-impulse-fonts-themes
- `adw-gtk-theme-git`
- [source](https://github.com/lassekongo83/adw-gtk3)
- Used in Quickshell config.
- `breeze`
- Used in kdeglobals config.
- `breeze-plus`
- [source](https://github.com/mjkim0727/breeze-plus)
- Used in kde-material-you-colors config.
- `darkly-bin`
- `darkly` is supposed to be set as the theme for Qt apps, just have not figured out how to properly set it yet.
- `eza`
- Used in Fish config: `alias ls 'eza --icons'`
- `fish`
- Widely used.
- `fontconfig`
- Basic component which is nearly a must.
- `kitty`
- Used in fuzzel, Hyprland, kdeglobals and Quickshell config; kitty config is also included as dots.
- `matugen-bin`
- Used in Quickshell.
- `otf-space-grotesk`
- [source](https://events.ccc.de/congress/2024/infos/styleguide.html)
- Used in Quickshell and matugen config.
- `starship`
- Used in Fish config.
- `ttf-gabarito-git`
- Font name: `Gabarito`
- Used in fuzzel and Quickshell config.
- `ttf-jetbrains-mono-nerd`
- Font name: `JetBrains Mono NF`, `JetBrainsMono Nerd Font`.
- Used in foot, kdeglobals, kitty, qt5ct, qt6ct and Quickshell config.
- `ttf-material-symbols-variable-git`
- Font name: `Material Symbols Rounded`, `Material Symbols Outlined`
- Used in Hyprland, matugen, Quickshell and wlogout config.
- `ttf-readex-pro`
- Font name: `Readex Pro`
- Used in Quickshell config.
- `ttf-roboto-flex`
- Font name: `Roboto Flex`
- Used in Hyprland, matugen and Quickshell config.
- `ttf-rubik-vf`
- Font name: `Rubik`, `Rubik Light`
- Used in Hyprland, kdeglobals, matugen, qt5ct, qt6ct and Quickshell config.
- `ttf-twemoji`
- Not explicitly used, but it may help as fallback for displaying emoji charaters.
## illogical-impulse-hyprland
- `hypridle`
- Used for loginctl to lock session.
- `hyprland`
- Surely needed.
- `hyprlock`
- Installed as fallback; its config is also included.
- `hyprpicker`
- Used in Hyprland and Quickshell config.
- `hyprsunset`
- Used in Quickshell config.
- `xdg-desktop-portal-hyprland`
- DUPLICATE
- `wl-clipboard`
- Surely needed.
## illogical-impulse-kde
- `bluedevil`
- Seems not being used anywhere, maybe a part of KDE settings panel.
- `gnome-keyring`
- Provide executable `gnome-keyring-daemon`, used in Hyprland and Quickshell config.
- `networkmanager`
- Basic component.
- `plasma-nm`
- Seems not being used anywhere, maybe a part of KDE settings panel.
- `polkit-kde-agent`
- Basic component.
- `dolphin`
- Used in Hyprland and Quickshell config.
- `systemsettings`
- Used in Hyprland `keybinds.conf`.
Notes
- Some Hyprland-adjacent packages appear in a legacy removal list as -git variants (e.g., hypridle, hyprlock, xdg-desktop-portal-hyprland). This suggests the meta-packages likely standardized on stable repo versions now.
- Exact package lists per meta-package should be verified against the PKGBUILD files in sdata/dist-arch/*; the above is aligned with how the code uses these tools.
## illogical-impulse-portal
- `xdg-desktop-portal`
- Basic component.
- `xdg-desktop-portal-kde`
- Basic component.
- `xdg-desktop-portal-gtk`
- Basic component.
- `xdg-desktop-portal-hyprland`
- Basic component.
## illogical-impulse-python
- `clang`
- Some python package may need this to be built, e.g. #1235. This may varies on different distros though.
- `uv`
- Used for python venv.
- `gtk4`
- Not explicitly used.
- `libadwaita`
- Not explicitly used.
- `libsoup3`
- Not explicitly used.
- `libportal-gtk4`
- Not explicitly used.
- `gobject-introspection`
- Not explicitly used.
## illogical-impulse-screencapture
- `hyprshot`
- Used in Hyprland `keybinds.conf` as fallback.
- `slurp`
- Used in Hyprland and Quickshell config.
- `swappy`
- Used in Quickshell config.
- `tesseract`
- Used in Quickshell and Hyprland config.
- `tesseract-data-eng`
- Used as data for tesseract.
- `wf-recorder`
- Used in Quickshell config.
## illogical-impulse-toolkit
- `upower`
- Used in Quickshell config.
- `wtype`
- Used in Hyprland `scripts/fuzzel-emoji.sh`
- `ydotool`
- Used in Quickshell config.
## illogical-impulse-widgets
- `fuzzel`
- Used in Hyprland and Quickshell config; its config is also included.
- `glib2`
- Provides executable `gsettings`
- Used in install script, also in matugen and quickshell config.
- `imagemagick`
- Provides executable: `magick`
- Used in Quickshell config.
- `hypridle` (DUPLICATE)
- `hyprutils` (DUPLICATE)
- `hyprlock` (DUPLICATE)
- `hyprpicker` (DUPLICATE)
- `songrec`
- Used in Quickshell config.
- `translate-shell`
- Used in Quickshell config.
- `wlogout`
- Used in Hyprland config.
# Actual packages
## illogical-impulse-quickshell-git
- Pinned commit.
- Also with extra dependencies (mainly Qt things) needed by the illogical-impulse Quickshell config.
Extra dependencies.
- `qt6-base`
- `qt6-declarative`
- `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`
- `kdialog`
- `syntax-highlighting`
## illogical-impulse-bibata-modern-classic-bin
- [source](https://github.com/ful1e5/Bibata_Cursor)
- Used in Hyprland config, not necessary.
## illogical-impulse-microtex-git
- [source](https://github.com/NanoMichael/MicroTeX)
- This package will be installed as `/opt/MicroTeX`.
## illogical-impulse-oneui4-icons-git
- [source](https://github.com/end-4/OneUI4-Icons)
- Customed version of normal oneui4-icons.