Release
This commit is contained in:
85
flake.nix
85
flake.nix
@@ -18,16 +18,17 @@
|
|||||||
inherit system;
|
inherit system;
|
||||||
};
|
};
|
||||||
|
|
||||||
beamPackages = pkgs.beam.packagesWith pkgs.beam.interpreters.erlang_26;
|
lib = pkgs.lib;
|
||||||
|
|
||||||
|
beamPackages = pkgs.beam.packagesWith pkgs.beam.interpreters.erlang_26;
|
||||||
|
|
||||||
erlang = beamPackages.erlang;
|
erlang = beamPackages.erlang;
|
||||||
|
|
||||||
elixir = beamPackages.elixir_1_15;
|
elixir = beamPackages.elixir_1_15;
|
||||||
|
|
||||||
elixir-ls = beamPackages.elixir-ls.override { elixir = elixir; };
|
elixir-ls = beamPackages.elixir-ls.override {elixir = elixir;};
|
||||||
|
|
||||||
hex = beamPackages.hex;
|
hex = beamPackages.hex;
|
||||||
|
|
||||||
rebar3 = beamPackages.rebar3;
|
rebar3 = beamPackages.rebar3;
|
||||||
rebar = beamPackages.rebar;
|
rebar = beamPackages.rebar;
|
||||||
@@ -37,12 +38,12 @@
|
|||||||
modules = [
|
modules = [
|
||||||
{
|
{
|
||||||
packages = [
|
packages = [
|
||||||
elixir
|
elixir
|
||||||
elixir-ls
|
elixir-ls
|
||||||
erlang
|
erlang
|
||||||
hex
|
hex
|
||||||
rebar
|
rebar
|
||||||
rebar3
|
rebar3
|
||||||
pkgs.inotify-tools
|
pkgs.inotify-tools
|
||||||
pkgs.sqlite
|
pkgs.sqlite
|
||||||
];
|
];
|
||||||
@@ -50,18 +51,60 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
packages.default = beamPackages.mixRelease rec {
|
packages.default = beamPackages.mixRelease rec {
|
||||||
pname = "wish";
|
pname = "wish";
|
||||||
version = "nightly-231124";
|
version = "nightly-231124";
|
||||||
|
|
||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
||||||
mixFodDeps = fetchMixDeps {
|
postUnpack = ''
|
||||||
inherit src version;
|
export ELIXIR_MAKE_CACHE_DIR=$TMP
|
||||||
pname = "mix-deps-${pname}";
|
'';
|
||||||
hash = lib.fakeHash;
|
|
||||||
};
|
mixFodDeps = beamPackages.fetchMixDeps {
|
||||||
};
|
inherit src version;
|
||||||
|
pname = "mix-deps-${pname}";
|
||||||
|
hash = "sha256-W/peopoh52iM3K068eu5gQ9dsKJTIVZ+5M6lZjP+vcE=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nixosModules.default = {
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.wish.service;
|
||||||
|
in {
|
||||||
|
options.wish.service = {
|
||||||
|
enable = mkEnableOption "Enable the wish service.";
|
||||||
|
|
||||||
|
environmentFile = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
Environment file as defined in {manpage}`systemd.exec(5)` passed to the service.
|
||||||
|
|
||||||
|
This must contain at least `LIVEBOOK_PASSWORD` or
|
||||||
|
`LIVEBOOK_TOKEN_ENABLED=false`. See `livebook server --help`
|
||||||
|
for other options.'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
systemd.services."wish" = {
|
||||||
|
wantedBy = ["multi-user.target"];
|
||||||
|
|
||||||
|
serviceConfig = let
|
||||||
|
pkg = self.packages.${system}.default;
|
||||||
|
in {
|
||||||
|
EnvironmentFile = cfg.environmentFile;
|
||||||
|
Restart = "on-failure";
|
||||||
|
ExecStart = "${pkg}/bin/wish start";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user