mirror of
https://github.com/nix-community/disko.git
synced 2024-09-17 09:37:17 +03:00
commit
bd435b2bc8
36
.mergify.yml
36
.mergify.yml
@ -2,29 +2,31 @@ pull_request_rules:
|
|||||||
- name: automatic merge on CI success
|
- name: automatic merge on CI success
|
||||||
conditions:
|
conditions:
|
||||||
- check-success=Evaluate flake.nix
|
- check-success=Evaluate flake.nix
|
||||||
- check-success=package disko [x86_64-linux]
|
|
||||||
- check-success=check boot-raid1 [x86_64-linux]
|
|
||||||
- check-success=check bcachefs [x86_64-linux]
|
- check-success=check bcachefs [x86_64-linux]
|
||||||
- check-success=check luks-lvm [x86_64-linux]
|
- check-success=check boot-raid1 [x86_64-linux]
|
||||||
- check-success=check mdadm [x86_64-linux]
|
|
||||||
- check-success=check lvm-luks-example-tsp-mount [x86_64-linux]
|
|
||||||
- check-success=package default [x86_64-linux]
|
|
||||||
- check-success=check lvm-luks-example-tsp-create [x86_64-linux]
|
|
||||||
- check-success=check cli [x86_64-linux]
|
|
||||||
- check-success=check btrfs-subvolumes [x86_64-linux]
|
- check-success=check btrfs-subvolumes [x86_64-linux]
|
||||||
- check-success=check multi-device-no-deps [x86_64-linux]
|
- check-success=check cli [x86_64-linux]
|
||||||
- check-success=check negative-size [x86_64-linux]
|
|
||||||
- check-success=check swap [x86_64-linux]
|
|
||||||
- check-success=check module [x86_64-linux]
|
|
||||||
- check-success=check zfs [x86_64-linux]
|
|
||||||
- check-success=check zfs-over-legacy [x86_64-linux]
|
|
||||||
- check-success=check with-lib [x86_64-linux]
|
|
||||||
- check-success=check complex [x86_64-linux]
|
- check-success=check complex [x86_64-linux]
|
||||||
- check-success=check gpt-bios-compat [x86_64-linux]
|
- check-success=check gpt-bios-compat [x86_64-linux]
|
||||||
|
- check-success=check luks-lvm [x86_64-linux]
|
||||||
|
- check-success=check lvm-luks-example-tsp-create [x86_64-linux]
|
||||||
|
- check-success=check lvm-luks-example-tsp-mount [x86_64-linux]
|
||||||
- check-success=check lvm-raid [x86_64-linux]
|
- check-success=check lvm-raid [x86_64-linux]
|
||||||
- check-success=check standalone [x86_64-linux]
|
- check-success=check mdadm [x86_64-linux]
|
||||||
- check-success=check tmpfs [x86_64-linux]
|
- check-success=check module [x86_64-linux]
|
||||||
|
- check-success=check multi-device-no-deps [x86_64-linux]
|
||||||
|
- check-success=check negative-size [x86_64-linux]
|
||||||
|
- check-success=check shellcheck [x86_64-linux]
|
||||||
- check-success=check simple-efi [x86_64-linux]
|
- check-success=check simple-efi [x86_64-linux]
|
||||||
|
- check-success=check standalone [x86_64-linux]
|
||||||
|
- check-success=check swap [x86_64-linux]
|
||||||
|
- check-success=check tmpfs [x86_64-linux]
|
||||||
|
- check-success=check with-lib [x86_64-linux]
|
||||||
|
- check-success=check zfs [x86_64-linux]
|
||||||
|
- check-success=check zfs-over-legacy [x86_64-linux]
|
||||||
|
- check-success=package default [x86_64-linux]
|
||||||
|
- check-success=package disko [x86_64-linux]
|
||||||
|
|
||||||
- author=nix-eval-jobs-bot
|
- author=nix-eval-jobs-bot
|
||||||
actions:
|
actions:
|
||||||
merge:
|
merge:
|
||||||
|
34
bors.toml
34
bors.toml
@ -1,28 +1,28 @@
|
|||||||
cut_body_after = "" # don't include text from the PR body in the merge commit message
|
cut_body_after = "" # don't include text from the PR body in the merge commit message
|
||||||
status = [
|
status = [
|
||||||
# garnix
|
|
||||||
"Evaluate flake.nix",
|
"Evaluate flake.nix",
|
||||||
"package disko [x86_64-linux]",
|
|
||||||
"check boot-raid1 [x86_64-linux]",
|
|
||||||
"check bcachefs [x86_64-linux]",
|
"check bcachefs [x86_64-linux]",
|
||||||
"check luks-lvm [x86_64-linux]",
|
"check boot-raid1 [x86_64-linux]",
|
||||||
"check mdadm [x86_64-linux]",
|
|
||||||
"check lvm-luks-example-tsp-mount [x86_64-linux]",
|
|
||||||
"package default [x86_64-linux]",
|
|
||||||
"check lvm-luks-example-tsp-create [x86_64-linux]",
|
|
||||||
"check cli [x86_64-linux]",
|
|
||||||
"check btrfs-subvolumes [x86_64-linux]",
|
"check btrfs-subvolumes [x86_64-linux]",
|
||||||
"check multi-device-no-deps [x86_64-linux]",
|
"check cli [x86_64-linux]",
|
||||||
"check negative-size [x86_64-linux]",
|
|
||||||
"check swap [x86_64-linux]",
|
|
||||||
"check module [x86_64-linux]",
|
|
||||||
"check zfs [x86_64-linux]",
|
|
||||||
"check zfs-over-legacy [x86_64-linux]",
|
|
||||||
"check with-lib [x86_64-linux]",
|
|
||||||
"check complex [x86_64-linux]",
|
"check complex [x86_64-linux]",
|
||||||
"check gpt-bios-compat [x86_64-linux]",
|
"check gpt-bios-compat [x86_64-linux]",
|
||||||
|
"check luks-lvm [x86_64-linux]",
|
||||||
|
"check lvm-luks-example-tsp-create [x86_64-linux]",
|
||||||
|
"check lvm-luks-example-tsp-mount [x86_64-linux]",
|
||||||
"check lvm-raid [x86_64-linux]",
|
"check lvm-raid [x86_64-linux]",
|
||||||
|
"check mdadm [x86_64-linux]",
|
||||||
|
"check module [x86_64-linux]",
|
||||||
|
"check multi-device-no-deps [x86_64-linux]",
|
||||||
|
"check negative-size [x86_64-linux]",
|
||||||
|
"check shellcheck [x86_64-linux]",
|
||||||
|
"check simple-efi [x86_64-linux]",
|
||||||
"check standalone [x86_64-linux]",
|
"check standalone [x86_64-linux]",
|
||||||
|
"check swap [x86_64-linux]",
|
||||||
"check tmpfs [x86_64-linux]",
|
"check tmpfs [x86_64-linux]",
|
||||||
"check simple-efi [x86_64-linux]"
|
"check with-lib [x86_64-linux]",
|
||||||
|
"check zfs [x86_64-linux]",
|
||||||
|
"check zfs-over-legacy [x86_64-linux]",
|
||||||
|
"package default [x86_64-linux]",
|
||||||
|
"package disko [x86_64-linux]"
|
||||||
]
|
]
|
||||||
|
@ -3,4 +3,4 @@ set -efux
|
|||||||
# dependencies: jq util-linux lvm2 mdadm zfs
|
# dependencies: jq util-linux lvm2 mdadm zfs
|
||||||
disk=$1
|
disk=$1
|
||||||
|
|
||||||
lsblk --output-all --json | jq -r --arg disk_to_clear "$disk" -f "$(dirname $0)/disk-deactivate.jq"
|
lsblk --output-all --json | jq -r --arg disk_to_clear "$disk" -f "$(dirname "$0")/disk-deactivate.jq"
|
||||||
|
11
disko
11
disko
@ -6,9 +6,6 @@ readonly libexec_dir="${0%/*}"
|
|||||||
# a file with the disko config
|
# a file with the disko config
|
||||||
declare disko_config
|
declare disko_config
|
||||||
|
|
||||||
# a flake uri, if present disko config is relative to the flake root
|
|
||||||
declare from_flake
|
|
||||||
|
|
||||||
# mount was chosen as the default mode because it's less destructive
|
# mount was chosen as the default mode because it's less destructive
|
||||||
mode=mount
|
mode=mount
|
||||||
nix_args=()
|
nix_args=()
|
||||||
@ -90,11 +87,11 @@ while [[ $# -gt 0 ]]; do
|
|||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
if ! ([[ $mode = "create" ]] || [[ $mode = "mount" ]] || [[ $mode = "zap_create_mount" ]]); then
|
if ! { [[ $mode = "create" ]] || [[ $mode = "mount" ]] || [[ $mode = "zap_create_mount" ]]; }; then
|
||||||
abort "mode must be either create, mount or zap_create_mount"
|
abort "mode must be either create, mount or zap_create_mount"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ! -z "${flake+x}" ]]; then
|
if [[ -n "${flake+x}" ]]; then
|
||||||
if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then
|
if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then
|
||||||
flake="${BASH_REMATCH[1]}"
|
flake="${BASH_REMATCH[1]}"
|
||||||
flakeAttr="${BASH_REMATCH[2]}"
|
flakeAttr="${BASH_REMATCH[2]}"
|
||||||
@ -107,7 +104,7 @@ if [[ ! -z "${flake+x}" ]]; then
|
|||||||
nix_args+=("--arg" "flake" "$flake")
|
nix_args+=("--arg" "flake" "$flake")
|
||||||
nix_args+=("--argstr" "flakeAttr" "$flakeAttr")
|
nix_args+=("--argstr" "flakeAttr" "$flakeAttr")
|
||||||
nix_args+=(--extra-experimental-features flakes)
|
nix_args+=(--extra-experimental-features flakes)
|
||||||
elif [[ ! -z "${disko_config+x}" ]] && [[ -e "$disko_config" ]]; then
|
elif [[ -n "${disko_config+x}" ]] && [[ -e "$disko_config" ]]; then
|
||||||
nix_args+=("--arg" "diskoFile" "$disko_config")
|
nix_args+=("--arg" "diskoFile" "$disko_config")
|
||||||
else
|
else
|
||||||
abort "disko config must be an existing file or flake must be set"
|
abort "disko config must be an existing file or flake must be set"
|
||||||
@ -118,7 +115,7 @@ script=$(nix-build "${libexec_dir}"/cli.nix \
|
|||||||
--argstr mode "$mode" \
|
--argstr mode "$mode" \
|
||||||
"${nix_args[@]}"
|
"${nix_args[@]}"
|
||||||
)
|
)
|
||||||
if [[ ! -z "${dry_run+x}" ]]; then
|
if [[ -n "${dry_run+x}" ]]; then
|
||||||
echo "$script"
|
echo "$script"
|
||||||
else
|
else
|
||||||
exec "$script"
|
exec "$script"
|
||||||
|
14
flake.nix
14
flake.nix
@ -25,14 +25,20 @@
|
|||||||
default = self.packages.${system}.disko;
|
default = self.packages.${system}.disko;
|
||||||
});
|
});
|
||||||
# TODO: disable bios-related tests on aarch64...
|
# TODO: disable bios-related tests on aarch64...
|
||||||
|
# Run checks: nix flake check -L
|
||||||
checks = forAllSystems (system: let
|
checks = forAllSystems (system: let
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
in
|
nixosTests = import ./tests {
|
||||||
# Run tests: nix flake check -L
|
|
||||||
import ./tests {
|
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
makeTest = import (pkgs.path + "/nixos/tests/make-test-python.nix");
|
makeTest = import (pkgs.path + "/nixos/tests/make-test-python.nix");
|
||||||
eval-config = import (pkgs.path + "/nixos/lib/eval-config.nix");
|
eval-config = import (pkgs.path + "/nixos/lib/eval-config.nix");
|
||||||
});
|
};
|
||||||
|
shellcheck = pkgs.runCommand "shellcheck" { nativeBuildInputs = [ pkgs.shellcheck ]; } ''
|
||||||
|
cd ${./.}
|
||||||
|
shellcheck disk-deactivate/disk-deactivate disko
|
||||||
|
touch $out
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
nixosTests // { inherit shellcheck; });
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user