documentation/docs/alpine-desktop-setup/post-install/nix.md
2023-12-30 21:23:24 +01:00

1.8 KiB

Nix (WIP - don't follow)

The Nix package manager is a package manager which allows for user independent packages and a whole lot more (although it's not necessarily minimal). To set it up install it's package and activate it's service:

Setup

# apk add nix
# rc-update add nix-daemon default
# rc-service nix-daemon start

(The nix package is only available in the edge and apk-ample repositories)

And add this line to /etc/nix/nix.conf to globally enable some features which will be necessary later:

experimental-features = nix-command flakes

Don't forget to add your user to the nix group:

# adduser <username> nix

Usage

Nix can be used to manage your $HOME with home-manager and flakes. (Here a link explaining it all)

Now that Nix is up and running utilize the flake that comes with the config files to set up our home for us. But before initialising nix make sure that you set the correct <username> in both flake.nix and home.nix which are located in ~/.config/home-manager. Then after changing those simply run this command from that same directory:

$ nix run . switch

This should have installed nixpkgs-unstable and home-manager. Verify this with:

$ home-manager --version

And thanks to home-manager we can easily set up and manage an entire graphical enviroment with all the necessary packages in one go.

You are now also able to install packages as a user without root from nixpkgs:

$ nix-env -iA nixpkgs.<package>

You can also test a package before installing it with nix-shell -p <program>

To update your system, in ~/.config/home-manager run:

$ nix flake update

Nix-Bubblewrap

NixGL