forked from auxolotl/docs
add nixos-options package
This commit is contained in:
parent
ce454192f9
commit
0d2a9633ff
55
packages/nixos-options/default.nix
Normal file
55
packages/nixos-options/default.nix
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
stdenv,
|
||||||
|
supportedSystems ? [ "x86_64-linux" ],
|
||||||
|
}:
|
||||||
|
|
||||||
|
with import "${inputs.nixpkgs}/pkgs/top-level/release-lib.nix" { inherit supportedSystems; };
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
version = "nixos-unstable";
|
||||||
|
versionSuffix = "pre${toString pkgs.revCount}.${pkgs.shortRev}";
|
||||||
|
|
||||||
|
buildFromConfig =
|
||||||
|
module: sel:
|
||||||
|
forAllSystems (
|
||||||
|
system:
|
||||||
|
lib.hydraJob (
|
||||||
|
sel
|
||||||
|
(import "${inputs.nixpkgs}/nixos/lib/eval-config.nix" {
|
||||||
|
inherit system;
|
||||||
|
modules = [
|
||||||
|
module
|
||||||
|
(
|
||||||
|
{ config, ... }:
|
||||||
|
{
|
||||||
|
system.nixos.versionSuffix = versionSuffix;
|
||||||
|
system.nixos.revision = pkgs.rev or pkgs.shortRev;
|
||||||
|
# At creation time we do not have state yet, so just default to latest.
|
||||||
|
system.stateVersion = config.system.nixos.version;
|
||||||
|
fileSystems."/".device = mkDefault "/dev/sda1";
|
||||||
|
boot.loader.grub.device = mkDefault "/dev/sda";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
];
|
||||||
|
}).config
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
options =
|
||||||
|
(buildFromConfig ({ ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux;
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "nixos-options";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = inputs.nixpkgs;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir $out
|
||||||
|
cp -r ${options} $out/options
|
||||||
|
'';
|
||||||
|
}
|
Loading…
Reference in a new issue