parent
1ce40f2c1a
commit
6ca0d7248b
329 changed files with 178 additions and 139 deletions
modules/docker
59
modules/docker/default.nix
Normal file
59
modules/docker/default.nix
Normal file
|
@ -0,0 +1,59 @@
|
|||
khepri: {
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
|
||||
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) {
|
||||
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;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue