mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-04-24 15:27:17 +00:00
move logic to separated shell scripts and also create shell script for repository setup Also force create directory according to systemd recommendations
67 lines
2.7 KiB
Markdown
67 lines
2.7 KiB
Markdown
# Setup instructions
|
|
|
|
1. Install package as usual.
|
|
2. Change settings if required, see [configuration reference](configuration.md) for more details.
|
|
3. TL;DR
|
|
|
|
```shell
|
|
sudo -u ahriman ahriman -a x86_64 repo-init
|
|
sudo ahriman -a x86_64 repo-setup ...
|
|
```
|
|
|
|
`repo-init` subcommand is required to create the repository tree with correct rights. `repo-setup` literally does the following steps:
|
|
|
|
1. Create `/var/lib/ahriman/.makepkg.conf` with `makepkg.conf` overrides if required (at least you might want to set `PACKAGER`):
|
|
|
|
```shell
|
|
echo 'PACKAGER="John Doe <john@doe.com>"' | sudo -u ahriman tee -a /var/lib/ahriman/.makepkg.conf
|
|
```
|
|
|
|
2. Configure build tools (it is required for correct dependency management system):
|
|
|
|
1. Create build command, e.g. `ln -s /usr/bin/archbuild /usr/local/bin/ahriman-x86_64-build` (you can choose any name for command, basically it should be `{name}-{arch}-build`).
|
|
2. Create configuration file, e.g. `cp /usr/share/devtools/pacman-{extra,ahriman}.conf` (same as previous `pacman-{name}.conf`).
|
|
3. Change configuration file, add your own repository, add multilib repository etc;
|
|
4. Set `build_command` option to point to your command.
|
|
5. Configure `/etc/sudoers.d/ahriman` to allow running command without a password.
|
|
|
|
```shell
|
|
ln -s /usr/bin/archbuild /usr/local/bin/ahriman-x86_64-build
|
|
cp /usr/share/devtools/pacman-{extra,ahriman}.conf
|
|
|
|
echo '[multilib]' | tee -a /usr/share/devtools/pacman-ahriman.conf
|
|
echo 'Include = /etc/pacman.d/mirrorlist' | tee -a /usr/share/devtools/pacman-ahriman.conf
|
|
|
|
echo '[aur-clone]' | tee -a /usr/share/devtools/pacman-ahriman.conf
|
|
echo 'SigLevel = Optional TrustAll' | tee -a /usr/share/devtools/pacman-ahriman.conf
|
|
echo 'Server = file:///var/lib/ahriman/repository/$arch' | tee -a /usr/share/devtools/pacman-ahriman.conf
|
|
|
|
echo '[build]' | tee -a /etc/ahriman.ini.d/build.ini
|
|
echo 'build_command = ahriman-x86_64-build' | tee -a /etc/ahriman.ini.d/build.ini
|
|
|
|
echo 'Cmnd_Alias CARCHBUILD_CMD = /usr/local/bin/ahriman-x86_64-build *' | tee -a /etc/sudoers.d/ahriman
|
|
echo 'ahriman ALL=(ALL) NOPASSWD: CARCHBUILD_CMD' | tee -a /etc/sudoers.d/ahriman
|
|
chmod 400 /etc/sudoers.d/ahriman
|
|
```
|
|
|
|
4. Start and enable `ahriman@.timer` via `systemctl`:
|
|
|
|
```shell
|
|
systemctl enable --now ahriman@x86_64.timer
|
|
```
|
|
|
|
5. Start and enable status page:
|
|
|
|
```shell
|
|
systemctl enable --now ahriman-web@x86_64
|
|
```
|
|
|
|
6. Add packages by using `ahriman package-add {package}` command:
|
|
|
|
```shell
|
|
sudo -u ahriman ahriman -a x86_64 package-add yay --now
|
|
```
|
|
|
|
## User creation
|
|
|
|
`user-add` subcommand is recommended for new user creation. |