Chuyển đến nội dung

Install scripts

Nội dung này chưa có trong Tiếng Việt

Main method

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

Idempotent

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.

Folder Structrue

Main script: install.sh

  • The script keeps its “data” part under ./scriptdata/. Some files are also shared by other scripts.
  • When the script build something from source, they’re stored under ./cache/. Of course, ./cache is listed on .gitignore.

Main script

Old Dependency Installation Method

The old deps install method mainly involves ./scriptdata/dependencies.conf (which is empty now). It’s not used anymore but I keep the relevant part just in case, e.g. the new install method breaks in future.

There is also a checkdeps.sh:

Current Dependency Installation

Local PKGBUILDs under ./arch-packages/ are used to install dependencies.

The PKGBUILDs contains two forms of dependencies:

  • Package name written in dependencies, like a “meta” package.
  • Normal PKGBUILD content to build dependencies, e.g. AGS, which is often for version controlling.

Future Dependency Installation

See issue#1061 for detail.

Use Guix/Nix package. This is planned but clsty needs to learn Guix/Nix usage and packaging first.

Configuration Files Sync

Mainly use rsync.

Online script

setup.sh:

  • 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 install.sh.

Alternative Update Method

update-dots.sh, created by H0mire in PR#473.