nixos-version: Add --json flag and show system.configurationRevision

This commit is contained in:
Eelco Dolstra 2019-09-13 18:58:55 +02:00
parent 855fcc324a
commit 7e9b745174
3 changed files with 33 additions and 2 deletions

View file

@ -12,16 +12,22 @@
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>nixos-version</command>
<command>nixos-version</command>
<arg>
<option>--hash</option>
</arg>
<arg>
<option>--revision</option>
</arg>
<arg>
<option>--json</option>
</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsection>
<title>Description</title>
<para>
@ -84,12 +90,16 @@
</variablelist>
</para>
</refsection>
<refsection>
<title>Options</title>
<para>
This command accepts the following options:
</para>
<variablelist>
<varlistentry>
<term>
<option>--hash</option>
@ -107,6 +117,21 @@
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>--json</option>
</term>
<listitem>
<para>
Print a JSON representation of the versions of NixOS and the
top-level configuration flake.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
</refentry>

View file

@ -8,6 +8,11 @@ case "$1" in
--hash|--revision)
echo "@revision@"
;;
--json)
cat <<EOF
{"nixosVersion": "@version@", "nixpkgsRevision": "@revision@", "configurationRevision": "@configurationRevision@"}
EOF
;;
*)
echo "@version@ (@codeName@)"
;;

View file

@ -48,6 +48,7 @@ let
name = "nixos-version";
src = ./nixos-version.sh;
inherit (config.system.nixos) version codeName revision;
inherit (config.system) configurationRevision;
};
nixos-enter = makeProg {