mirror of
https://github.com/TECHNOFAB11/disko.git
synced 2025-12-12 08:00:05 +01:00
types: meta.dependencies -> meta.deviceDependencies
This commit is contained in:
parent
8666475b74
commit
89cc8978eb
1 changed files with 8 additions and 8 deletions
16
types.nix
16
types.nix
|
|
@ -81,15 +81,15 @@ rec {
|
||||||
};
|
};
|
||||||
in valueType;
|
in valueType;
|
||||||
|
|
||||||
/* Given a attrset of dependencies and a devices attrset
|
/* Given a attrset of deviceDependencies and a devices attrset
|
||||||
returns a sorted list by dependencies. aborts if a loop is found
|
returns a sorted list by deviceDependencies. aborts if a loop is found
|
||||||
|
|
||||||
sortDevicesByDependencies :: AttrSet -> AttrSet -> [ [ str str ] ]
|
sortDevicesByDependencies :: AttrSet -> AttrSet -> [ [ str str ] ]
|
||||||
*/
|
*/
|
||||||
sortDevicesByDependencies = dependencies: devices:
|
sortDevicesByDependencies = deviceDependencies: devices:
|
||||||
let
|
let
|
||||||
dependsOn = a: b:
|
dependsOn = a: b:
|
||||||
elem a (attrByPath b [] dependencies);
|
elem a (attrByPath b [] deviceDependencies);
|
||||||
maybeSortedDevices = toposort dependsOn (diskoLib.deviceList devices);
|
maybeSortedDevices = toposort dependsOn (diskoLib.deviceList devices);
|
||||||
in
|
in
|
||||||
if (hasAttr "cycle" maybeSortedDevices) then
|
if (hasAttr "cycle" maybeSortedDevices) then
|
||||||
|
|
@ -182,7 +182,7 @@ rec {
|
||||||
config.devices.mdadm
|
config.devices.mdadm
|
||||||
config.devices.zpool
|
config.devices.zpool
|
||||||
])) // {
|
])) // {
|
||||||
sortedDeviceList = diskoLib.sortDevicesByDependencies config.meta.dependencies config.devices;
|
sortedDeviceList = diskoLib.sortDevicesByDependencies config.meta.deviceDependencies config.devices;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
create = mkOption {
|
create = mkOption {
|
||||||
|
|
@ -514,7 +514,7 @@ rec {
|
||||||
readOnly = true;
|
readOnly = true;
|
||||||
type = types.functionTo diskoLib.jsonType;
|
type = types.functionTo diskoLib.jsonType;
|
||||||
default = dev: {
|
default = dev: {
|
||||||
dependencies.lvm_vg.${config.vg} = [ dev ];
|
deviceDependencies.lvm_vg.${config.vg} = [ dev ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
_create = mkOption {
|
_create = mkOption {
|
||||||
|
|
@ -673,7 +673,7 @@ rec {
|
||||||
readOnly = true;
|
readOnly = true;
|
||||||
type = types.functionTo diskoLib.jsonType;
|
type = types.functionTo diskoLib.jsonType;
|
||||||
default = dev: {
|
default = dev: {
|
||||||
dependencies.zpool.${config.pool} = [ dev ];
|
deviceDependencies.zpool.${config.pool} = [ dev ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
_create = mkOption {
|
_create = mkOption {
|
||||||
|
|
@ -957,7 +957,7 @@ rec {
|
||||||
readOnly = true;
|
readOnly = true;
|
||||||
type = types.functionTo diskoLib.jsonType;
|
type = types.functionTo diskoLib.jsonType;
|
||||||
default = dev: {
|
default = dev: {
|
||||||
dependencies.mdadm.${config.name} = [ dev ];
|
deviceDependencies.mdadm.${config.name} = [ dev ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
_create = mkOption {
|
_create = mkOption {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue