Microvm experiments
This commit is contained in:
parent
7c1a30edaf
commit
25f77884ec
3 changed files with 71 additions and 1 deletions
24
flake.lock
24
flake.lock
|
@ -233,6 +233,29 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"microvm": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": [
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1674747738,
|
||||||
|
"narHash": "sha256-FSaBkfXiKo6jdvjUx/SJhM/+h+QQIxFu7cCXs8uxZ6Q=",
|
||||||
|
"owner": "astro",
|
||||||
|
"repo": "microvm.nix",
|
||||||
|
"rev": "0a3d48e06b8c04beb3de0a3283bd1ef29fe4a47d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "astro",
|
||||||
|
"repo": "microvm.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"naersk": {
|
"naersk": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -420,6 +443,7 @@
|
||||||
"ha-now-playing": "ha-now-playing",
|
"ha-now-playing": "ha-now-playing",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
|
"microvm": "microvm",
|
||||||
"naersk": "naersk",
|
"naersk": "naersk",
|
||||||
"nil": "nil",
|
"nil": "nil",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
|
|
|
@ -36,6 +36,12 @@
|
||||||
inputs.flake-utils.follows = "flake-utils";
|
inputs.flake-utils.follows = "flake-utils";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
microvm = {
|
||||||
|
url = "github:astro/microvm.nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
inputs.flake-utils.follows = "flake-utils";
|
||||||
|
};
|
||||||
|
|
||||||
sops = {
|
sops = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ nixos-hardware, nomachine, ... }:
|
{ nixos-hardware, nomachine, microvm, ... }:
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
|
@ -13,6 +13,8 @@
|
||||||
nixos-hardware.nixosModules.common-pc-ssd
|
nixos-hardware.nixosModules.common-pc-ssd
|
||||||
"${nomachine}/nixos/modules/services/admin/nomachine.nix"
|
"${nomachine}/nixos/modules/services/admin/nomachine.nix"
|
||||||
|
|
||||||
|
microvm.nixosModules.host
|
||||||
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
||||||
../../users/erwin
|
../../users/erwin
|
||||||
|
@ -94,13 +96,32 @@
|
||||||
7000
|
7000
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nat = {
|
||||||
|
enable = true;
|
||||||
|
internalInterfaces = [ "microvm" ];
|
||||||
|
externalInterface = "enp4s0";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
microvm.autostart = [
|
||||||
|
"miniflux"
|
||||||
|
];
|
||||||
|
|
||||||
systemd.network = {
|
systemd.network = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
wait-online.extraArgs = [ "--interface=enp4s0" ];
|
wait-online.extraArgs = [ "--interface=enp4s0" ];
|
||||||
|
|
||||||
|
netdevs = {
|
||||||
|
"10-microvm" = {
|
||||||
|
netdevConfig = {
|
||||||
|
Kind = "bridge";
|
||||||
|
Name = "microvm";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
networks = {
|
networks = {
|
||||||
"40-enp4s0" = {
|
"40-enp4s0" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -120,6 +141,25 @@
|
||||||
Name = "enp5s0f1";
|
Name = "enp5s0f1";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"10-microvm" = {
|
||||||
|
matchConfig = {
|
||||||
|
Name = "microvm";
|
||||||
|
};
|
||||||
|
|
||||||
|
addresses = [
|
||||||
|
{ addressConfig.Address = "172.16.0.1/24"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"11-microvm" = {
|
||||||
|
matchConfig = {
|
||||||
|
Name = "vm-*";
|
||||||
|
};
|
||||||
|
networkConfig = {
|
||||||
|
Bridge = "microvm";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue