mirror of
https://codeberg.org/27/inception-of-things.git
synced 2025-08-11 20:12:53 +02:00
♻️ refactor: better vm handling, no more scripts, we're true nix elitists here
Signed-off-by: xtrm <oss@xtrm.me>
This commit is contained in:
37
vm/flake.nix
37
vm/flake.nix
@ -47,14 +47,37 @@
|
||||
apps = forAllSystems (
|
||||
system:
|
||||
let
|
||||
vm = {
|
||||
type = "app";
|
||||
program = "${self.packages.${system}.vm}/bin/run-${hostname}-vm";
|
||||
programArgs = [ "-enable-kvm" ];
|
||||
};
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
lib = pkgs.lib;
|
||||
selfPkgs = self.packages.${system};
|
||||
in
|
||||
{
|
||||
inherit vm;
|
||||
rec {
|
||||
vm =
|
||||
let
|
||||
scriptName = "run-${hostname}-vm";
|
||||
script = pkgs.writeShellScriptBin "${scriptName}" ''
|
||||
${selfPkgs.vm}/bin/run-${hostname}-vm \
|
||||
-enable-kvm \
|
||||
-virtfs local,path=$(${pkgs.coreutils}/bin/pwd)/..,mount_tag=host0,security_model=passthrough,id=host0
|
||||
'';
|
||||
in
|
||||
{
|
||||
type = "app";
|
||||
program = "${script}/bin/${scriptName}";
|
||||
};
|
||||
|
||||
clean =
|
||||
let
|
||||
scriptName = "clean-${hostname}-vm";
|
||||
script = pkgs.writeShellScriptBin "${scriptName}" ''
|
||||
${pkgs.coreutils}/bin/rm -rfv result ${hostname}.qcow2
|
||||
'';
|
||||
in
|
||||
{
|
||||
type = "app";
|
||||
program = "${script}/bin/${scriptName}";
|
||||
};
|
||||
|
||||
default = vm;
|
||||
}
|
||||
);
|
||||
|
Reference in New Issue
Block a user