2.1 KiB
Nix
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).
Setup
To set nix
up install its package and activate its service:
# apk add nix
# rc-update add nix-daemon default
# rc-service nix-daemon start
(The
nix
package is only available in theedge
andapk-ample
repositories)
Don't forget to add your user to the nix group:
# adduser <username> nix
Channels
For nix
to be able to install packages it is necessary to add a few channels:
$ nix-channel --add https://nixos.org/channels/nixos-23.11 nixpkgs
$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixpkgs-unstable
$ nix-channel --add https://github.com/nix-community/nixGL/archive/main.tar.gz nixgl && nix-channel --update
$ nix-channel --update
Usage
Nix can be used to manage your $HOME
with home-manager
. First install home-manager
through:
$ nix-env -iA nixpkgs.home-manager
Now that Nix is up and running utilize the home.nix
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 home.nix
which is located in ~/.config/home-manager
. Then after changing that simply run this command:
$ home-manager switch
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>
But for reproducability it's better to use home-manager
by declaring them in a .nix
file and importing that within home.nix
.
You can also test a package before installing it with nix-shell -p <program>
NixGL
nixGL
is necessary to be able to run graphical programs and sessions which are installed through nix
. It should have been installed with home-manager
.
Some applications might need vulkan in which case the program has to be prefixed with:
$ nixVulkanIntel <program>