mirror of
https://github.com/nix-community/disko
synced 2024-11-10 06:14:14 +00:00
add test for standalone nixos config
This commit is contained in:
parent
65bd5a97f8
commit
68f950bf20
4 changed files with 50 additions and 29 deletions
|
@ -2,7 +2,7 @@
|
|||
, pkgs ? import <nixpkgs> {}
|
||||
}:
|
||||
let
|
||||
types = import ./types.nix { inherit pkgs; };
|
||||
types = import ./types.nix { inherit lib pkgs; };
|
||||
eval = cfg: lib.evalModules {
|
||||
modules = lib.singleton {
|
||||
# _file = toString input;
|
||||
|
|
|
@ -1,39 +1,58 @@
|
|||
{ pkgs, lib, ... }:
|
||||
let
|
||||
disko = import (builtins.fetchGit {
|
||||
url = "https://github.com/nix-community/disko";
|
||||
ref = "master";
|
||||
}) {
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
# We just import from the repository for testing here:
|
||||
diskoNixos = import ../../. {
|
||||
inherit lib;
|
||||
};
|
||||
disko = import ../../. {
|
||||
inherit lib;
|
||||
inherit pkgs;
|
||||
};
|
||||
# In your own system use something like this:
|
||||
#import (builtins.fetchGit {
|
||||
# url = "https://github.com/nix-community/disko";
|
||||
# ref = "master";
|
||||
#}) {
|
||||
# inherit lib;
|
||||
#};
|
||||
cfg = {
|
||||
type = "devices";
|
||||
content = {
|
||||
disk = {
|
||||
sda = {
|
||||
type = "table";
|
||||
format = "msdos";
|
||||
partitions = [{
|
||||
type = "partition";
|
||||
part-type = "primary";
|
||||
start = "1M";
|
||||
end = "100%";
|
||||
bootable = true;
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "ext4";
|
||||
mountpoint = "/";
|
||||
};
|
||||
}];
|
||||
device = "/dev/sda";
|
||||
type = "device";
|
||||
content = {
|
||||
type = "table";
|
||||
format = "msdos";
|
||||
partitions = [
|
||||
{
|
||||
name = "root";
|
||||
type = "partition";
|
||||
part-type = "primary";
|
||||
start = "1M";
|
||||
end = "100%";
|
||||
bootable = true;
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "ext4";
|
||||
mountpoint = "/";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
in {
|
||||
imports = [
|
||||
(disko.config cfg)
|
||||
(diskoNixos.config cfg)
|
||||
];
|
||||
environment.systemPackages = with pkgs;[
|
||||
boot.loader.grub.devices = [ "/dev/sda" ];
|
||||
system.stateVersion = "22.05";
|
||||
environment.systemPackages = with pkgs; [
|
||||
(pkgs.writeScriptBin "tsp-create" (disko.create cfg))
|
||||
(pkgs.writeScriptBin "tsp-mount" (disko.mount cfg))
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,8 @@ let
|
|||
);
|
||||
|
||||
allTests = lib.genAttrs (allTestFilenames) (test: import (./. + "/${test}.nix") { inherit makeDiskoTest; }) //
|
||||
evalTest "lvm-luks-example" ../example/config.nix;
|
||||
evalTest "lvm-luks-example" ../example/config.nix // {
|
||||
standalone = (pkgs.nixos [ ../example/stand-alone/configuration.nix ]).config.system.build.toplevel;
|
||||
};
|
||||
in
|
||||
allTests
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ pkgs ? import <nixpkgs> {} }:
|
||||
with pkgs.lib;
|
||||
{ lib, pkgs }:
|
||||
with lib;
|
||||
with builtins;
|
||||
|
||||
rec {
|
||||
|
|
Loading…
Reference in a new issue