Recommended Installation of Nix on Bazzite

Hi all;

I recently installed Bazzite, and so far everything (including the games!) are working great!

I have a development environment which I use in the form of a nix flake. I generally use it on my macbook, using direnv.

What is the most Bazzite friendly way of installing nix and setting up my environment with Bazzite? Can I install it as a layer of the rpm-ostree?

The rpm-ostree concept is fairly new to me, and I am not necessarily a Nix wizard either. Any help is appreciated.

agnishom@bazzite:/var/home/agnishom$ uname -a
Linux bazzite 7.2.0-ogc4.1.fc44.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Aug 20 16:15:37 UTC 2026 x86_64 GNU/Linux
agnishom@bazzite:/var/home/agnishom$ rpm-ostree status
State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-dx-nvidia:stable
                   Digest: sha256:65d5a5e8067976ca15604b3afd59f7e43906cd5428587b7b70a9e5371ddfac00
                  Version: 44.20260820 (2026-08-20T22:13:23Z)
          LayeredPackages: podman-compose

  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-dx-nvidia:stable
                   Digest: sha256:941096f6bf41dc82d0eac1b12c7e685355418fe415492e0ba4bc31f49d1fc81e
                  Version: 44.20260811 (2026-08-11T23:59:04Z)
          LayeredPackages: openrazer-daemon podman-compose

I considered using the Determinate Nix installer, but it didn’t go well

agnishom@bazzite:/var/home/agnishom$ curl -fsSL https://install.determinate.systems/nix | sh -s -- install
info: downloading the Determinate Nix Installer
 INFO nix-installer v3.22.2
`nix-installer` needs to run as `root`, attempting to escalate now via `sudo`...
 INFO nix-installer v3.22.2
Nix install plan (v3.22.2)
Planner: ostree (with default settings)

Planned actions:
* Run `systemctl daemon-reload`
* Create directory `/var/home/nix`
* Create or overwrite file `/etc/systemd/system/nix-directory.service`
* Create or overwrite file `/etc/systemd/system/nix.mount`
* Create or overwrite file `/etc/systemd/system/ensure-symlinked-units-resolve.service`
* Enable (and start) the systemd unit `nix.mount`
* Install Determinate Nixd
* Extract the bundled Nix (originally from /nix/store/dfgm7qvf2ga8zvf2d1alw04x83raxyhv-nix-binary-tarball-3.22.2/nix-3.22.2-x86_64-linux.tar.xz) to `/nix/temp-install-dir`
* Create a directory tree in `/nix`
* Synchronize /nix and /nix/var ownership
* Move the downloaded Nix into `/nix`
* Synchronize /nix/store ownership
* Create build users (UID 30001-30032) and group (GID 30000)
* Setup the default Nix profile
* Place the Nix configuration in `/etc/nix/nix.conf`
* Configure the shell profiles
* Install an SELinux Policy for Nix
* Create directory `/etc/tmpfiles.d`
* Configure the Determinate Nix daemon
* Enable (and start) the systemd unit `ensure-symlinked-units-resolve.service`
* Run `systemctl daemon-reload`
* Cleanup


Proceed? ([Y]es/[n]o/[e]xplain): y
 INFO Step: Run `systemctl daemon-reload`
 INFO Step: Create directory `/var/home/nix`
 INFO Step: Create or overwrite file `/etc/systemd/system/nix-directory.service`
 INFO Step: Create or overwrite file `/etc/systemd/system/nix.mount`
 INFO Step: Create or overwrite file `/etc/systemd/system/ensure-symlinked-units-resolve.service`
 INFO Step: Enable (and start) the systemd unit `nix.mount`
