nixos zwave?
This commit is contained in:
parent
12df3009d1
commit
829fec78d6
5 changed files with 56 additions and 1 deletions
|
@ -11,6 +11,7 @@
|
||||||
};
|
};
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(import ../../overlays/recyclarr.nix)
|
(import ../../overlays/recyclarr.nix)
|
||||||
|
(import ../../overlays/zwave-js-ui.nix)
|
||||||
];
|
];
|
||||||
system.autoUpgrade = {
|
system.autoUpgrade = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
30
modules/zwave-js-ui.nix
Normal file
30
modules/zwave-js-ui.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkEnableOption mkOption types;
|
||||||
|
cfg = config.services.zwave-js-ui;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.services.zwave-js-ui = {
|
||||||
|
enable = mkEnableOption "zwave-js-ui";
|
||||||
|
store = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
default = "/var/lib/zwave-js-ui";
|
||||||
|
description = ''
|
||||||
|
Where zwave-js-ui information will be stored
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
assertions = [{
|
||||||
|
assertion = !config.services.zwave-js.enable;
|
||||||
|
message = "zwave-js-ui conflicts with zwave-js";
|
||||||
|
}];
|
||||||
|
systemd.services.zwave-js-ui = {
|
||||||
|
environment = {
|
||||||
|
STORE_DIR = cfg.store;
|
||||||
|
ZWAVEJS_EXTERNAL_CONFIG = "${cfg.store}/.config-db";
|
||||||
|
};
|
||||||
|
script = "${pkgs.zwave-js-ui}/bin/zwave-js-ui";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
4
overlays/zwave-js-ui.nix
Normal file
4
overlays/zwave-js-ui.nix
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
final: prev:
|
||||||
|
{
|
||||||
|
zwave-js-ui = ( prev.callPackage ../pkgs/zwave-js-ui.nix {} );
|
||||||
|
}
|
21
pkgs/zwave-js-ui.nix
Normal file
21
pkgs/zwave-js-ui.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, buildNpmPackage, fetchFromGitHub }:
|
||||||
|
|
||||||
|
buildNpmPackage rec {
|
||||||
|
pname = "zwave-js-ui";
|
||||||
|
version = "9.17.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "zwave-js";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-GCBVRjDpiC8WhPHFwKnzyO5I09TDx3IbxpUZvwDu2u0=";
|
||||||
|
};
|
||||||
|
npmDepsHash = "sha256-YtHiBVz2eyHyJkr4K1NZXVZKdZTmdGMDFGpEC0QUCMU=";
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Full featured Z-Wave Control Panel and MQTT Gateway.";
|
||||||
|
homepage = "https://zwave-js.github.io/zwave-js-ui/";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [cdombroski];
|
||||||
|
};
|
||||||
|
}
|
|
@ -355,4 +355,3 @@
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
zramSwap.enable = true;
|
zramSwap.enable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue