mirror of
https://github.com/TECHNOFAB11/disko.git
synced 2025-12-11 23:50:05 +01:00
add flag support
This commit is contained in:
parent
c40b0dc031
commit
fc568cf797
4 changed files with 42 additions and 3 deletions
33
example/config-gpt-bios.nix
Normal file
33
example/config-gpt-bios.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Example to create a bios compatible gpt partition
|
||||||
|
{
|
||||||
|
type = "devices";
|
||||||
|
content = {
|
||||||
|
sda = {
|
||||||
|
type = "table";
|
||||||
|
format = "gpt";
|
||||||
|
partitions = [
|
||||||
|
{
|
||||||
|
type = "partition";
|
||||||
|
start = "0";
|
||||||
|
end = "1M";
|
||||||
|
part-type = "primary";
|
||||||
|
flags = ["bios_grub"];
|
||||||
|
content.type = "noop";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "partition";
|
||||||
|
# leave space for the grub aka BIOS boot
|
||||||
|
start = "1M";
|
||||||
|
end = "100%";
|
||||||
|
part-type = "primary";
|
||||||
|
bootable = true;
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "ext4";
|
||||||
|
mountpoint = "/";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
part-type = "primary";
|
part-type = "primary";
|
||||||
start = "1024MiB";
|
start = "1024MiB";
|
||||||
end = "100%";
|
end = "100%";
|
||||||
|
flags = [ "bios_grub" ];
|
||||||
content = {
|
content = {
|
||||||
type = "luks";
|
type = "luks";
|
||||||
algo = "aes-xts...";
|
algo = "aes-xts...";
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,13 @@
|
||||||
let
|
let
|
||||||
# TODO: get rid of NIX_PATH dependency here
|
# TODO: get rid of NIX_PATH dependency here
|
||||||
pkgs = import <nixpkgs> {};
|
pkgs = import <nixpkgs> {};
|
||||||
|
cfg = import ./config.nix;
|
||||||
|
#cfg = import ./config-gpt-bios.nix;
|
||||||
in
|
in
|
||||||
with import ../lib { inherit (pkgs) lib;};
|
with import ../lib { inherit (pkgs) lib;};
|
||||||
|
|
||||||
{
|
{
|
||||||
config = config (import ./config.nix);
|
config = config cfg;
|
||||||
create = create (import ./config.nix);
|
create = create cfg;
|
||||||
mount = mount (import ./config.nix);
|
mount = mount cfg;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,9 @@ let {
|
||||||
${optionalString (x.bootable or false) ''
|
${optionalString (x.bootable or false) ''
|
||||||
parted -s ${q.device} set ${toString q.index} boot on
|
parted -s ${q.device} set ${toString q.index} boot on
|
||||||
''}
|
''}
|
||||||
|
${concatMapStringsSep "" (flag: ''
|
||||||
|
parted -s ${q.device} set ${toString q.index} ${flag} on
|
||||||
|
'') (x.flags or [])}
|
||||||
${create-f { device = q.device + toString q.index; } x.content}
|
${create-f { device = q.device + toString q.index; } x.content}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue