add nixos-options package

This commit is contained in:
Pyrox 2024-07-20 17:55:49 -04:00
parent ce454192f9
commit 0d2a9633ff
Signed by untrusted user: pyrox
GPG key ID: 8CDF3F7CAA53A0F5

View 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
'';
}