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 b8e8c024e..528bc45a9 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) diff --git a/dist-gentoo/useflags b/dist-gentoo/useflags index 632528f6c..c3e12ed8e 100644 --- a/dist-gentoo/useflags +++ b/dist-gentoo/useflags @@ -115,4 +115,3 @@ gui-apps/quickshell -X -i3 -i3-ipc -breakpad bluetooth hyprland hyprland-focus-g #app-i18n/translate-shell (nothing needed) #gui-apps/wlogout (no use flags) media-gfx/imagemagick xml - 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 410b4ff27..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 [DeterminateSystems/nix-installer](https://github.com/DeterminateSystems/nix-installer). -# 2. Enable nix (probably in `.zshrc` or `~/.config/fish`). -# 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.