NixOS¶
Supported Releases¶
This chapter provides additional information for installing OMNeT++ on NixOS. The overall installation procedure is described in the Linux chapter.
The following NixOS releases are known to work:
NixOS 25.11 or later
Installation Prerequisites¶
The omnetpp installation script (install.sh) can detect NixOS and install all the
dependencies automatically. omnetpp assumes that certain features are enabled in your
NixOS configuration. Make sure that nix.settings.experimental-features = [ "nix-command" "flakes" ];
is present in your NixOS configuration (/etc/nixos/configuration.nix).
Start the ./install.sh script in the root directory of the omnetpp installation
and follow the instructions:
$ ./install.sh
After the script has finished, you can start an omnetpp session any time by typing:
# set up in the current shell
$ source setenv
# or within a new shell
$ ./setenv bash
Post-Installation Steps¶
Setting Up Debugging¶
By default, NixOS does not allow ptracing of non-child processes by non-root users.
That is, if you want to be able to debug simulation processes by attaching to them
with a debugger, or similarly, you want to be able to use OMNeT++ just-in-time
debugging (debugger-attach-on-startup and debugger-attach-on-error
configuration options), you need to explicitly enable them:
To temporarily allow ptracing non-child processes, enter the following command:
$ echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
To permanently allow it, add
boot.kernel.sysctl."kernel.yama.ptrace_scope" = 0;
to the /etc/nixos/configuration.nix file and then rebuild your configuration.