devenv-machines-rollback(1)
π devenv-machines-rollback β from the General Commands Manual π
okay so bestie, real talk: this is devenv-machines-rollback, and it does exactly one iconic thing β it takes your transactional NixOS deployment and rolls it back to the previous system it recorded. like a lil undo button for your whole machine. no cap. β¨
πΈ NAME πΈ
devenv-machines-rollback β roll back a transactional NixOS deployment to its recorded previous system. that's it, that's the whole gig, and she ate π
π¦ SYNOPSIS π¦
devenv machines rollback [--user-config] [--from] [-o|--override-input]
[-O|--option] [-j|--max-jobs] [-u|--cores] [-s|--system] [-i|--impure]
[--no-impure] [--offline] [--nix-option] [--nix-debugger] [-c|--clean]
[-P|--profile] [--reload] [--no-reload] [--shell] [--eval-cache]
[--no-eval-cache] [--refresh-eval-cache] [--refresh-task-cache]
[--secretspec-provider] [--secretspec-profile] [--trace-to]
[-v|--verbose] [-q|--quiet] [--tui] [--no-tui] [-h|--help] <NAME>
like yes, it's a lot of flags, but that's just how she is π«Ά
π DESCRIPTION π
Roll back a transactional NixOS deployment to its recorded previous system.
literally what it says on the tin. highkey the most straightforward girl here π
β OPTIONS β
--user-config<USER_CONFIG>β use this user configuration file instead of the XDG default. (you're overruling the vibes-based default, respectfully π )<NAME>β the NixOS machine to roll back. requires a recorded transactional deployment. no recorded deployment, no rollback, iykyk π
π INPUT OVERRIDES π
π --from <FROM>
source for devenv.nix.
can be either a filesystem path (with a path: prefix) or a flake input reference.
Examples:
--from github:cachix/devenv
--from github:cachix/devenv?dir=examples/simple
--from path:/absolute/path/to/project
--from path:./relative/path
π§ -o, --override-input <NAME> <URI>
override inputs in devenv.yaml.
Examples:
--override-input nixpkgs github:NixOS/nixpkgs/nixos-unstable
--override-input nixpkgs path:/path/to/local/nixpkgs
π -O, --option <OPTION:TYPE> <VALUE>
override configuration options with typed values.
OPTION must include a type: <attribute>:<type>. supported types: string, int, float, bool, path, pkg, pkgs.
list types (pkgs) append to existing values by default. add a ! suffix to replace instead: pkgs! π (yes the exclamation mark is the whole difference, stay woke)
Examples:
--option languages.rust.channel:string beta
--option services.postgres.enable:bool true
--option languages.python.version:string 3.10
--option packages:pkgs "ncdu git" (appends to packages)
--option packages:pkgs! "ncdu git" (replaces all packages)
π₯ NIX OPTIONS π₯
-j,--max-jobs<MAX_JOBS>β maximum number of Nix builds to run concurrently. defaults to 1/4 of available CPU cores (minimum 1).-u,--cores<CORES>β number of CPU cores available to each build. defaults to available cores divided by max-jobs (minimum 1).-s,--system<SYSTEM>β override the target system. defaults to the host system (e.g.aarch64-darwin,x86_64-linux).-i,--impureβ relax the hermeticity of the environment. (she's a little unhinged, we love her)--no-impureβ force a hermetic environment, overriding config.--offlineβ disable substituters and consider all previously downloaded files up-to-date.--nix-option<NAME><VALUE>β pass additional options to nix commands. these options are passed directly to Nix using the--optionflag. seeman nix.conffor the full list of available options.
Examples:
--nix-option sandbox false
--nix-option keep-outputs true
--nix-option system x86_64-darwin
--nix-debuggerβ enter the Nix debugger on failure. π good luck bestie
π SHELL OPTIONS π
-c,--clean[<CLEAN>...]β ignore existing environment variables when entering the shell. pass a list of comma-separated environment variables to let through. (so basically a VIP list π)-P,--profile<PROFILES>β activate one or more profiles defined indevenv.nix. profiles allow you to define different configurations that can be merged with your base configuration.
see https://devenv.sh/profiles for more information.
Examples:
--profile python-3.14
--profile backend --profile fast-startup
--reloadβ enable auto-reload when config files change (default). β¨--no-reloadβ disable auto-reload when config files change.--shell<SHELL_TYPE>β shell to use for interactive sessions (bash,zsh,fish,nu).
Possible values:
bashzshfishnu
π CACHE OPTIONS π
--eval-cacheβ enable caching of Nix evaluation results (default).--no-eval-cacheβ disable caching of Nix evaluation results.--refresh-eval-cacheβ force a refresh of the Nix evaluation cache.--refresh-task-cacheβ force a refresh of the task cache.
cache girls stay winning π
π SECRETSPEC OPTIONS π
--secretspec-provider<SECRETSPEC_PROVIDER>β override the secretspec provider.--secretspec-profile<SECRETSPEC_PROFILE>β override the secretspec profile.
π¦ TRACING OPTIONS π¦
π --trace-to <TRACE_TO>
enable tracing and set output destination(s). can be repeated for multiple outputs.
Syntax: [format:]destination
Examples:
--trace-to stderr # json to stderr
--trace-to pretty:stderr # pretty format to stderr
--trace-to json:file:/tmp/trace.json # JSON to file
--trace-to otlp-grpc # OTLP gRPC to default endpoint
--trace-to otlp-grpc:http://collector:4317 # OTLP gRPC to custom endpoint
Multiple outputs:
--trace-to pretty:stderr --trace-to json:file:/tmp/t.json
Destinations: stdout, stderr, file:<path>, http(s)://<host>:<port>. Formats: json (default), pretty, full, otlp-grpc, otlp-http-protobuf, otlp-http-json.
when format is omitted, defaults to json. tracing is disabled by default.
[env: DEVENV_TRACE_TO=] (comma-separated) [env: DEVENV_TRACE_DEFAULT_TO=] (comma-separated, used only when no explicit tracing is configured; set to empty string to suppress)
ngl the env var situation is a whole mood but it's lowkey important β read it twice bestie π«Ά
π GLOBAL OPTIONS π
-v,--verboseβ enable additional debug logs. (she's telling you everything)-q,--quietβ silence all logs. β¨ peace and quiet, we stan--tui<TUI>β enable the interactive terminal interface (default when interactive).
Possible values:
truefalse
--no-tuiβ disable the interactive terminal interface.-h,--helpβ print help (see a summary with-h)
okay that's the whole page, go roll something back and slay π
big sparkly sign-off energy: this lil icon lives under the command name rollback and the manual page tag devenv-machines-rollback(1) β that's the source/version-and-date footer of this page, folded into a cute goodbye instead of a boring footer line. bye bestie, drink water π§ββοΈππ
π¦ where this page comes from
- nixpkgs unstable: devenv 2.4.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms