feat: actual pkg
This commit is contained in:
parent
f9990eb01c
commit
e7a7704b7f
|
@ -1,16 +0,0 @@
|
||||||
age-encryption.org/v1
|
|
||||||
-> X25519 8KelKlNhyqDN8pddQTPpmaoXCsR7uft/cB2C1T79WwU
|
|
||||||
d5/gmNM0BA7WVS4Ln+6e1IBysWjTwZXDMS9t+TQMdBA
|
|
||||||
-> piv-p256 XTQkUA AwfejTufQTCGTbBRgZASantr/GBbw4Mnp1IvAECk8YxH
|
|
||||||
noyk11Kk6dkvN/6wB6I+yREBeesc/KH6OJWvvvXZvvY
|
|
||||||
-> piv-p256 ZFgiIw AhntWFLj+OSpO8uJLeEmiWWPH4KzeZcJv29++AA9gPC6
|
|
||||||
TvfAw/aL0Urtrl0QTwbHm+U92igPgjizw5JVu9Xr27M
|
|
||||||
-> piv-p256 5vmPtQ AgBlp4aFbmUE9fVASSuXWIL60Ryz7Vt4vDmR2lNu5ob5
|
|
||||||
NYfzjIwTshjDJgV/Ijkzw7qEUC9kx9SyDcr9M3wCzLM
|
|
||||||
-> piv-p256 ZFgiIw AtXr3k6gmYxEupwpS7pSOdnF2720SCJj7V0Ci5lijrJS
|
|
||||||
z2klub/HC+YWunOR/NzMh9KPrdVD/UUm17VX/mXP31U
|
|
||||||
-> hen,g-grease Qg6] a X\b M[r_v^iK
|
|
||||||
neSxR7VWYbpUF4T0xYBS8T3PcnJWEK++hBJTrdv2u6h52c1v3MF0GTQvy9aoKKca
|
|
||||||
SLQDw7QpxA
|
|
||||||
--- 2dt1yCMXFxH1V1xXFG6NXW1NzlhcLX+8Ft1tFz5/k5Y
|
|
||||||
ǃ“ÿßøG¼ŸíŒ®v›~uÊ!<"c<ùŽz¥/QPºƒ‰èSŠ®šóuñ½•3~÷›lý)Ay‡ÚÙ'¹ÛHëÒ-¦¢êfŠ×ŸOîýºŽa
|
|
|
@ -29,6 +29,7 @@
|
||||||
str
|
str
|
||||||
submodule
|
submodule
|
||||||
bool
|
bool
|
||||||
|
nullOr
|
||||||
path
|
path
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -64,11 +65,6 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
autoStart = mkEnableOption ''
|
|
||||||
automatically starting this tunnel on startup.
|
|
||||||
Needs a setup key to work.
|
|
||||||
'';
|
|
||||||
|
|
||||||
userAccess = mkOption {
|
userAccess = mkOption {
|
||||||
type = bool;
|
type = bool;
|
||||||
description = "Allow unprivileged users access to the control socket";
|
description = "Allow unprivileged users access to the control socket";
|
||||||
|
@ -76,7 +72,8 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
environmentFile = mkOption {
|
environmentFile = mkOption {
|
||||||
type = path;
|
type = nullOr path;
|
||||||
|
default = null;
|
||||||
description = "An additional environment file for this service.";
|
description = "An additional environment file for this service.";
|
||||||
};
|
};
|
||||||
environment = mkOption {
|
environment = mkOption {
|
||||||
|
@ -171,7 +168,6 @@ in {
|
||||||
environment,
|
environment,
|
||||||
stateDir,
|
stateDir,
|
||||||
environmentFile,
|
environmentFile,
|
||||||
autoStart,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
nameValuePair "netbird-${name}" {
|
nameValuePair "netbird-${name}" {
|
||||||
|
@ -187,9 +183,8 @@ in {
|
||||||
inherit environment;
|
inherit environment;
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
EnvironmentFile = environmentFile;
|
EnvironmentFile = mkIf (environmentFile != null) environmentFile;
|
||||||
ExecStart = "${getExe cfg.package} service run";
|
ExecStart = "${getExe cfg.package} service run";
|
||||||
ExecStartPost = mkIf autoStart "${getExe cfg.package} up";
|
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
RuntimeDirectory = stateDir;
|
RuntimeDirectory = stateDir;
|
||||||
StateDirectory = stateDir;
|
StateDirectory = stateDir;
|
||||||
|
|
|
@ -3,11 +3,6 @@
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
age.secrets.netbird = {
|
|
||||||
rekeyFile = config.node.secretsDir + "/netbird-env.age";
|
|
||||||
mode = "440";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.samba-wsdd = {
|
services.samba-wsdd = {
|
||||||
enable = true; # make shares visible for windows 10 clients
|
enable = true; # make shares visible for windows 10 clients
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
|
@ -18,10 +13,11 @@
|
||||||
imports = [../netbird-client.nix];
|
imports = [../netbird-client.nix];
|
||||||
services.netbird.tunnels = {
|
services.netbird.tunnels = {
|
||||||
netbird-samba = {
|
netbird-samba = {
|
||||||
environment.NB_MANAGEMENT_URL = "https://netbird.${config.secrets.secrets.global.domains.web}";
|
environment = {
|
||||||
autoStart = true;
|
NB_MANAGEMENT_URL = "https://netbird.${config.secrets.secrets.global.domains.web}";
|
||||||
|
NB_HOSTNAME = "samba";
|
||||||
|
};
|
||||||
port = 56789;
|
port = 56789;
|
||||||
environmentFile = config.age.secrets.netbird.path;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
77
pkgs/actual.nix
Normal file
77
pkgs/actual.nix
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
makeWrapper,
|
||||||
|
cacert,
|
||||||
|
gitMinimal,
|
||||||
|
nodejs,
|
||||||
|
yarn,
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "actual-server";
|
||||||
|
version = "24.3.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "actualbudget";
|
||||||
|
repo = "actual-server";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-y51Dhdn84AWR/gM4LnAzvBIBpvKwUiclnPnwzkRoJ0I=";
|
||||||
|
};
|
||||||
|
# we cannot use fetchYarnDeps because that doesn't support yarn 2/berry lockfiles
|
||||||
|
offlineCache = stdenv.mkDerivation {
|
||||||
|
name = "actual-server-${version}-offline-cache";
|
||||||
|
inherit src;
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cacert # needed for git
|
||||||
|
gitMinimal # needed to download git dependencies
|
||||||
|
yarn
|
||||||
|
];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
export HOME=$(mktemp -d)
|
||||||
|
yarn config set enableTelemetry 0
|
||||||
|
yarn config set cacheFolder $out
|
||||||
|
yarn config set --json supportedArchitectures.os '[ "linux" ]'
|
||||||
|
yarn config set --json supportedArchitectures.cpu '[ "x64" ]'
|
||||||
|
yarn
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out
|
||||||
|
cp -r ./node_modules $out/node_modules
|
||||||
|
'';
|
||||||
|
dontFixup = true;
|
||||||
|
|
||||||
|
outputHashMode = "recursive";
|
||||||
|
outputHash = "sha256-ViIIk7l+m0k0K7AaZ6cnCFc7SVNPzW6hPRdEfceO5mc=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
makeWrapper
|
||||||
|
yarn
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
mkdir -p $out
|
||||||
|
cp -r ${offlineCache}/node_modules/ $out/
|
||||||
|
cp -r ./ $out
|
||||||
|
|
||||||
|
mkdir -p $out/bin
|
||||||
|
makeWrapper ${lib.getExe nodejs} "$out/bin/actual-server" \
|
||||||
|
--add-flags "$out/app.js" --set NODE_PATH "$out/node_modules" \
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Single-column Fediverse client for desktop";
|
||||||
|
homepage = "https://whalebird.social";
|
||||||
|
sourceProvenance = with sourceTypes; [fromSource];
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
maintainers = with maintainers; [wolfangaukang colinsane weathercold];
|
||||||
|
platforms = ["x86_64-linux" "aarch64-linux"];
|
||||||
|
};
|
||||||
|
}
|
|
@ -4,6 +4,7 @@
|
||||||
zsh-histdb-skim = super.callPackage ./zsh-histdb-skim.nix {};
|
zsh-histdb-skim = super.callPackage ./zsh-histdb-skim.nix {};
|
||||||
zsh-histdb = super.callPackage ./zsh-histdb.nix {};
|
zsh-histdb = super.callPackage ./zsh-histdb.nix {};
|
||||||
your_spotify = super.callPackage ./your_spotify.nix {};
|
your_spotify = super.callPackage ./your_spotify.nix {};
|
||||||
|
actual = super.callPackage ./actual.nix {};
|
||||||
deploy = super.callPackage ./deploy.nix {};
|
deploy = super.callPackage ./deploy.nix {};
|
||||||
netbird-dashboard = super.callPackage ./netbird-dashboard {};
|
netbird-dashboard = super.callPackage ./netbird-dashboard {};
|
||||||
minify = super.callPackage ./minify {};
|
minify = super.callPackage ./minify {};
|
||||||
|
|
Loading…
Reference in a new issue