diff --git a/14593.patch b/14593.patch new file mode 100644 index 0000000..e406e61 --- /dev/null +++ b/14593.patch @@ -0,0 +1,61 @@ +From ef6dbe76dc25e67b47dc9a8caa6dd29ff5996a20 Mon Sep 17 00:00:00 2001 +From: Jens Petersen +Date: Wed, 19 Nov 2025 15:50:43 +0800 +Subject: [PATCH] docs: fixup some rellinks to use ./ prefix for consistency + +"./" prefix is already used almost everywhere +--- + doc/manual/source/command-ref/nix-build.md | 6 +++--- + doc/manual/source/command-ref/nix-instantiate.md | 2 +- + src/nix/profile-diff-closures.md | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/doc/manual/source/command-ref/nix-build.md b/doc/manual/source/command-ref/nix-build.md +index 3bb59cbed12..860a1fc9745 100644 +--- a/doc/manual/source/command-ref/nix-build.md ++++ b/doc/manual/source/command-ref/nix-build.md +@@ -36,7 +36,7 @@ to a temporary location. The tarball must include a single top-level + directory containing at least a file named `default.nix`. + + `nix-build` is essentially a wrapper around +-[`nix-instantiate`](nix-instantiate.md) (to translate a high-level Nix ++[`nix-instantiate`](./nix-instantiate.md) (to translate a high-level Nix + expression to a low-level [store derivation]) and [`nix-store + --realise`](@docroot@/command-ref/nix-store/realise.md) (to build the store + derivation). +@@ -52,8 +52,8 @@ derivation). + # Options + + All options not listed here are passed to +-[`nix-store --realise`](nix-store/realise.md), +-except for `--arg` and `--attr` / `-A` which are passed to [`nix-instantiate`](nix-instantiate.md). ++[`nix-store --realise`](./nix-store/realise.md), ++except for `--arg` and `--attr` / `-A` which are passed to [`nix-instantiate`](./nix-instantiate.md). + + - [`--no-out-link`](#opt-no-out-link) + +diff --git a/doc/manual/source/command-ref/nix-instantiate.md b/doc/manual/source/command-ref/nix-instantiate.md +index 38454515d57..bac9f365933 100644 +--- a/doc/manual/source/command-ref/nix-instantiate.md ++++ b/doc/manual/source/command-ref/nix-instantiate.md +@@ -32,7 +32,7 @@ standard input. + + - `--add-root` *path* + +- See the [corresponding option](nix-store.md) in `nix-store`. ++ See the [corresponding option](./nix-store.md) in `nix-store`. + + - `--parse` + +diff --git a/src/nix/profile-diff-closures.md b/src/nix/profile-diff-closures.md +index 295d1252bcd..1cfed160f31 100644 +--- a/src/nix/profile-diff-closures.md ++++ b/src/nix/profile-diff-closures.md +@@ -23,6 +23,6 @@ R""( + + This command shows the difference between the closures of subsequent + versions of a profile. See [`nix store +-diff-closures`](nix3-store-diff-closures.md) for details. ++diff-closures`](./nix3-store-diff-closures.md) for details. + + )"" diff --git a/README.md b/README.md index 7776ecb..ca73bac 100644 --- a/README.md +++ b/README.md @@ -5,38 +5,52 @@ Nix has two different modes of operation: ## Daemon mode for multi-user setup This is recommended by upstream and more seamless. +The `nix-daemon` requires functioning systemd. -Just install the `nix` or `nix-daemon` package -(the latter is recommended by the `nix` package) and run: +Just install the `nix` package, which pulls in `nix-daemon`, +by running: ``` -$ sudo dnf install nix-daemon +$ sudo dnf install nix nix-daemon $ sudo systemctl enable --now nix-daemon ``` ## Single-user mode without nix-daemon -This mode works in rootless containers without systemd. +This mode also works in rootless containers and without systemd. Run: ``` -$ sudo dnf install nix nix-system --exclude nix-daemon -$ sudo usermod -G nixbld -a $USER +$ sudo dnf install nix --exclude nix-daemon +$ sudo usermod -aG nixbld $USER ``` +and restart your login session: +make sure the `nixbld` group appears in `id` output. -Alternatively you can try this hack to have the nix store within your homedir: +This avoids the need to run nix-daemon. + +## Rootless nix store under /home + +Alternatively one can run rootless nix (which uses chroots) with just: ``` -$ dnf install nix nix-filesystem --exclude nix-daemon --exclude nix-system -$ sudo ln -s ~/.local/share/nix/root/nix/store /nix/ +$ dnf install nix-core nix-legacy ``` -(the symlink is needed for interactive bash - otherwise one gets error like: -`error: executing shell '/nix/store/2j7r5np0vaz4cnqkymp1mqivmjj1x9xl-bash-interactive-5.3p3/bin/bash': No such file or directory`). -(Note this only works without `/nix/var/nix/`.) +The user nix store is: `~/.local/share/nix/root/nix/store`. + +This also allows sharing one's nix store with toolboxes, etc. +However then nix profiles can only be used inside nix shells. + +## Nixpkgs +You may want to setup a default nix channel. +``` +$ nix-channel add https://nixos.org/channels/nixos-25.11 nixpkgs +``` +for legacy commands, if you don't want to use rolling nixos-unstable. # Testing A simple way to check nix is working is to run e.g. `nix-shell -p hello`. -After a short while of downloading, this should put you in +After a while of downloading, this should put you in a nix shell subprocess where you should be able to run `hello`. -Run `nix help` to learn more about the nix CLI -or read . +Run `nix --help` to learn more about the nix CLI +or read . diff --git a/changelog b/changelog new file mode 100644 index 0000000..e5e06d1 --- /dev/null +++ b/changelog @@ -0,0 +1,68 @@ +* Mon Oct 27 2025 Jens Petersen - 2.31.2-8 +- drop redundant sysusers and tmpfiles.d scriptlets (#2388768) +- add obsoletes for petersen/nix copr subpackages + +* Sat Oct 25 2025 Jens Petersen - 2.31.2-7 +- recommends nix-daemon if systemd + +* Sat Oct 25 2025 Jens Petersen - 2.31.2-6 +- rename users subpackage to system +- improve /nix/var dirs ownership and perms +- rename sysusers file to nix.conf +- move nix-daemon tmpfiles.d to nix-daemon + +* Sat Oct 25 2025 Jens Petersen - 2.31.2-5 +- split nix-users from nix-daemon and drop nix-singleuser +- drop all conflicts + +* Fri Oct 24 2025 Jens Petersen - 2.31.2-4 +- drop filesystem subpackage and ghost singleuser dirs +- nix-daemon and nix-singleuser conflict with each other + +* Thu Oct 23 2025 Jens Petersen - 2.31.2-3 +- use tmpfiles.d for nix-filesystem +- improve the readme +- list bin files explicitly +- nix-singleuser now owns its dirs +- add nix-daemon conflicts for ostree and containers +- add nix-singleuser recommends for containers + +* Sat Oct 18 2025 Jens Petersen - 2.31.2-2 +- FHS Exception for /nix was approved (https://pagure.io/fesco/issue/3473) +- add multiuser setup to daemon subpackage +- add singleuser and nix-filesystem subpackages + +* Mon Sep 22 2025 Jens Petersen - 2.31.2-1 +- update to 2.31.2 + +* Wed Sep 17 2025 Jens Petersen - 2.31.1-6 +- list .so files explicitly without globbing (#2388768) +- disable /usr/lib/tmpfiles.d/nix-daemon.conf for now (#2388768) + +* Mon Sep 15 2025 Jens Petersen - 2.31.1-5 +- set the soversion to the nix version (#13995, #14001, #14005) + +* Sun Sep 14 2025 Jens Petersen - 2.31.1-4 +- add simple check with LD_LIBRARY_PATH + +* Fri Sep 12 2025 Jens Petersen - 2.31.1-3 +- revert to shared libs, add libs subpackage and restore devel +- apply upstream submitted PR to enable soname versioning (#13966) + +* Thu Sep 11 2025 Jens Petersen - 2.31.1-2 +- noarch nix-daemon subpackage cannot use _isa requires + +* Wed Sep 10 2025 Jens Petersen - 2.31.1-1 +- https://github.com/NixOS/nix/blob/2.31.1/doc/manual/source/release-notes/rl-2.31.md +- rename nix-core to base package +- use readline (#2388768) +- improve MESON_OPTS setup (zbyszek, #2388768) +- use static libs and drop devel package +- disable perl binding + +* Sat Aug 16 2025 Jens Petersen - 2.30.2-2 +- fix nix-devel requires +- add systemd scriptlets for nix-daemon + +* Fri Aug 15 2025 Jens Petersen - 2.30.2-1 +- initial packaging of nix programs without /nix diff --git a/examples/flake/flake.nix b/examples/flake/flake.nix index e7e63c1..8f8c3f9 100644 --- a/examples/flake/flake.nix +++ b/examples/flake/flake.nix @@ -1,20 +1,13 @@ { - description = "A basic dev shell for a single system."; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; - }; - - outputs = { self, nixpkgs, builtins }: - let - # or hardcode "x86_64-linux" - system = builtins.currentSystem; - pkgs = import nixpkgs { inherit system; }; - in - { - devShells.${system}.default = pkgs.mkShell { - packages = with pkgs; [ hello ]; - }; - }; + outputs = { self, nixpkgs, flake-utils }: + flake-utils.lib.eachDefaultSystem (system: + let + pkgs = import nixpkgs { inherit system; }; + in + { + devShells.default = pkgs.mkShell { + packages = with pkgs; [ hello ]; + }; + }); } # Run with: nix develop diff --git a/nix-disable-mdbook.patch b/nix-disable-mdbook.patch new file mode 100644 index 0000000..1453525 --- /dev/null +++ b/nix-disable-mdbook.patch @@ -0,0 +1,46 @@ +--- nix-2.31.2/doc/manual/meson.build~ 2025-09-18 04:25:38.000000000 +0800 ++++ nix-2.31.2/doc/manual/meson.build 2025-11-13 00:26:04.673032194 +0800 +@@ -7,7 +7,7 @@ + + nix = find_program('nix', native : true) + +-mdbook = find_program('mdbook', native : true) ++# mdbook = find_program('mdbook', native : true) + bash = find_program('bash', native : true) + rsync = find_program('rsync', required : true, native : true) + +@@ -89,13 +89,12 @@ +- @0@ @INPUT1@ summary @2@ < @CURRENT_SOURCE_DIR@/source/SUMMARY.md.in > @2@/source/SUMMARY.md +- sed -e 's|@version@|@3@|g' < @INPUT2@ > @2@/book.toml + @4@ -r --include='*.md' @CURRENT_SOURCE_DIR@/ @2@/ +- (cd @2@; RUST_LOG=warn @1@ build -d @2@ 3>&2 2>&1 1>&3) | { grep -Fv "because fragment resolution isn't implemented" || :; } 3>&2 2>&1 1>&3 +- rm -rf @2@/manual +- mv @2@/html @2@/manual +- find @2@/manual -iname meson.build -delete ++ # (cd @2@; RUST_LOG=warn @1@ build -d @2@ 3>&2 2>&1 1>&3) | { grep -Fv "because fragment resolution isn't implemented" || :; } 3>&2 2>&1 1>&3 ++ #rm -rf @2@/manual ++ #mv @2@/html @2@/manual ++ #find @2@/manual -iname meson.build -delete ++ ln -s source @2@/markdown + '''.format( + python.full_path(), +- mdbook.full_path(), ++ 'no-mdbk', + meson.current_build_dir(), + meson.project_version(), + rsync.full_path(), +@@ -130,10 +130,10 @@ + manual_html = manual[0] + manual_md = manual[1] + +-install_subdir( +- manual_html.full_path(), +- install_dir : get_option('datadir') / 'doc/nix', +-) ++# install_subdir( ++# manual_html.full_path(), ++# install_dir : get_option('datadir') / 'doc/nix', ++# ) + + nix_nested_manpages = [ + [ diff --git a/nix.spec b/nix.spec index 8d7c8db..0be06a0 100644 --- a/nix.spec +++ b/nix.spec @@ -1,7 +1,7 @@ %global nixbld_group nixbld # needs mdbook: https://bugzilla.redhat.com/show_bug.cgi?id=2332609 -%bcond docs 0 +%bcond docs 1 # test failures complain NIX_STORE undefined # and missing rapidcheck %bcond tests 0 @@ -10,7 +10,7 @@ Name: nix # 2.32 needs boost >= 1.87 (https://bugzilla.redhat.com/show_bug.cgi?id=2406036) # (https://github.com/NixOS/nix/pull/14340) Version: 2.31.2 -Release: 8%{?dist} +Release: %autorelease Summary: A purely functional package manager License: LGPL-2.1-or-later @@ -30,6 +30,11 @@ Patch1: https://patch-diff.githubusercontent.com/raw/NixOS/nix/pull/1400 Patch2: https://patch-diff.githubusercontent.com/raw/NixOS/nix/pull/14005.patch # https://github.com/NixOS/nix/pull/14018 Patch3: https://patch-diff.githubusercontent.com/raw/NixOS/nix/pull/14018.patch +# disable mdbook +# https://github.com/NixOS/nix/issues/14548 +Patch4: nix-disable-mdbook.patch +# https://github.com/NixOS/nix/pull/14593 +Patch5: https://patch-diff.githubusercontent.com/raw/NixOS/nix/pull/14593.patch # https://nixos.org/manual/nix/unstable/installation/prerequisites-source # missing aws-cpp-sdk-s3 aws-c-auth aws-c-s3 @@ -47,6 +52,7 @@ BuildRequires: busybox BuildRequires: cmake %if %{with docs} BuildRequires: doxygen +BuildRequires: rsync %endif BuildRequires: flex BuildRequires: gc-devel @@ -78,22 +84,35 @@ BuildRequires: sqlite-devel BuildRequires: systemd-rpm-macros BuildRequires: toml11-devel BuildRequires: xz-devel -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Recommends: (%{name}-daemon = %{version}-%{release} if systemd) -Recommends: %{name}-system = %{version}-%{release} +Requires: nix-core = %{version}-%{release} +Requires: nix-system = %{version}-%{release} +Recommends: (nix-daemon = %{version}-%{release} if systemd) +Recommends: nix-legacy = %{version}-%{release} + +%description +Nix is a purely functional package manager. +It allows multiple versions of a package to be installed side-by-side, +ensures that dependency specifications are complete, +supports atomic upgrades and rollbacks, +allows non-root users to install software, and has many other features. +It is the basis of the NixOS Linux distribution, +but it can be used equally well under other Unix systems. + +See the README.fedora.md file for setup instructions. + + +%package core +Summary: Core nix tool +Requires: nix-libs%{?_isa} = %{version}-%{release} %ifarch x86_64 aarch64 ppc64le Recommends: busybox %endif -# added at F43 -Obsoletes: nix-core < %{version}-%{release} -%description -Nix is a purely functional package manager. It allows multiple -versions of a package to be installed side-by-side, ensures that -dependency specifications are complete, supports atomic upgrades and -rollbacks, allows non-root users to install software, and has many -other features. It is the basis of the NixOS Linux distribution, but -it can be used equally well under other Unix systems. +%description core +This package provides the core nix tool for modern flake-based commands. + +Most users should probably install nix-legacy as well, +or the main nix package for a complete default setup. See the README.fedora.md file for setup instructions. @@ -101,34 +120,37 @@ See the README.fedora.md file for setup instructions. %package daemon Summary: The nix daemon for multiuser mode BuildArch: noarch -Requires: %{name} = %{version}-%{release} -Requires: %{name}-system = %{version}-%{release} +Requires: nix-core = %{version}-%{release} +Requires: nix-system = %{version}-%{release} +Requires: systemd %description daemon This package provides nix-daemon and associated files. %package devel -Summary: Development files for %{name} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Summary: Development files for nix +Requires: nix-libs%{?_isa} = %{version}-%{release} %description devel -The %{name}-devel package contains libraries and header files for -developing applications that use %{name}. +This package contains library and header files for +developing applications that use nix. + +Note the API is considered unstable and upstream does not recommend its usage. %if %{with docs} %package doc -Summary: Documentation files for %{name} +Summary: Documentation files for nix BuildArch: noarch %description doc -The %{name}-doc package contains documentation files for %{name}. +This package contains documentation files for nix. %endif %package filesystem -Summary: Filesystem for %{name} +Summary: Filesystem for nix BuildArch: noarch # added at f43 Obsoletes: nix-singleuser < %{version}-%{release} @@ -137,17 +159,26 @@ Obsoletes: nix-singleuser < %{version}-%{release} The package provides the /nix root directory for the nix package manager. +%package legacy +Summary: nix classical commands +BuildArch: noarch +Requires: nix-core = %{version}-%{release} + +%description legacy +This package provides the symlinks for the older nix-* commands. + + %package libs -Summary: Runtime libraries for %{name} +Summary: Runtime libraries for nix %description libs -The package provides the the runtime libraries for %{name}. +The package provides the the runtime libraries for nix. %if %{with tests} %package test Summary: Nix test programs -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: nix%{?_isa} = %{version}-%{release} %description test This package provides the nix-test programs. @@ -157,8 +188,7 @@ This package provides the nix-test programs. %package system Summary: Nix directories and sysusers setup BuildArch: noarch -Requires: %{name} = %{version}-%{release} -Requires: %{name}-filesystem = %{version}-%{release} +Requires: nix-filesystem = %{version}-%{release} %description system This package sets up the nix directories and sysusers. @@ -169,6 +199,10 @@ This package sets up the nix directories and sysusers. install -p -m 0644 %{SOURCE3} README.fedora.md +# https://github.com/NixOS/nix/issues/14666 +# remove unicode RLO (0x202E) characters +sed -i 's/\xe2\x80\xae//g' doc/manual/source/release-notes/rl-2.26.md + %build MESON_OPTS=( @@ -202,20 +236,22 @@ MESON_OPTS=( mkdir -p %{buildroot}/etc/nix cp %{SOURCE1} %{SOURCE2} %{buildroot}/etc/nix/ - # Nix has multiuser and singleuser installation modes # https://nix.dev/manual/nix/stable/installation/nix-security.html mkdir -p %{buildroot}/nix/store mkdir -p %{buildroot}/nix/var/log/nix/drvs -# make per-user directories -mkdir -p %{buildroot}/nix/var/nix/{gcroots,profiles}/per-user -mkdir %{buildroot}/nix/var/nix/{db,temproots} -touch %{buildroot}/nix/var/nix/gc.lock +mkdir -p %{buildroot}/nix/var/nix install -p -D -m 0644 %{SOURCE4} %{buildroot}%{_sysusersdir}/nix.conf install -p -D -m 0644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/nix-filesystem.conf +# filter out relative doc links +# https://bugzilla.redhat.com/show_bug.cgi?id=2415126 +# https://github.com/kristapsdz/lowdown/issues/170 +# (sed expression generated by Gemini Pro: removes pairs of .UR and .UE lines) +sed -i -e '/^\.UR [@#.]/,/^\.UE/{ /^\.UR [@#.]/d; /^\.UE/d}' %{buildroot}%{_mandir}/man*/* + %check LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/nix --help @@ -238,22 +274,11 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/nix --help %files + + +%files core %doc README.md README.fedora.md %{_bindir}/nix -%{_bindir}/nix-build -%{_bindir}/nix-channel -%{_bindir}/nix-collect-garbage -%{_bindir}/nix-copy-closure -%{_bindir}/nix-env -%{_bindir}/nix-hash -%{_bindir}/nix-instantiate -%{_bindir}/nix-prefetch-url -%{_bindir}/nix-shell -%{_bindir}/nix-store -%if %{with tests} -%exclude %{_bindir}/nix*-test -%endif -%exclude %{_bindir}/nix-daemon %{_libexecdir}/nix %config(noreplace) %{_sysconfdir}/nix/nix.conf %config(noreplace) %{_sysconfdir}/nix/registry.json @@ -263,6 +288,12 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/nix --help %{fish_completions_dir}/nix.fish %{zsh_completions_dir}/_nix %{zsh_completions_dir}/run-help-nix +%if %{with docs} +%{_mandir}/man1/nix.1* +%{_mandir}/man1/nix3-*.1* +%{_mandir}/man5/nix.conf.5* +%{_mandir}/man5/nix-profiles.5* +%endif %files daemon @@ -270,8 +301,12 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/nix --help %{_sysconfdir}/profile.d/nix-daemon.*sh %{_unitdir}/nix-daemon.* %{_tmpfilesdir}/nix-daemon.conf -%ghost /nix/var/nix/daemon-socket -%ghost /nix/var/nix/builds +%ghost %dir /nix/var/nix/builds +%ghost %dir /nix/var/nix/daemon-socket +%ghost /nix/var/nix/daemon-socket/socket +%if %{with docs} +%{_mandir}/man8/nix-daemon.8* +%endif %files devel @@ -296,7 +331,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/nix --help %if %{with docs} %files doc -%{_defaultdocdir}/%{name} +%{_defaultdocdir}/nix %endif @@ -304,6 +339,25 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/nix --help # FHS Exception: https://pagure.io/fesco/issue/3473 %{_tmpfilesdir}/nix-filesystem.conf %ghost %dir /nix +%ghost %dir /nix/var +%ghost %dir /nix/var/log +%ghost %dir /nix/var/log/nix + + +%files legacy +%{_bindir}/nix-build +%{_bindir}/nix-channel +%{_bindir}/nix-collect-garbage +%{_bindir}/nix-copy-closure +%{_bindir}/nix-env +%{_bindir}/nix-hash +%{_bindir}/nix-instantiate +%{_bindir}/nix-prefetch-url +%{_bindir}/nix-shell +%{_bindir}/nix-store +%if %{with docs} +%{_mandir}/man1/nix-*.1* +%endif %files libs @@ -323,95 +377,27 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/nix --help %{_libdir}/libnixutilc.so.%{version} +%files system +%{_sysusersdir}/nix.conf +%dir %attr(1775,root,%{nixbld_group}) /nix/store +%dir %attr(775,root,%{nixbld_group}) /nix/var/log/nix/drvs +%dir %attr(775,root,%{nixbld_group}) /nix/var/nix +%ghost %dir /nix/var/nix/db +%ghost /nix/var/nix/gc.lock +%ghost %dir /nix/var/nix/gcroots +%ghost %dir /nix/var/nix/gcroots/per-user +%ghost %dir /nix/var/nix/gc-socket +%ghost /nix/var/nix/gc-socket/socket +%ghost %dir /nix/var/nix/profiles +%ghost %dir /nix/var/nix/profiles/per-user +%ghost %dir /nix/var/nix/temproots + + %if %{with tests} %files test %{_bindir}/nix*-test %endif -%files system -%{_sysusersdir}/nix.conf -%dir %attr(1775,root,%{nixbld_group}) /nix/store -%dir /nix/var -%dir /nix/var/log -%dir /nix/var/log/nix -%dir %attr(1775,root,%{nixbld_group}) /nix/var/log/nix/drvs -%dir %attr(775,root,%{nixbld_group}) /nix/var/nix -%dir %attr(775,root,%{nixbld_group}) /nix/var/nix/db -%attr(664,root,%{nixbld_group}) /nix/var/nix/gc.lock -%dir %attr(775,root,%{nixbld_group}) /nix/var/nix/gcroots -%dir %attr(1755,root,%{nixbld_group}) /nix/var/nix/gcroots/per-user -%dir %attr(775,root,%{nixbld_group}) /nix/var/nix/profiles -%dir %attr(1755,root,%{nixbld_group}) /nix/var/nix/profiles/per-user -%attr(775,root,%{nixbld_group}) /nix/var/nix/temproots - - %changelog -* Mon Oct 27 2025 Jens Petersen - 2.31.2-8 -- drop redundant sysusers and tmpfiles.d scriptlets (#2388768) -- add obsoletes for petersen/nix copr subpackages - -* Sat Oct 25 2025 Jens Petersen - 2.31.2-7 -- recommends nix-daemon if systemd - -* Sat Oct 25 2025 Jens Petersen - 2.31.2-6 -- rename users subpackage to system -- improve /nix/var dirs ownership and perms -- rename sysusers file to nix.conf -- move nix-daemon tmpfiles.d to nix-daemon - -* Sat Oct 25 2025 Jens Petersen - 2.31.2-5 -- split nix-users from nix-daemon and drop nix-singleuser -- drop all conflicts - -* Fri Oct 24 2025 Jens Petersen - 2.31.2-4 -- drop filesystem subpackage and ghost singleuser dirs -- nix-daemon and nix-singleuser conflict with each other - -* Thu Oct 23 2025 Jens Petersen - 2.31.2-3 -- use tmpfiles.d for nix-filesystem -- improve the readme -- list bin files explicitly -- nix-singleuser now owns its dirs -- add nix-daemon conflicts for ostree and containers -- add nix-singleuser recommends for containers - -* Sat Oct 18 2025 Jens Petersen - 2.31.2-2 -- FHS Exception for /nix was approved (https://pagure.io/fesco/issue/3473) -- add multiuser setup to daemon subpackage -- add singleuser and nix-filesystem subpackages - -* Mon Sep 22 2025 Jens Petersen - 2.31.2-1 -- update to 2.31.2 - -* Wed Sep 17 2025 Jens Petersen - 2.31.1-6 -- list .so files explicitly without globbing (#2388768) -- disable /usr/lib/tmpfiles.d/nix-daemon.conf for now (#2388768) - -* Mon Sep 15 2025 Jens Petersen - 2.31.1-5 -- set the soversion to the nix version (#13995, #14001, #14005) - -* Sun Sep 14 2025 Jens Petersen - 2.31.1-4 -- add simple check with LD_LIBRARY_PATH - -* Fri Sep 12 2025 Jens Petersen - 2.31.1-3 -- revert to shared libs, add libs subpackage and restore devel -- apply upstream submitted PR to enable soname versioning (#13966) - -* Thu Sep 11 2025 Jens Petersen - 2.31.1-2 -- noarch nix-daemon subpackage cannot use _isa requires - -* Wed Sep 10 2025 Jens Petersen - 2.31.1-1 -- https://github.com/NixOS/nix/blob/2.31.1/doc/manual/source/release-notes/rl-2.31.md -- rename nix-core to base package -- use readline (#2388768) -- improve MESON_OPTS setup (zbyszek, #2388768) -- use static libs and drop devel package -- disable perl binding - -* Sat Aug 16 2025 Jens Petersen - 2.30.2-2 -- fix nix-devel requires -- add systemd scriptlets for nix-daemon - -* Fri Aug 15 2025 Jens Petersen - 2.30.2-1 -- initial packaging of nix programs without /nix +%autochangelog