nixos-config/modules/livebook/default.nix

40 lines
826 B
Nix
Raw Normal View History

{ pkgs, config, lib, ... }:
with lib;
let
cfg = config.eboskma.livebook;
in
{
options.eboskma.livebook = {
enable = mkEnableOption "Start a livebook container";
dataDir = mkOption {
description = "Livebook data directory";
type = types.path;
};
userMapping = mkOption {
description = "User to run the container as";
type = types.str;
};
};
config = mkIf (cfg.enable) {
eboskma.docker.enable = true;
virtualisation.oci-containers.containers = {
livebook = {
autoStart = true;
image = "livebook/livebook";
ports = [
"8080:8080"
];
volumes = [
"${cfg.dataDir}:/data"
];
extraOptions = [
"--pull=always"
"--user=${cfg.userMapping}"
];
};
};
};
}