particle-os-modules/modules/soar/module.yml
fiftydinar 23f020a5b3
feat: soar module (#413)
* feat: `soar` module

* fix(soar): Inverted `unlock-repos` logic

* chore(soar): Add `soar` to modules.json

* fix(soar): Logic for detecting if `unlock-repos` is disabled

* fix(docs): Wrong `/usr/` systemd path reference

* chore(soar): Add log for `unlock_repos`

* chore(soar): Add `finished=false` at the beggining of `soar` shell profile

* fix(soar): `/root` being `$HOME` in config

* fix(soar): Wrong `PATH`

I forgot to add `bin` directory

* docs(soar): Clarify that `PATH` needs to be exported only outside of standard config dir

* chore(soar): Unlock extra repos if `unlock-repos` is enabled

* docs(soar): Mention of external repos

* chore(soar): Simplify getting `XDG` directories

* chore(soar): Add removing config in uninstallation script

* chore(soar): Remove whole config directory instead of file in uninstallation script

* fix(soar): Missing quote in uninstallation script

* chore(soar): Make uninstallation script POSIX

* fix(soar): Bad syntax for `soar-upgrade-packages` service `exec`

It's `ExecStart`, not `Exec`.

* fix(soar): Set `auto-upgrade` timer as `--user` instead of `--system`

* chore(soar): Shorten the boot delay & randomize it for `auto-upgrades`

* chore(soar): Add `network-online.target` in `Wants` to systemd service for `auto-upgrades`

* chore(soar): Remove `upgrade-wait-after-boot`, as good defaults are set with no need for changing

* chore(soar): Add option for unlocking the `PATH` in all conditions

* chore(soar): Add `unlock-path` option to typespec

* docs(soar): Add `unlock-path` to `module.yml` example

* chore(soar): Remove condition for checking the `soar.sh` file

If another `soar` module overwrites the previous one, it should be able to overwrite `soar.sh` shell profile too with custom option if set.

* chore(soar): Remove `unlock-path`, as it's too dangerous

* chore(soar): Don't copy update timer & service if `auto-upgrade` is false

* chore(soar): Style fix

* chore(soar): Don't execute `upgrade` when soar is already running

* chore(soar): Use environment variable for `SOAR_CONFIG` to simplify things

* docs(sour): Fix typo

* chore(soar): Use native `soar` command for setting `bincache` repo only

* fix(soar): Make `soar` condition check for  auto-upgrades more reliable

* chore(soar): Some more improvements to auto-update condition check

False positive can happen if some text editor edits some file like `soar-something.txt` or similar.

This assures more that only executed binary is detected.

* chore(soar): Remove duplicate code for setting config

* docs(soar): Add full example of options in `module.yml`

* chore(soar): Rename `unlock-repos` to `additional-repos` & add docs about repo info

* chore(soar): Enable `pkforge-cargo` & `pkgforge-go` repos

* docs: rewordings, run through languagetool

* chore(soar): Add condition in shell profile to check if `soar` PATH already exists

* chore(soar): Disable redundant shellcheck SC2076 in shell profile

* docs: final reword

---------

Co-authored-by: xyny <git@xyny.anonaddy.me>
Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2025-07-26 14:10:21 +00:00

7 lines
224 B
YAML

name: soar
shortdesc: The soar module installs & integrates the soar package manager, as an alternative to Homebrew / Linuxbrew.
example: |
type: soar
additional-repos: true
auto-upgrade: true
upgrade-interval: '3h'