Nix format

This commit is contained in:
Chris Dombroski 2024-08-28 21:24:00 -04:00
parent 8fdef84eb2
commit f18cd49b01
7 changed files with 70 additions and 64 deletions

View file

@ -61,7 +61,10 @@
nixosConfigurations = {
smolboi = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; inherit pkgs-unstable; };
specialArgs = {
inherit inputs;
inherit pkgs-unstable;
};
modules = [
stylix.nixosModules.stylix
impermanence.nixosModules.impermanence
@ -82,7 +85,10 @@
};
zeus = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; inherit pkgs-unstable; };
specialArgs = {
inherit inputs;
inherit pkgs-unstable;
};
modules = [
impermanence.nixosModules.impermanence
./systems/zeus/configuration.nix
@ -95,7 +101,10 @@
};
orangepihole = nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
specialArgs = { inherit inputs; inherit pkgs-unstable; };
specialArgs = {
inherit inputs;
inherit pkgs-unstable;
};
modules = [
impermanence.nixosModules.impermanence
./systems/orangepihole/configuration.nix

View file

@ -2,29 +2,28 @@
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
'';
};
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";
};
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";
};
}
};
}

View file

@ -1,22 +1,24 @@
final: prev:
let
let
os = "linux";
arch = "x64";
hash = "sha256:04vg1s86krg7baifcpnqr5zg6jd6nfw0jhjsq09zzpxwg5skxlf7";
version = "7.2.1";
in
{
recyclarr = prev.recyclarr.overrideAttrs (old: {
inherit version;
name = "recyclarr-${version}";
src = prev.fetchurl {
url = "https://github.com/recyclarr/recyclarr/releases/download/v${version}/recyclarr-${os}-${arch}.tar.xz";
inherit hash;
};
postInstall = ''
wrapProgram $out/bin/recyclarr \
--prefix PATH : ${prev.lib.makeBinPath [prev.git]} \
--prefix LD_LIBRARY_PATH : ${prev.lib.makeLibraryPath [prev.icu prev.openssl prev.zlib]}
'';
});
}
in {
recyclarr = prev.recyclarr.overrideAttrs (old: {
inherit version;
name = "recyclarr-${version}";
src = prev.fetchurl {
url =
"https://github.com/recyclarr/recyclarr/releases/download/v${version}/recyclarr-${os}-${arch}.tar.xz";
inherit hash;
};
postInstall = ''
wrapProgram $out/bin/recyclarr \
--prefix PATH : ${prev.lib.makeBinPath [ prev.git ]} \
--prefix LD_LIBRARY_PATH : ${
prev.lib.makeLibraryPath [ prev.icu prev.openssl prev.zlib ]
}
'';
});
}

View file

@ -1,4 +1 @@
final: prev:
{
zwave-js-ui = ( prev.callPackage ../pkgs/zwave-js-ui.nix {} );
}
final: prev: { zwave-js-ui = (prev.callPackage ../pkgs/zwave-js-ui.nix { }); }

View file

@ -16,6 +16,6 @@ buildNpmPackage rec {
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];
maintainers = with lib.maintainers; [ cdombroski ];
};
}

View file

@ -37,12 +37,8 @@
allowUnfree = true;
permittedInsecurePackages = [ "electron-25.9.0" "nix-2.16.2" ];
packageOverrides = pkgs: {
steam = pkgs.steam.override {
extraPkgs = pkgs:
with pkgs; [
winetricks
];
};
steam =
pkgs.steam.override { extraPkgs = pkgs: with pkgs; [ winetricks ]; };
};
};

View file

@ -35,7 +35,7 @@
};
sops = {
secrets."tailscale/authkey" = {};
secrets."tailscale/authkey" = { };
templates."docker.env".content = ''
TAILSCALE_AUTHKEY=${config.sops.placeholder."tailscale/authkey"}
'';
@ -132,13 +132,17 @@
};
jellyfin = {
image = "lscr.io/linuxserver/jellyfin:latest";
volumes = [ "jellyfin-config:/config" "/video-data/media:/data/media" "jellyfin-tailscale:/var/lib/tailscale"];
volumes = [
"jellyfin-config:/config"
"/video-data/media:/data/media"
"jellyfin-tailscale:/var/lib/tailscale"
];
environment = {
DOCKER_MODS="ghcr.io/tailscale-dev/docker-mod:main";
TAILSCALE_STATE_DIR="/var/lib/tailscale";
TAILSCALE_HOSTNAME="jellyfin";
TAILSCALE_SERVE_PORT="8096";
TAILSCALE_SERVE_MODE="http";
DOCKER_MODS = "ghcr.io/tailscale-dev/docker-mod:main";
TAILSCALE_STATE_DIR = "/var/lib/tailscale";
TAILSCALE_HOSTNAME = "jellyfin";
TAILSCALE_SERVE_PORT = "8096";
TAILSCALE_SERVE_MODE = "http";
TZ = "America/New_York";
};
environmentFiles = [ config.sops.templates."docker.env".path ];
@ -151,7 +155,7 @@
imageFile = pkgs.dockerTools.buildLayeredImage {
name = "my-zwave-js-ui";
tag = "latest";
contents = with pkgs; [cacert];
contents = with pkgs; [ cacert ];
config.Cmd = [ "${pkgs.zwave-js-ui}/bin/zwave-js-ui" ];
};
volumes = [ "zwave-config:/usr/src/app/store" ];
@ -165,8 +169,7 @@
swag_url = "zwave.icanttype.org";
swag_port = "8091";
};
extraOptions =
[ "--network=www" "--device=/dev/ttyACM0:/dev/zwave" ];
extraOptions = [ "--network=www" "--device=/dev/ttyACM0:/dev/zwave" ];
};
homeassistant = {
image = "lscr.io/linuxserver/homeassistant:latest";