Cleanup
This commit is contained in:
parent
16bfa3f839
commit
27a029fe25
7 changed files with 66 additions and 59 deletions
40
flake.lock
40
flake.lock
|
@ -158,6 +158,29 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ez-configs": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": [
|
||||||
|
"flake-parts"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1720994547,
|
||||||
|
"narHash": "sha256-5WmTdtALYr8zSTBEeyKWos08pqNwRJ2SiT/vAnw19TU=",
|
||||||
|
"owner": "ehllie",
|
||||||
|
"repo": "ez-configs",
|
||||||
|
"rev": "563000e533a1b1aa957a4b788bf505cd243e5154",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ehllie",
|
||||||
|
"repo": "ez-configs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -176,7 +199,9 @@
|
||||||
},
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726153070,
|
"lastModified": 1726153070,
|
||||||
|
@ -293,18 +318,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1725233747,
|
|
||||||
"narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixunstable": {
|
"nixunstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726463316,
|
"lastModified": 1726463316,
|
||||||
|
@ -325,6 +338,7 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"deploy-rs": "deploy-rs",
|
"deploy-rs": "deploy-rs",
|
||||||
"devshell": "devshell",
|
"devshell": "devshell",
|
||||||
|
"ez-configs": "ez-configs",
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
|
31
flake.nix
31
flake.nix
|
@ -3,10 +3,12 @@
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
|
||||||
nixunstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixunstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
flake-parts = {
|
||||||
|
url = "github:hercules-ci/flake-parts";
|
||||||
|
inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||||
|
};
|
||||||
flake-compat = {
|
flake-compat = {
|
||||||
url = "github:edolstra/flake-compat";
|
url = "github:edolstra/flake-compat";
|
||||||
flake = false;
|
|
||||||
};
|
};
|
||||||
devshell = {
|
devshell = {
|
||||||
url = "github:numtide/devshell";
|
url = "github:numtide/devshell";
|
||||||
|
@ -36,17 +38,33 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||||
|
ez-configs = {
|
||||||
|
url = "github:ehllie/ez-configs";
|
||||||
|
inputs = {
|
||||||
|
flake-parts.follows = "flake-parts";
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
outputs =
|
outputs =
|
||||||
inputs@{ flake-parts, ... }:
|
inputs:
|
||||||
flake-parts.lib.mkFlake { inherit inputs; } (
|
inputs.flake-parts.lib.mkFlake { inherit inputs; } (
|
||||||
{ withSystem, self, ... }:
|
{ withSystem, self, ... }:
|
||||||
{
|
{
|
||||||
imports = [ inputs.devshell.flakeModule ];
|
imports = [
|
||||||
|
inputs.devshell.flakeModule
|
||||||
|
inputs.ez-configs.flakeModule
|
||||||
|
];
|
||||||
systems = [
|
systems = [
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
];
|
];
|
||||||
|
ezConfigs = {
|
||||||
|
root = ./.;
|
||||||
|
globalArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
|
};
|
||||||
flake = {
|
flake = {
|
||||||
deploy = {
|
deploy = {
|
||||||
sshUser = "root";
|
sshUser = "root";
|
||||||
|
@ -139,7 +157,7 @@
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
deploy-rs = {
|
deploy-rs = {
|
||||||
inherit (inputs.nixpkgs.legacyPackages.${system}) deploy-rs;
|
inherit (inputs.nixpkgs.legacyPackages.${system}) deploy-rs;
|
||||||
lib = prev.deploy-rs.lib;
|
inherit (prev.deploy-rs) lib;
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
@ -151,6 +169,7 @@
|
||||||
sops
|
sops
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
packages.zwave-js-ui = pkgs.callPackage ./pkgs/zwave-js-ui.nix { };
|
||||||
checks = inputs.deploy-rs.lib.${system}.deployChecks self.deploy;
|
checks = inputs.deploy-rs.lib.${system}.deployChecks self.deploy;
|
||||||
formatter = pkgs.nixfmt-rfc-style;
|
formatter = pkgs.nixfmt-rfc-style;
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,10 +15,6 @@
|
||||||
};
|
};
|
||||||
optimise.automatic = true;
|
optimise.automatic = true;
|
||||||
};
|
};
|
||||||
nixpkgs.overlays = [
|
|
||||||
(import ../../overlays/recyclarr.nix)
|
|
||||||
(import ../../overlays/zwave-js-ui.nix)
|
|
||||||
];
|
|
||||||
system.autoUpgrade = {
|
system.autoUpgrade = {
|
||||||
enable = true;
|
enable = true;
|
||||||
flake = "git+https://git.icanttype.org/cdombroski/nix-configs.git";
|
flake = "git+https://git.icanttype.org/cdombroski/nix-configs.git";
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
inputs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
@ -19,9 +20,9 @@ in
|
||||||
serialPort = mkOption {
|
serialPort = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
description = ''
|
description = ''
|
||||||
Serial port for the Z-Wave controller.
|
Serial port for the Z-Wave controller.
|
||||||
|
|
||||||
Used for permissions only; must be additionally set in the application
|
Used for permissions only; must be additionally set in the application
|
||||||
'';
|
'';
|
||||||
example = "/dev/ttyUSB0";
|
example = "/dev/ttyUSB0";
|
||||||
};
|
};
|
||||||
|
@ -38,7 +39,7 @@ in
|
||||||
STORE_DIR = "/var/lib/zwave-js-ui";
|
STORE_DIR = "/var/lib/zwave-js-ui";
|
||||||
ZWAVEJS_EXTERNAL_CONFIG = "/var/lib/zwave-js-ui/.config-db";
|
ZWAVEJS_EXTERNAL_CONFIG = "/var/lib/zwave-js-ui/.config-db";
|
||||||
};
|
};
|
||||||
script = "${pkgs.zwave-js-ui}/bin/zwave-js-ui";
|
script = "${inputs.self.packages.${pkgs.stdenv.system}.zwave-js-ui}/bin/zwave-js-ui";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
RuntimeDirectory = "zwave-js-ui";
|
RuntimeDirectory = "zwave-js-ui";
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
final: prev:
|
|
||||||
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
|
|
||||||
]
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
final: prev: { zwave-js-ui = (prev.callPackage ../pkgs/zwave-js-ui.nix { }); }
|
|
|
@ -1,4 +1,10 @@
|
||||||
{ config, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
pkgs-unstable,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -45,7 +51,7 @@
|
||||||
networking.hostId = "9e95b576";
|
networking.hostId = "9e95b576";
|
||||||
systemd.services = {
|
systemd.services = {
|
||||||
recyclarr = {
|
recyclarr = {
|
||||||
script = "${pkgs.recyclarr}/bin/recyclarr sync";
|
script = "${pkgs-unstable.recyclarr}/bin/recyclarr sync";
|
||||||
startAt = "daily";
|
startAt = "daily";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -175,7 +181,7 @@
|
||||||
name = "my-zwave-js-ui";
|
name = "my-zwave-js-ui";
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
contents = with pkgs; [ cacert ];
|
contents = with pkgs; [ cacert ];
|
||||||
config.Cmd = [ "${pkgs.zwave-js-ui}/bin/zwave-js-ui" ];
|
config.Cmd = [ "${inputs.self.packages.${pkgs.stdenv.system}.zwave-js-ui}/bin/zwave-js-ui" ];
|
||||||
};
|
};
|
||||||
volumes = [ "zwave-config:/usr/src/app/store" ];
|
volumes = [ "zwave-config:/usr/src/app/store" ];
|
||||||
environment = {
|
environment = {
|
||||||
|
@ -409,7 +415,7 @@
|
||||||
docker-compose
|
docker-compose
|
||||||
tcpdump
|
tcpdump
|
||||||
ethtool
|
ethtool
|
||||||
recyclarr
|
pkgs-unstable.recyclarr
|
||||||
];
|
];
|
||||||
persistence."/persist" = {
|
persistence."/persist" = {
|
||||||
enableWarnings = false;
|
enableWarnings = false;
|
||||||
|
|
Loading…
Reference in a new issue