forked from DGNum/liminix
add module for device-specific config
in principle this module declares the config that's defined in devices/foo/default.nix
This commit is contained in:
parent
0cd1bd99e1
commit
bbd699d7b1
3 changed files with 37 additions and 27 deletions
|
@ -20,6 +20,7 @@ let
|
|||
config = (pkgs.lib.evalModules {
|
||||
modules = [
|
||||
{ _module.args = { inherit pkgs; lib = pkgs.lib; }; }
|
||||
./modules/hardware.nix
|
||||
./modules/base.nix
|
||||
device.module
|
||||
liminix-config
|
||||
|
|
|
@ -52,38 +52,11 @@ in {
|
|||
type = types.attrsOf types.anything;
|
||||
};
|
||||
boot = {
|
||||
dts = {
|
||||
src = mkOption { type = types.path; };
|
||||
includes = mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.path;
|
||||
};
|
||||
};
|
||||
commandLine = mkOption {
|
||||
type = types.listOf types.nonEmptyStr;
|
||||
default = [];
|
||||
};
|
||||
};
|
||||
device = {
|
||||
defaultOutput = mkOption {
|
||||
type = types.nonEmptyStr;
|
||||
};
|
||||
flash = {
|
||||
address = mkOption { type = types.str; };
|
||||
size = mkOption { type = types.str; };
|
||||
};
|
||||
loadAddress = mkOption { default = null; };
|
||||
entryPoint = mkOption { };
|
||||
radios = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = ["ath9k" "ath10k"];
|
||||
};
|
||||
rootDevice = mkOption { };
|
||||
networkInterfaces = mkOption {
|
||||
type = types.attrsOf types.anything;
|
||||
};
|
||||
};
|
||||
};
|
||||
config = {
|
||||
defaultProfile.packages = with pkgs;
|
||||
|
|
36
modules/hardware.nix
Normal file
36
modules/hardware.nix
Normal file
|
@ -0,0 +1,36 @@
|
|||
{ lib, pkgs, config, ...}:
|
||||
let
|
||||
inherit (lib) mkEnableOption mkOption types isDerivation hasAttr ;
|
||||
in {
|
||||
options = {
|
||||
boot = {
|
||||
dts = {
|
||||
src = mkOption { type = types.path; };
|
||||
includes = mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.path;
|
||||
};
|
||||
};
|
||||
};
|
||||
device = {
|
||||
defaultOutput = mkOption {
|
||||
type = types.nonEmptyStr;
|
||||
};
|
||||
flash = {
|
||||
address = mkOption { type = types.str; };
|
||||
size = mkOption { type = types.str; };
|
||||
};
|
||||
loadAddress = mkOption { default = null; };
|
||||
entryPoint = mkOption { };
|
||||
radios = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = ["ath9k" "ath10k"];
|
||||
};
|
||||
rootDevice = mkOption { };
|
||||
networkInterfaces = mkOption {
|
||||
type = types.attrsOf types.anything;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue