Merge branch 'master' of gitea.awkawb.cloud:awkawb/invoice-ninja-nixos

This commit is contained in:
Andrew Bryant 2024-12-27 16:00:24 -05:00
commit 038d6fb3bf
5 changed files with 32 additions and 10 deletions

View File

@ -11,8 +11,7 @@
# Since all targets are phony, all targets should be listed here # Since all targets are phony, all targets should be listed here
# One target per line # One target per line
.PHONY: boot-graphical-vm \ .PHONY: boot-vm \
boot-vm \
build-vm \ build-vm \
clean \ clean \
format-nix-files \ format-nix-files \
@ -29,8 +28,8 @@ format-nix-files: ## Format nix files using the nixpkgs-fmt tool
find . -name "*.nix" -exec nixpkgs-fmt {} \; find . -name "*.nix" -exec nixpkgs-fmt {} \;
clean: ## Clean build artifacts and shutdown running virtual machines clean: ## Clean build artifacts and shutdown running virtual machines
rm result rm result > /dev/null 2>&1
rm nixos.qcow2 rm nixos.qcow2 > /dev/null 2>&1
pkill qemu pkill qemu
exit 0 exit 0
@ -46,6 +45,3 @@ boot-vm: ## Run virtual machine in current terminal
-nographic; \ -nographic; \
reset reset
boot-graphical-vm: ## Run virtual machine in QEMU window
./result/bin/run-nixos-vm

View File

@ -10,7 +10,7 @@ let
cfg = config.services.invoice-ninja; cfg = config.services.invoice-ninja;
user = cfg.user; user = cfg.user;
group = cfg.group; group = cfg.group;
invoice-ninja = pkgs.callPackage ./default.nix { invoice-ninja = pkgs.callPackage ../../../../pkgs/by-name/in/invoice-ninja/package.nix {
inherit (cfg) dataDir runtimeDir; inherit (cfg) dataDir runtimeDir;
}; };
configFormat = pkgs.formats.keyValue { }; configFormat = pkgs.formats.keyValue { };

View File

@ -10,16 +10,40 @@
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
environment.etc."msmtp-password" = {
enable = true;
user = "invoiceninja";
group = "invoiceninja";
mode = "0440";
text = ''
3t5h638t3a7y7275
'';
};
users.users.test = { users.users.test = {
isNormalUser = true; isNormalUser = true;
extraGroups = [ "wheel" ]; extraGroups = [ "wheel" ];
initialPassword = "testing"; initialPassword = "test";
}; };
services.invoice-ninja = { services.invoice-ninja = {
enable = true; enable = true;
database.createLocally = true; database.createLocally = true;
nginx = { }; webserver.caddy.enable = true;
webserver.nginx.enable = false;
mail.mailFromName = "Andrew Bryant";
adminEmail = "billing@allpawcare.com";
msmtp.accounts.invoice-ninja = {
auth = true;
tls = true;
tls_starttls = false;
from = "billing@allpawcare.com";
host = "smtp.fastmail.com";
port = 465;
user = "awkawb@awkawb.cloud";
passwordeval = "cat /etc/msmtp-password";
};
secretFile = ./test-secrets.env; secretFile = ./test-secrets.env;
}; };

1
tests/test-password Normal file
View File

@ -0,0 +1 @@
test

View File

@ -1 +1,2 @@
APP_KEY=base64:gJnNI8pOx4c0/Z6kl9mIjn0X9XkbJUWjtqnDFl9prvo= APP_KEY=base64:gJnNI8pOx4c0/Z6kl9mIjn0X9XkbJUWjtqnDFl9prvo=
API_KEY=test-api-token