This commit is contained in:
Jack Mechem 2026-03-29 13:46:58 -07:00
parent 52bb27a6d4
commit 69567fcd3f
2 changed files with 40 additions and 40 deletions

View file

@ -1,11 +1,9 @@
{
description = "server-dash - NixOS System Dashboard";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs =
{
self,
@ -24,11 +22,9 @@
version = "0.1.0";
src = ./.;
npmDepsHash = "sha256-jzVH/DKNE6m+RowHku7h3brC6T+a6xjl2SKSXiTmLgM=";
buildPhase = ''
npm run build
'';
installPhase = ''
mkdir -p $out/.next
cp -r .next/standalone/. $out/
@ -49,28 +45,31 @@
{
options.services.server-dash = {
enable = lib.mkEnableOption "server-dash NixOS System Dashboard";
package = lib.mkOption {
type = lib.types.path;
default = "/var/lib/server-dash/build";
description = "Path to the pre-built server-dash package";
};
};
config = lib.mkIf config.services.server-dash.enable {
users.users.dashboard = {
users.users.server-dash = {
isSystemUser = true;
group = "dashboard";
home = "/var/lib/dashboard";
group = "server-dash";
home = "/var/lib/server-dash";
createHome = true;
};
users.groups.dashboard = { };
systemd.services.dashboard = {
users.groups.server-dash = { };
systemd.services.server-dash = {
description = "NixOS System Dashboard";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
User = "dashboard";
Group = "dashboard";
ExecStart = "${pkgs.nodejs}/bin/node ${self.packages.${pkgs.system}.default}/server.js";
User = "server-dash";
Group = "server-dash";
ExecStart = "${pkgs.nodejs}/bin/node ${config.services.server-dash.package}/server.js";
Restart = "always";
EnvironmentFile = "/var/lib/dashboard/.env";
EnvironmentFile = "/var/lib/server-dash/.env";
Environment = [
"PORT=3000"
"HOSTNAME=127.0.0.1"