Implement NixOS distro check (#12914)
This commit is contained in:
parent
3f6df5cc34
commit
148f6d9820
1 changed files with 5 additions and 1 deletions
|
|
@ -29,6 +29,7 @@ from strutils import contains, toLowerAscii
|
||||||
|
|
||||||
when not defined(nimscript):
|
when not defined(nimscript):
|
||||||
from osproc import execProcess
|
from osproc import execProcess
|
||||||
|
from os import existsEnv
|
||||||
|
|
||||||
type
|
type
|
||||||
Distribution* {.pure.} = enum ## the list of known distributions
|
Distribution* {.pure.} = enum ## the list of known distributions
|
||||||
|
|
@ -105,7 +106,7 @@ type
|
||||||
Clonezilla
|
Clonezilla
|
||||||
SteamOS
|
SteamOS
|
||||||
Absolute
|
Absolute
|
||||||
NixOS
|
NixOS ## NixOS or a Nix build environment
|
||||||
AUSTRUMI
|
AUSTRUMI
|
||||||
Arya
|
Arya
|
||||||
Porteus
|
Porteus
|
||||||
|
|
@ -161,6 +162,9 @@ proc detectOsImpl(d: Distribution): bool =
|
||||||
of Distribution.BSD: result = defined(bsd)
|
of Distribution.BSD: result = defined(bsd)
|
||||||
of Distribution.ArchLinux:
|
of Distribution.ArchLinux:
|
||||||
result = "arch" in toLowerAscii(uname())
|
result = "arch" in toLowerAscii(uname())
|
||||||
|
of Distribution.NixOS:
|
||||||
|
result = existsEnv("NIX_BUILD_TOP") or existsEnv("__NIXOS_SET_ENVIRONMENT_DONE")
|
||||||
|
# Check if this is a Nix build or NixOS environment
|
||||||
of Distribution.OpenSUSE:
|
of Distribution.OpenSUSE:
|
||||||
result = "suse" in toLowerAscii(uname()) or "suse" in toLowerAscii(release())
|
result = "suse" in toLowerAscii(uname()) or "suse" in toLowerAscii(release())
|
||||||
of Distribution.GoboLinux:
|
of Distribution.GoboLinux:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue