Compare commits

..

6 Commits

Author SHA1 Message Date
Alexander Heldt
896d0c7d43 test-vm: Add WHIB backend 2024-11-09 10:41:52 +01:00
Alexander Heldt
5697f190bc Update README with documentation about the test-vm 2024-11-09 10:41:52 +01:00
Alexander Heldt
2211713693 test-vm: Resize terminal to host terminal size 2024-11-09 10:41:52 +01:00
Alexander Heldt
246d0f4d59 test-vm: Add alias of shutting down the VM 2024-11-09 10:41:52 +01:00
Alexander Heldt
0a36765c29 test-vm: Auto login a user and assume its sudo 2024-11-09 10:41:52 +01:00
Alexander Heldt
88cb69c9dc test-vm: Increase disk size 2024-11-09 10:41:47 +01:00
6 changed files with 119 additions and 8 deletions

View File

@@ -25,3 +25,13 @@ EDITOR=vim agenix -d "some-secret.age" -i ~/.ssh/alex.pinwheel
Or use some other SSH key that is has been used to key the secret.
# Test VM
Build the test VM with the command:
```
cm --build-test-vm
```
and test it with:
```
cm --run-test-vm
```

20
flake.lock generated
View File

@@ -260,7 +260,8 @@
"nix-gc-env": "nix-gc-env",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs",
"pppdotpm-site": "pppdotpm-site"
"pppdotpm-site": "pppdotpm-site",
"whib-backend": "whib-backend"
}
},
"systems": {
@@ -292,6 +293,23 @@
"repo": "default",
"type": "github"
}
},
"whib-backend": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1731143140,
"narHash": "sha256-pLxBnIgcAJxvbMglXbeSI5/yxSR0RfFgNW7eQ7oNFR8=",
"path": "/home/alex/code/own/whib",
"type": "path"
},
"original": {
"path": "/home/alex/code/own/whib",
"type": "path"
}
}
},
"root": "root",

View File

@@ -37,6 +37,12 @@
url = "git+ssh://gitea@git.ppp.pm:1122/alex/ppp.pm-site.git?ref=main";
inputs.nixpkgs.follows = "nixpkgs";
};
whib-backend = {
# url = "git+ssh://gitea@git.ppp.pm:1122/alex/whib.git?ref=nix-flake";
url = "path:/home/alex/code/own/whib";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
@@ -77,13 +83,20 @@
];
};
test-vm = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs;
test-vm =
let
system = "x86_64-linux";
in
inputs.nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
inherit inputs;
};
modules = [
./hosts/test-vm/configuration.nix
inputs.whib-backend.nixosModules.${system}.default
];
};
modules = [ ./hosts/test-vm/configuration.nix ];
};
};
devShells =

View File

@@ -14,6 +14,8 @@
home.homeDirectory = "/home/alex";
home.packages = [
inputs.whib-backend.packages.${pkgs.system}.whib-import
pkgs.beekeeper-studio
pkgs.bitwarden-desktop
pkgs.gimp
pkgs.zip

View File

@@ -2,6 +2,7 @@
{
imports = [
./ppp.pm-site.nix
./whib-backend.nix
];
config = {
@@ -10,7 +11,8 @@
networking.hostName = "test-vm";
mod = {
pppdotpm-site.enable = true;
pppdotpm-site.enable = false;
whib-backend.enable = true;
};
users.users.a = {
@@ -18,16 +20,28 @@
extraGroups = [ "wheel" ];
password = "a";
};
services.getty.autologinUser = "a";
security.sudo.wheelNeedsPassword = false;
virtualisation.vmVariant = {
# following configuration is added only when building VM with build-vm
virtualisation = {
diskSize = 4096;
memorySize = 2048;
cores = 3;
graphics = false;
};
};
# Resize terminal to host terminal size
environment.loginShellInit = ''
${pkgs.xterm}/bin/resize
'';
environment.interactiveShellInit = ''
alias sd='sudo shutdown now'
'';
environment.systemPackages = [ ];
system.stateVersion = "24.05";

View File

@@ -0,0 +1,54 @@
{
lib,
config,
...
}:
let
enabled = config.mod.whib-backend.enable;
in
{
options = {
mod.whib-backend = {
enable = lib.mkEnableOption "enable WHIB backend";
};
};
config = lib.mkIf enabled {
services.whib-backend = {
enable = true;
domain = "whib-backend.local";
backend = {
signingKey = "super-secret-key";
};
postgres = {
password = "postgrespassword";
};
};
virtualisation.vmVariant = {
virtualisation = {
sharedDirectories = {
my-shared = {
source = "/home/alex/whib-backup";
target = "/mnt/shared";
};
};
forwardPorts = [
{
from = "host";
host.port = 8080;
guest.port = 8080;
}
{
from = "host";
host.port = 5432;
guest.port = 5432;
}
];
};
};
};
}