{ config, lib, pkgs, ... }: { imports = [ ]; options.me = { containerd.enable = lib.mkOption { type = lib.types.bool; default = false; example = true; description = "Whether we want to install containerd."; }; }; config = lib.mkIf config.me.containerd.enable { virtualisation.containerd.enable = true; virtualisation.containerd.settings = # let # my-cni-plugins = pkgs.buildEnv { # name = "my-cni-plugins"; # paths = with pkgs; [ # cni-plugins # cni-plugin-flannel # ]; # }; # in { "plugins" = { "io.containerd.grpc.v1.cri" = { "cni" = { "bin_dir" = "/opt/cni/bin"; # "bin_dir" = "${my-cni-plugins}/bin"; "conf_dir" = "/etc/cni/net.d"; }; "containerd" = { "default_runtime_name" = "runc"; "runtimes" = { "runc" = { "options" = { "SystemdCgroup" = true; }; "runtime_type" = "io.containerd.runc.v2"; }; }; "snapshotter" = "overlayfs"; }; }; }; "version" = 2; }; }; }