Add configurable stream-tools option
This commit is contained in:
32
lib/default.nix
Normal file
32
lib/default.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{lib, ...}: let
|
||||
inherit (lib) mkOption strings;
|
||||
inherit (lib.attrsets) filterAttrs mapAttrsToList;
|
||||
inherit (lib.types) bool;
|
||||
in rec {
|
||||
disabled = {enable = false;};
|
||||
enabled = {enable = true;};
|
||||
ifThenElse = cond: t: f:
|
||||
if cond
|
||||
then t
|
||||
else f;
|
||||
mkOpt = type: default: description:
|
||||
mkOption {inherit type default description;};
|
||||
mkOpt' = type: default: mkOpt type default null;
|
||||
mkBoolOpt = mkOpt bool;
|
||||
mkBoolOpt' = mkOpt' bool;
|
||||
mkPxeMenu = args:
|
||||
''
|
||||
UI menu.c32
|
||||
TIMEOUT 300
|
||||
''
|
||||
+ strings.concatStringsSep "\n" (mapAttrsToList
|
||||
(
|
||||
name: value: ''
|
||||
LABEL ${name}
|
||||
MENU LABEL ${value.content.label}
|
||||
KERNEL ${value.content.kernel}
|
||||
append ${value.content.append}
|
||||
''
|
||||
)
|
||||
(filterAttrs (_: v: v.condition) args));
|
||||
}
|
||||
Reference in New Issue
Block a user