Skip to content

Commit 8573fda

Browse files
committed
Add isp-setup service
1 parent d9530d5 commit 8573fda

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

modules/default.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ in
4343
./nvargus-daemon.nix
4444
./flash-script.nix
4545
./devices.nix
46+
./isp-setup.nix
4647
(lib.modules.mkRenamedOptionModule [ "hardware" "nvidia-jetpack" "container-toolkit" "enable" ] [ "hardware" "nvidia-container-toolkit" "enable" ])
4748
];
4849

modules/isp-setup.nix

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{ pkgs, config, lib, ... }:
2+
3+
let
4+
inherit (lib) types mkEnableOption mkOption;
5+
6+
cfg = config.services.isp-setup;
7+
8+
copyISPfiles = pkgs.writeShellScriptBin "copy-isp-files" ''
9+
if [[ ! -f "/var/nvidia/nvcam" ]]; then
10+
${lib.getExe' pkgs.coreutils "mkdir"} -p /var/nvidia/nvcam
11+
${lib.getExe' pkgs.coreutils "cp"} -r ${cfg.path}/. /var/nvidia/nvcam
12+
${lib.getExe' pkgs.coreutils "chmod"} -R 644 /var/nvidia/nvcam
13+
fi
14+
'';
15+
in
16+
{
17+
options = {
18+
services.isp-setup = {
19+
20+
enable = mkEnableOption "ISP setup";
21+
22+
path = mkOption {
23+
description = "Path to nvcam files";
24+
type = types.path;
25+
};
26+
};
27+
};
28+
29+
config = lib.mkIf cfg.enable {
30+
systemd.services.isp-setup = {
31+
enable = true;
32+
description = "ISP setup";
33+
serviceConfig = {
34+
ExecStart = lib.getExe copyISPfiles;
35+
};
36+
wantedBy = [ "multi-user.target" ];
37+
};
38+
};
39+
}

0 commit comments

Comments
 (0)