Compare commits

...

2 commits

7 changed files with 66 additions and 60 deletions

View file

@ -37,7 +37,6 @@ import "${nixpkgs}/nixos/lib/eval-config.nix" {
(import "${inputs.impermanence}/nixos.nix")
(import inputs.lanzaboote).nixosModules.lanzaboote
(import inputs.lila).nixosModules.hash-collection
(import "${inputs.arkheon}/module.nix")
(import "${inputs.stateless-uptime-kuma}/nixos/module.nix")
{
home-manager.useGlobalPkgs = true;
@ -59,6 +58,7 @@ import "${nixpkgs}/nixos/lib/eval-config.nix" {
hydrasect = prev.pkgs.callPackage ../packages/hydrasect { };
codeberg-pages-custom = prev.pkgs.callPackage ../packages/codeberg-pages-custom { };
readeck = prev.pkgs.callPackage ../packages/readeck { };
uptime-kuma-beta = prev.pkgs.callPackage ../packages/uptime-kuma-beta { };
})
(

View file

@ -11,16 +11,6 @@
"url": "https://github.com/ryantm/agenix/archive/f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41.tar.gz",
"hash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU="
},
"arkheon": {
"type": "GitHub",
"fetchType": "tarball",
"owner": "raitobezarius",
"repo": "arkheon",
"branch": "main",
"revision": "113724a1a206905e68319676f73d095fcc043a42",
"url": "https://github.com/raitobezarius/arkheon/archive/113724a1a206905e68319676f73d095fcc043a42.tar.gz",
"hash": "sha256-+BkuEBvFcLRsIe3FoHojRvXeyOS+n3dxPOafBgR4CHo="
},
"buildbot-nix": {
"type": "GitHub",
"fetchType": "tarball",
@ -174,9 +164,9 @@
"stateless-uptime-kuma": {
"type": "Git",
"fetchType": "git",
"branch": "master",
"branch": "truly-deterministic",
"revision": "880f444ff7862d6127b051cf1a993ad1585b1652",
"url": "https://git.dgnum.eu/DGNum/stateless-uptime-kuma.git",
"url": "https://git.dgnum.eu/Luj/stateless-uptime-kuma.git",
"hash": "sha256-l9fgwesnmFxasCaYUCD7L9bGGJXytLuwtx3CZMgpwJg=",
"submodules": false
},

View file

@ -1,32 +0,0 @@
{
config,
inputs,
pkgs,
...
}:
{
age.secrets."arkheon-env".file = ../../secrets/arkheon-env.age;
nixpkgs.overlays = [ (import "${inputs.arkheon}/overlay.nix") ];
services.arkheon = {
enable = true;
pythonEnv = pkgs.python3.withPackages (ps: [
ps.arkheon
ps.daphne
ps.psycopg2
]);
domain = "arkheon.luj.fr";
nginx = {
enableACME = true;
forceSSL = true;
};
envFile = config.age.secrets."arkheon-env".path;
};
}

View file

@ -9,7 +9,6 @@
imports = [
./hardware.nix
./home-julien.nix
./arkheon.nix
./uptime-kuma.nix
];

View file

@ -1,9 +1,13 @@
{ pkgs, config, ... }:
{
pkgs,
config,
...
}:
{
services.uptime-kuma = {
enable = true;
package = pkgs.unstable.uptime-kuma;
package = pkgs.uptime-kuma-beta;
settings = {
NODE_EXTRA_CA_CERTS = "/etc/ssl/certs/ca-certificates.crt";
};
@ -37,7 +41,10 @@
};
};
extraFlags = [ "-s" ];
extraFlags = [
"-s"
"-v DEBUG"
];
host = "http://localhost:${builtins.toString 3001}/";
username = "Julien";

View file

@ -0,0 +1,53 @@
{
lib,
stdenv,
fetchFromGitHub,
buildNpmPackage,
python3,
nodejs,
nixosTests,
}:
buildNpmPackage rec {
pname = "uptime-kuma";
version = "2.0.0-beta.0";
src = fetchFromGitHub {
owner = "louislam";
repo = "uptime-kuma";
rev = version;
hash = "sha256-QWGrwysPS5BxhtjluI30pKWCUo7O3kpL4K8uEb5J3Ik=";
};
npmDepsHash = "sha256-DuXBu536Ro6NA3pPnP1mL+hBdgKCSudV0rxD2vZwX3o=";
nativeBuildInputs = [ python3 ];
CYPRESS_INSTALL_BINARY = 0; # Stops Cypress from trying to download binaries
postInstall = ''
cp -r dist $out/lib/node_modules/uptime-kuma/
# remove references to nodejs source
rm -r $out/lib/node_modules/uptime-kuma/node_modules/@louislam/sqlite3/build-tmp-napi-v6
'';
postFixup = ''
makeWrapper ${nodejs}/bin/node $out/bin/uptime-kuma-server \
--add-flags $out/lib/node_modules/uptime-kuma/server/server.js \
--chdir $out/lib/node_modules/uptime-kuma
'';
passthru.tests.uptime-kuma = nixosTests.uptime-kuma;
meta = with lib; {
description = "Fancy self-hosted monitoring tool";
mainProgram = "uptime-kuma-server";
homepage = "https://github.com/louislam/uptime-kuma";
changelog = "https://github.com/louislam/uptime-kuma/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ julienmalka ];
# FileNotFoundError: [Errno 2] No such file or directory: 'xcrun'
broken = stdenv.hostPlatform.isDarwin;
};
}

View file

@ -1,17 +1,6 @@
{ config, ... }:
{
deployment.tags = [ "server" ];
# Enable arkheon
age.secrets."arkheon-token".file = ../secrets/arkheon-token.age;
services.arkheon.record = {
enable = true;
tokenFile = config.age.secrets."arkheon-token".path;
url = "https://arkheon.luj.fr";
};
# Nice motd
programs.rust-motd = {
enable = true;