Release
This commit is contained in:
85
flake.nix
85
flake.nix
@@ -18,16 +18,17 @@
|
||||
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;
|
||||
rebar = beamPackages.rebar;
|
||||
@@ -37,12 +38,12 @@
|
||||
modules = [
|
||||
{
|
||||
packages = [
|
||||
elixir
|
||||
elixir-ls
|
||||
erlang
|
||||
hex
|
||||
rebar
|
||||
rebar3
|
||||
elixir
|
||||
elixir-ls
|
||||
erlang
|
||||
hex
|
||||
rebar
|
||||
rebar3
|
||||
pkgs.inotify-tools
|
||||
pkgs.sqlite
|
||||
];
|
||||
@@ -50,18 +51,60 @@
|
||||
];
|
||||
};
|
||||
|
||||
packages.default = beamPackages.mixRelease rec {
|
||||
pname = "wish";
|
||||
version = "nightly-231124";
|
||||
packages.default = beamPackages.mixRelease rec {
|
||||
pname = "wish";
|
||||
version = "nightly-231124";
|
||||
|
||||
src = ./.;
|
||||
src = ./.;
|
||||
|
||||
mixFodDeps = fetchMixDeps {
|
||||
inherit src version;
|
||||
pname = "mix-deps-${pname}";
|
||||
hash = lib.fakeHash;
|
||||
};
|
||||
};
|
||||
postUnpack = ''
|
||||
export ELIXIR_MAKE_CACHE_DIR=$TMP
|
||||
'';
|
||||
|
||||
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