curl
in my local profile of packages, i have to manually maintain them)
but that removes the declarative part
but rather i'd specify it in the environment.systemPackages
environment.systemPackages = [
pkgs.curl
];
(edited)nix-shell -p python3
i am now in a shell environment with python3 which i can use to build, run, and debug my python3 code
If i want python2.7 - i just change it
nix-shell -p python2.7
(edited)curl
in my local profile of packages, i have to manually maintain them)
but that removes the declarative part
but rather i'd specify it in the environment.systemPackages
environment.systemPackages = [
pkgs.curl
];
(edited)Every time the system state is rebuilt using nixos-rebuild switch, a new generation is created. You can revert to the previous generation at any time, which is useful if a configuration change (or system update) turns out to be detrimental.
You can roll back via:
$ nix-env --rollback # roll back a user environment
$ nixos-rebuild switch --rollback # roll back a system environment
NixOS also places entries for previous generations in the bootloader menu, so as a last resort you can always revert to a previous configuration by rebooting. To set the currently booted generation as the default run
$ /run/current-system/bin/switch-to-configuration boot
Because NixOS keeps previous generations of system state available in case rollback is desired, old package versions aren't deleted from your system immediately after an update. You can delete old generations manually: