aboutsummaryrefslogtreecommitdiff
path: root/_posts/2018-07-17-running-guix-on-nixos.md
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2020-02-06 02:22:20 -0300
committerEuAndreh <eu@euandre.org>2020-02-06 02:22:20 -0300
commit2bea9a55dd3da16949dc5a8719e842b436565866 (patch)
tree968f5b1b0a59bcecbd7baac38da53b8f2e78e797 /_posts/2018-07-17-running-guix-on-nixos.md
parentCSS tweak code block highlight (diff)
downloadeuandre.org-2bea9a55dd3da16949dc5a8719e842b436565866.tar.gz
euandre.org-2bea9a55dd3da16949dc5a8719e842b436565866.tar.xz
Rewrite md with link references
Diffstat (limited to '_posts/2018-07-17-running-guix-on-nixos.md')
-rw-r--r--_posts/2018-07-17-running-guix-on-nixos.md43
1 files changed, 24 insertions, 19 deletions
diff --git a/_posts/2018-07-17-running-guix-on-nixos.md b/_posts/2018-07-17-running-guix-on-nixos.md
index c12a417..e409f3c 100644
--- a/_posts/2018-07-17-running-guix-on-nixos.md
+++ b/_posts/2018-07-17-running-guix-on-nixos.md
@@ -6,9 +6,10 @@ lang: en
ref: running-guix-on-nixos
---
I wanted to run
-Guix on a NixOS machine. Even though the Guix manual explains how to do
-it [step by step](https://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html#Binary-Installation),
-I needed a few extra ones to make it work properly.
+Guix on a NixOS machine. Even though the Guix manual explains how to do it
+[step by step][0], I needed a few extra ones to make it work properly.
+
+[0]: https://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html#Binary-Installation
I couldn't just install GuixSD because my wireless network card
doesn't have any free/libre drivers (yet).
@@ -18,10 +19,10 @@ doesn't have any free/libre drivers (yet).
Guix requires you to create non-root users that will be used to perform
the builds in the isolated environments.
-The
-[manual](https://www.gnu.org/software/guix/manual/en/html_node/Build-Environment-Setup.html#Build-Environment-Setup)
-already provides you with a ready to run (as root) command for creating
-the build users:
+The [manual][1] already provides you with a ready to run (as root) command for
+creating the build users:
+
+[1]: https://www.gnu.org/software/guix/manual/en/html_node/Build-Environment-Setup.html#Build-Environment-Setup
```bash
groupadd --system guixbuild
@@ -34,10 +35,11 @@ do
done
```
-However, In my personal NixOS I have disabled
-[`users.mutableUsers`](https://nixos.org/nixos/manual/index.html#sec-user-management),
-which means that even if I run the above command it means that they'll
-be removed once I rebuild my OS:
+However, In my personal NixOS I have disabled [`users.mutableUsers`][2], which
+means that even if I run the above command it means that they'll be removed once
+I rebuild my OS:
+
+[2]: https://nixos.org/nixos/manual/index.html#sec-user-management
```shell
$ sudo nixos-rebuild switch
@@ -112,10 +114,11 @@ First I couldn't just copy the `.service` file to `/etc` since in NixOS
that folder isn't writable. But also I wanted the service to be better
integrated with the OS.
-That was a little easier than creating the users, all I had to do was
-translate the provided
-[`guix-daemon.service.in`](https://git.savannah.gnu.org/cgit/guix.git/tree/etc/guix-daemon.service.in?id=00c86a888488b16ce30634d3a3a9d871ed6734a2)
-configuration to an equivalent Nix expression
+That was a little easier than creating the users, all I had to do was translate
+the provided [`guix-daemon.service.in`][3] configuration to an equivalent Nix
+expression
+
+[3]: https://git.savannah.gnu.org/cgit/guix.git/tree/etc/guix-daemon.service.in?id=00c86a888488b16ce30634d3a3a9d871ed6734a2
```ini
# This is a "service unit file" for the systemd init system to launch
@@ -183,9 +186,11 @@ Hello, world!
Some improvements to this approach are:
-1. looking into [NixOS modules](https://nixos.org/nixos/manual/index.html#sec-writing-modules)
- and trying to bundle everything together into a single logical unit;
-2. [build Guix from source](https://www.gnu.org/software/guix/manual/en/html_node/Requirements.html#Requirements)
- and share the Nix store and daemon with Guix.
+1. looking into [NixOS modules][4] and trying to bundle everything together
+ into a single logical unit;
+2. [build Guix from source][5] and share the Nix store and daemon with Guix.
Happy Guix/Nix hacking!
+
+[4]: https://nixos.org/nixos/manual/index.html#sec-writing-modules
+[5]: https://www.gnu.org/software/guix/manual/en/html_node/Requirements.html#Requirements