1
0
Fork 0
selfhostblocks/flake.nix

130 lines
4.2 KiB
Nix
Raw Normal View History

2023-06-23 06:22:34 +02:00
{
description = "SelfHostBlocks module";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
sops-nix.url = "github:Mic92/sops-nix";
2023-11-05 04:30:17 +01:00
nix-flake-tests.url = "github:antifuchs/nix-flake-tests";
flake-utils.url = "github:numtide/flake-utils";
nmdsrc = {
url = "git+https://git.sr.ht/~rycee/nmd";
flake = false;
};
2023-06-23 06:22:34 +02:00
};
outputs = { nixpkgs, nix-flake-tests, flake-utils, nmdsrc, ... }: flake-utils.lib.eachDefaultSystem (system:
2023-11-05 04:30:17 +01:00
let
patches = [
''
From a4d67df38628eaa3e1823af7b7613af3d7ff7555 Mon Sep 17 00:00:00 2001
From: ibizaman <ibizapeanut@gmail.com>
Date: Sun, 3 Dec 2023 21:09:30 -0800
Subject: [PATCH] fix for nixos-render-docs media path
---
.../tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py
index d605dd88b37d..3482cc02c4d1 100644
--- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py
@@ -506,7 +506,7 @@ class ManualHTMLRenderer(RendererMixin, HTMLRenderer):
in_dir = self._in_dir
for included, path in fragments:
try:
- self._in_dir = (in_dir / path).parent
+ self._in_dir = path.parent
inner.append(self.render(included))
except Exception as e:
raise RuntimeError(f"rendering {path}") from e
--
2.42.0
''
];
originPkgs = nixpkgs.legacyPackages.${system};
patchedNixpkgs = originPkgs.applyPatches {
name = "nixpkgs-patched";
src = nixpkgs;
patches = map (p: originPkgs.writeText "patch" p) patches;
2023-11-30 19:38:35 +01:00
};
pkgs = import patchedNixpkgs {
inherit system;
};
2023-11-30 19:38:35 +01:00
allModules = [
modules/blocks/authelia.nix
modules/blocks/backup.nix
modules/blocks/davfs.nix
modules/blocks/ldap.nix
modules/blocks/monitoring.nix
modules/blocks/nginx.nix
modules/blocks/postgresql.nix
modules/blocks/ssl.nix
modules/blocks/tinyproxy.nix
modules/blocks/vpn.nix
modules/services/arr.nix
modules/services/deluge.nix
modules/services/hledger.nix
modules/services/home-assistant.nix
modules/services/jellyfin.nix
modules/services/nextcloud-server.nix
modules/services/vaultwarden.nix
];
2023-11-05 04:30:17 +01:00
in
{
nixosModules.default = { config, ... }: {
2023-11-30 19:38:35 +01:00
imports = allModules;
2023-11-05 04:30:17 +01:00
};
2023-06-23 06:22:34 +02:00
packages.manualHtml = pkgs.callPackage ./docs {
inherit allModules nmdsrc;
release = "0.0.1";
};
2023-11-30 19:38:35 +01:00
2023-11-22 07:18:48 +01:00
checks =
let
importFiles = files:
map (m: import m {
inherit pkgs;
inherit (pkgs) lib;
}) files;
2023-11-08 05:26:34 +01:00
2023-11-22 07:18:48 +01:00
mergeTests = pkgs.lib.lists.foldl pkgs.lib.trivial.mergeAttrs {};
flattenAttrs = root: attrset: pkgs.lib.attrsets.foldlAttrs (acc: name: value: acc // {
"${root}_${name}" = value;
}) {} attrset;
vm_test = name: path: flattenAttrs "vm_${name}" (
import path {
inherit pkgs;
inherit (pkgs) lib;
}
);
in (rec {
2023-11-22 07:18:48 +01:00
all = mergeTests [
modules
];
modules = nix-flake-tests.lib.check {
inherit pkgs;
tests =
mergeTests (importFiles [
./test/modules/arr.nix
./test/modules/davfs.nix
./test/modules/nginx.nix
2023-11-22 07:18:48 +01:00
./test/modules/postgresql.nix
]);
};
}
2023-12-01 07:08:38 +01:00
// (vm_test "ldap" ./test/vm/ldap.nix)
// (vm_test "postgresql" ./test/vm/postgresql.nix)
// (vm_test "monitoring" ./test/vm/monitoring.nix)
);
2023-11-05 04:30:17 +01:00
}
);
2023-06-23 06:22:34 +02:00
}