Pular para o conteúdo
GitHubGitHub (wiki)

Install scripts

Este conteúdo não está disponível em sua língua ainda.

./setup install use sdata/lib/dist-determine to determine $OS_GROUP_ID and then use ./sdata/dist-<OS_GROUP_ID>/install-deps.sh for dependency installation.

We need more scripts sdata/dist-<OS_GROUP_ID>/install-deps.sh to support specific distro using their system package manager.

Requirements:

  • This script should be written in Bash.
  • This script should be idempotent.
  • This script should reflect or cover the equivalents of the packages listed in deps-info.md.
  • If needed, also modify ./sdata/subcmd-install/2.setups.sh to handle special cases for your distro.
  • Create sdata/dist-<OS_GROUP_ID>/.gitignore if files generated during building should not be tracked by Git, for example binary, cache, fetched source tree or archive.

Optional:

  • Create “meta packages” using the prefix illogical-impulse-, so that user can remove them easily without unexpectedly removing the packages that installed by the user for other purposes.
  • Create sdata/dist-<OS_GROUP_ID>/README.md.
  • Create sdata/dist-<OS_GROUP_ID>/uninstall-deps.sh which will be sourced if exists when running ./setup uninstall.
  • Subscribe discussion#2140 to get notifications about updates on sdata/dist-arch/ by GitHub Action bot in future.

When --via-nix is passed to ./setup install, ./sdata/dist-nix/install-deps.sh (still experimental) will be used. It’s not for NixOS, but for nearly every distro.

We need help on sdata/dist-nix/install-deps.sh.

See issue #1061.

The related scripts and files around ./setup install belongs to “main method”, which is developed and maintained mainly by clsty.

The scripts are and should be idempotent, i.e. capable for running multiple times.

This is useful for debugging and a resumable installation, and also provide updating function somehow.

  • Main script: ./setup
  • sdata/:
    • sdata/lib/: Scripts containing reusable codes to be sourced at the beginning.
    • sdata/subcmd-install/: Scripts containing the actual steps for subcommand install.
    • sdata/uv/: For python dependencies handled by uv.
  • sdata/dist-<OS_GROUP_ID>/: Contains the collection of the distro specific install scripts which ./setup install select to use according to the current distro. It also contains other files needed by or related to the distro specific scripts.
  • sdata/dist-nix/: Used when --via-nix is passed. Still experimental.
  • cache/: When the script build something from source, they’re stored under ./cache/. It’s included in .gitignore.

get:

  • Stored in the repo of dots-hyprland-wiki to be served by the doc site directly.
  • When executed, it downloads the dots-hyprland repo and then executes the ./setup install.

See issue#1061 for detail.