Release
This commit is contained in:
51
flake.nix
51
flake.nix
@@ -18,14 +18,15 @@
|
||||
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;
|
||||
|
||||
elixir = beamPackages.elixir_1_15;
|
||||
|
||||
elixir-ls = beamPackages.elixir-ls.override { elixir = elixir; };
|
||||
elixir-ls = beamPackages.elixir-ls.override {elixir = elixir;};
|
||||
|
||||
hex = beamPackages.hex;
|
||||
|
||||
@@ -56,10 +57,52 @@
|
||||
|
||||
src = ./.;
|
||||
|
||||
mixFodDeps = fetchMixDeps {
|
||||
postUnpack = ''
|
||||
export ELIXIR_MAKE_CACHE_DIR=$TMP
|
||||
'';
|
||||
|
||||
mixFodDeps = beamPackages.fetchMixDeps {
|
||||
inherit src version;
|
||||
pname = "mix-deps-${pname}";
|
||||
hash = lib.fakeHash;
|
||||
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