From af3ef1efde048e20a7f30677d0f8c6ce977a6f88 Mon Sep 17 00:00:00 2001 From: jwihardi <84292598+jwihardi@users.noreply.github.com> Date: Fri, 10 Oct 2025 10:06:32 -0400 Subject: [PATCH 1/5] remove opencv useflags (invalid) --- dist-gentoo/useflags | 1 - 1 file changed, 1 deletion(-) diff --git a/dist-gentoo/useflags b/dist-gentoo/useflags index 213166b1b..08be4f6bd 100644 --- a/dist-gentoo/useflags +++ b/dist-gentoo/useflags @@ -74,7 +74,6 @@ gui-libs/libadwaita introspection net-libs/libsoup brotli introspection ssl #dev-libs/gobject-introspection (nothing needed) # dart-sassc handled in the ebuild -eigen ffmpeg jpeg opencl opengl python wayland gtk3 webp ################### SCREENCAPTURE ################### From bc75157b9f9e00e4d4c18f792bc616e762c9299c Mon Sep 17 00:00:00 2001 From: jwihardi Date: Fri, 10 Oct 2025 10:44:12 -0400 Subject: [PATCH 2/5] guru is correctly detected --- dist-gentoo/install-deps.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dist-gentoo/install-deps.sh b/dist-gentoo/install-deps.sh index cc6730475..036479d2e 100644 --- a/dist-gentoo/install-deps.sh +++ b/dist-gentoo/install-deps.sh @@ -16,8 +16,8 @@ if [[ -z $(eselect repository list | grep localrepo) ]]; then v sudo eselect repository enable localrepo fi -if [[ ! $(eselect repository list | grep guru) =~ "guru \*" ]]; then - v sudo eselect repository enable guru +if [[ -z $(eselect repository list | grep -E ".*guru \*.*") ]]; then + v sudo eselect repository enable guru fi arch=$(portageq envvar ACCEPT_KEYWORDS) From c891c9a92117ae51223806c9c02148dc2b77057f Mon Sep 17 00:00:00 2001 From: clsty Date: Tue, 14 Oct 2025 08:34:54 +0800 Subject: [PATCH 3/5] Update dist-*/README.md; Update comment --- dist-arch/README.md | 2 ++ dist-arch/install-deps.sh | 6 +++++- dist-gentoo/README.md | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/dist-arch/README.md b/dist-arch/README.md index 8fd96687f..5722de2ce 100644 --- a/dist-arch/README.md +++ b/dist-arch/README.md @@ -1,4 +1,6 @@ # 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 `./scriptdata/dependencies.conf` (which has been removed now). diff --git a/dist-arch/install-deps.sh b/dist-arch/install-deps.sh index fabdb3cc1..7127a9a94 100644 --- a/dist-arch/install-deps.sh +++ b/dist-arch/install-deps.sh @@ -64,8 +64,12 @@ install-local-pkgbuild() { 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 } diff --git a/dist-gentoo/README.md b/dist-gentoo/README.md index f57ad6aaf..3a41fbb24 100644 --- a/dist-gentoo/README.md +++ b/dist-gentoo/README.md @@ -5,6 +5,7 @@ Note: - This folder should reflect the equivalents of `/dist-arch/` but under Gentoo. - **When `/dist-arch/` is newer than this folder, an update on this folder is very likely needed.** - Useful link: [Commit history on dist-arch/](https://github.com/end-4/dots-hyprland/commits/main/dist-arch) +- See also [Install scripts | illogical-impulse](https://ii.clsty.link/en/dev/inst-script/) ## Contributors - Author: [jwihardi](https://github.com/jwihardi) From 39d25107bd7bf93402892b3ca112de2dcb8ee069 Mon Sep 17 00:00:00 2001 From: clsty Date: Tue, 14 Oct 2025 10:49:14 +0800 Subject: [PATCH 4/5] Update comment (#1061) --- dist-nix/install-deps.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dist-nix/install-deps.sh b/dist-nix/install-deps.sh index 410b4ff27..90d9855c9 100644 --- a/dist-nix/install-deps.sh +++ b/dist-nix/install-deps.sh @@ -12,8 +12,8 @@ # 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 [DeterminateSystems/nix-installer](https://github.com/DeterminateSystems/nix-installer). -# 2. Enable nix (probably in `.zshrc` or `~/.config/fish`). +# 1. install nix via 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. From dd7038adf2ad39ab30385ff32db0f01f38eec3d6 Mon Sep 17 00:00:00 2001 From: clsty Date: Tue, 14 Oct 2025 10:54:25 +0800 Subject: [PATCH 5/5] Use README.md instead of comment.(#1061) --- dist-nix/README.md | 25 +++++++++++++++++++++++++ dist-nix/install-deps.sh | 19 ------------------- 2 files changed, 25 insertions(+), 19 deletions(-) create mode 100644 dist-nix/README.md diff --git a/dist-nix/README.md b/dist-nix/README.md new file mode 100644 index 000000000..24276bb48 --- /dev/null +++ b/dist-nix/README.md @@ -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 dist-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 `./dist-nix/iiqs-hm/` to install all dependencies that `./dist-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. diff --git a/dist-nix/install-deps.sh b/dist-nix/install-deps.sh index 90d9855c9..77697e501 100644 --- a/dist-nix/install-deps.sh +++ b/dist-nix/install-deps.sh @@ -2,22 +2,3 @@ # It's not for directly running. # This file is currently WIP. -# -# NOTE: The dist-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 ./dist-nix/iiqs-hm/ to install all dependencies that `./dist-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 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.