%global nixbld_group nixbld Name: nix Version: 0.1 Release: 2%{?dist} Summary: Setup nix for Fedora License: LGPL-2.1-or-later URL: https://nix.dev/manual/nix/stable/installation/nix-security.html Source0: nix.sysusers Source1: README.md BuildArch: noarch %description Package for setting up nix filesystem for Fedora. %package filesystem Summary: Filesystem files for %{name} BuildArch: noarch %description filesystem The package provides the /nix file structure by the nix package manager. This allows the possibility to install nix-core with /nix. %package multiuser Summary: Multi-user mode nix Requires: %{name}-core%{?_isa} Requires: %{name}-daemon%{?_isa} Requires: %{name}-filesystem = %{version}-%{release} %description multiuser This package sets up a multi-user mode nix. If you want single-user mode install the nix-singleuser package instead. %package singleuser Summary: Single user mode nix Requires: %{name}-core%{?_isa} Requires: %{name}-filesystem = %{version}-%{release} %description singleuser This package sets up a single-user mode nix. If you want multi-user mode install the nix-multiuser package instead. %prep %build %install mkdir -p %{buildroot}/nix/store mkdir -p %{buildroot}/nix/var/log/nix/drvs # make per-user directories for d in profiles gcroots; do mkdir -p %{buildroot}/nix/var/nix/$d/per-user chmod 1777 %{buildroot}/nix/var/nix/$d/per-user done for i in db temproots ; do mkdir %{buildroot}/nix/var/nix/$i done touch %{buildroot}/nix/var/nix/gc.lock install -p -D -m 0644 %{SOURCE0} %{buildroot}%{_sysusersdir}/nix-daemon.conf %if 0%{?fedora} < 42 || %{defined el9} || %{defined el10} %pre multiuser %sysusers_create_compat %{SOURCE0} %endif %post singleuser if [ "$1" = 1 ]; then mkdir -p /nix/store mkdir -p /nix/var/log/nix/drvs mkdir -p /nix/var/nix mkdir -p /nix/var/nix/temproots mkdir -p /nix/var/nix/db echo 'Run "sudo chown -R $USER /nix/*" to complete single-user setup' fi %files multiuser %attr(1775,root,%{nixbld_group}) /nix/store %attr(1775,root,%{nixbld_group}) %dir /nix/var/log/nix/drvs %dir %attr(775,root,%{nixbld_group}) /nix/var/nix %ghost /nix/var/nix/daemon-socket/socket %attr(775,root,%{nixbld_group}) /nix/var/nix/profiles %attr(775,root,%{nixbld_group}) /nix/var/nix/temproots %attr(775,root,%{nixbld_group}) /nix/var/nix/db %attr(664,root,%{nixbld_group}) /nix/var/nix/gc.lock %{_sysusersdir}/nix-daemon.conf %files filesystem %dir /nix %dir /nix/var %dir /nix/var/log %dir /nix/var/log/nix %files singleuser %changelog * Fri Aug 15 2025 Jens Petersen - 0.1-1 - initial package derived from petersen/nix