nixos-configs/nixosModules/docker/default.nix
matt1432 86b7e0b1ec
All checks were successful
Discord / discord commits (push) Has been skipped
fix(docker): add enable option
2024-09-05 08:53:54 -04:00

62 lines
1.3 KiB
Nix

khepri: {
config,
lib,
pkgs,
...
}: let
inherit (lib) mkIf mkOption types;
inherit (config.vars) mainUser;
cfg = config.khepri;
in {
imports = [khepri.nixosModules.default];
options.khepri = {
enable = mkOption {
default = cfg.compositions != {};
type = types.bool;
description = ''
Option to enable docker even without compositions.
'';
};
rwDataDir = mkOption {
default = "/var/lib/docker";
type = types.str;
description = ''
Directory to place persistent data in.
'';
};
storageDriver = mkOption {
default = "btrfs"; # I use BTRFS on all my servers
type = types.str;
};
};
config = mkIf (cfg.enable) {
users.extraUsers.${mainUser}.extraGroups = ["docker"];
virtualisation = {
docker = {
enable = true;
storageDriver = cfg.storageDriver;
package = pkgs.docker_27;
daemon.settings.dns = ["8.8.8.8" "1.1.1.1"];
};
# khepri uses oci-containers under the hood and it must be set to docker to work
oci-containers.backend = "docker";
};
# Script for updating the images of all images of a compose.nix file
environment.systemPackages = [
(pkgs.callPackage ./updateImage.nix {})
];
};
# For accurate stack trace
_file = ./default.nix;
}