ERROR Error saving receipt: RecordingReceipt("/nix", Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" })
ERROR 
   0: \x1b[91mInstall failure\x1b[0m
   1: \x1b[91mError executing action\x1b[0m
   2: \x1b[91mAction `start_systemd_unit` errored\x1b[0m
   3: \x1b[91mFailed to execute command `"systemctl" "start" "nix.mount"`
      stdout: 
      stderr: Failed to start nix.mount: Unit nix-directory.service failed to load properly, please adjust/correct and reload service manager: Device or resource busy
      See system logs and 'systemctl status nix.mount' for details.

      exited with status code: 1
      \x1b[0m

Location:
   \x1b[35msrc/cli/subcommand/install/mod.rs\x1b[0m:\x1b[35m234\x1b[0m

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.

Consider reporting this error using this URL: https://github.com/DeterminateSystems/nix-installer/issues/new?title=%3Cautogenerated-issue%3E&body=%23%23+Error%0A%60%60%60%0AError%3A+%0A+++0%3A+Install+failure%0A+++1%3A+Error+executing+action%0A+++2%3A+Action+%60start_systemd_unit%60+errored%0A+++3%3A+Failed+to+execute+command+%60%22systemctl%22+%22start%22+%22nix.mount%22%60%0A++++++stdout%3A+%0A++++++stderr%3A+Failed+to+start+nix.mount%3A+Unit+nix-directory.service+failed+to+load+properly%2C+please+adjust%2Fcorrect+and+reload+service+manager%3A+Device+or+resource+busy%0A++++++See+system+logs+and+%27systemctl+status+nix.mount%27+for+details.%0A%0A++++++exited+with+status+code%3A+1%0A%0A%60%60%60%0A%0A%23%23+Metadata%0A%7Ckey%7Cvalue%7C%0A%7C--%7C--%7C%0A%7C**version**%7C3.22.2%7C%0A%7C**os**%7Clinux%7C%0A%7C**arch**%7Cx86_64%7C%0A
Installation failure, offering to revert...
Nix uninstall plan (v3.22.2)

Planner: ostree (with default settings)

Planned actions:
* Disable (and stop) the systemd unit `nix.mount`
* Delete file `/etc/systemd/system/ensure-symlinked-units-resolve.service`
* Delete file `/etc/systemd/system/nix.mount`
* Delete file `/etc/systemd/system/nix-directory.service`
* Remove the directory `/var/home/nix`
* Run `systemctl daemon-reload`


Proceed? ([Y]es/[n]o/[e]xplain): y
 INFO Revert: Cleanup
 INFO Revert: Run `systemctl daemon-reload`
 INFO Revert: Enable (and start) the systemd unit `ensure-symlinked-units-resolve.service`
 INFO Revert: Configure the Determinate Nix daemon
 INFO Revert: Create directory `/etc/tmpfiles.d`
 INFO Revert: Install an SELinux Policy for Nix
 INFO Revert: Configure Nix
 INFO Revert: Create build users (UID 30001-30032) and group (GID 30000)
 INFO Revert: Provision Nix
 INFO Revert: Install Determinate Nixd
 INFO Revert: Enable (and start) the systemd unit `nix.mount`
 INFO Revert: Create or overwrite file `/etc/systemd/system/ensure-symlinked-units-resolve.service`
 INFO Revert: Create or overwrite file `/etc/systemd/system/nix.mount`
 INFO Revert: Create or overwrite file `/etc/systemd/system/nix-directory.service`
 INFO Revert: Create directory `/var/home/nix`
 INFO Revert: Run `systemctl daemon-reload`
Partial Nix install was uninstalled successfully!


Have you tried doing a user install of nix instead of a system-wide install?

It asks me to create /nix myself. I am not sure if this is the most Bazzite way?

What is the standard practice for running nix on atomic distros like Bazzite?

agnishom@bazzite:/var/home/agnishom$ curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install | sh -s -- --no-daemon
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
  0      0   0      0   0      0      0      0           00:01              0
100   4499 100   4499   0      0   2954      0   00:01   00:01              0
downloading Nix 2.35.2 binary tarball for x86_64-linux from 'https://releases.nixos.org/nix/nix-2.35.2/nix-2.35.2-x86_64-linux.tar.xz' to '/tmp/nix-binary-tarball-unpack.mwKK4KvEEc'...
  % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                 Dload  Upload  Total   Spent   Left   Speed
100 25.87M 100 25.87M   0      0 998.0k      0   00:26   00:26          1.79M
Note: a multi-user installation is possible. See https://nix.dev/manual/nix/stable/installation/installing-binary.html#multi-user-installation
performing a single-user installation of Nix...
directory /nix does not exist; creating it by running 'mkdir -m 0755 /nix && chown agnishom /nix' using sudo
[sudo] password for agnishom: 
mkdir: cannot create directory ‘/nix’: Read-only file system
/tmp/nix-binary-tarball-unpack.mwKK4KvEEc/unpack/nix-2.35.2-x86_64-linux/install: please manually run 'mkdir -m 0755 /nix && chown agnishom /nix' as root to create /nix