# alguix
Alpine Linux packages of GNU Guix.
## What is it
alguix is an alpine linux package repository, providing packages related to
guix package manager, hosted at https://mirror.dhruvin.dev/alpine/alguix
## Why did I make it
I contribute to both guix and alpine. I was looking for a way to bring guix
closer to alpine. I initially [tried to port
it](https://gitlab.alpinelinux.org/dhruvin/aports/-/tree/guix) to
alpine (`<arch>-unknown-linux-musl`). But I failed, sort of. guix compiles
nicely, but errors out a lot at runtime, since the target is not supported by
upstream.
What now? guix is self-contained. It should be easier to just *plop* it on any
linux distro. So I just did that. For now, alguix, the repository, contains
`guix-binary` package that has all necessary runtime dependencies of guix to be
able to run on alpine linux. Including, well I'm just gonna say it, glibc.
I can now peacefully develop packages for guix on alpine. What an abomination!
### Why did I really make it
Because I just wanted to experiment with hosting my own alpine package
repository. How did it go? Pretty well.
## How to use it
1. Download the signing key to `/etc/apk/keys`:
```shell
doas wget -qO \
/etc/apk/keys/alguix.rsa.pub \
"https://mirror.dhruvin.dev/alpine/alguix/alguix.rsa.pub"
```
2. Add the repository to `/etc/apk/repositories`:
```shell
echo "https://mirror.dhruvin.dev/alpine/alguix" \
| doas tee -a /etc/apk/repositories \
> /dev/null
```
3. Update and install `guix-binary`:
```shell
doas apk update \
&& doas apk add guix-binary
```
4. Start `guix-daemon`:
```shell
doas rc-service guix-daemon start
```
5. Optionally, add `guix-daemon` to default runlevel:
```shell
doas rc-update add guix-daemon default
```
6. Optionally, enable `https://ci.guix.gnu.org` substitute server:
```
doas guix archive --authorize < \
/var/guix/profiles/per-user/root/current-guix/share/guix/ci.guix.gnu.org.pub
```
7. Optionally, follow steps in the [Application
Setup](https://guix.gnu.org/manual/en/html_node/Application-Setup.html)
guide.
## License
[GPL-3.0-or-later](LICENSES/GPL-3.0-or-later.txt)