Loading nixos/modules/virtualisation/podman/default.nix +18 −21 Original line number Diff line number Diff line Loading @@ -5,29 +5,18 @@ let inherit (lib) mkOption types; podmanPackage = pkgs.podman.override { extraPackages = cfg.extraPackages ++ [ "/run/wrappers" # setuid shadow config.systemd.package # To allow systemd-based container healthchecks ] ++ lib.optional (config.boot.supportedFilesystems.zfs or false) config.boot.zfs.package; extraRuntimes = [ pkgs.runc ] ++ lib.optionals (config.virtualisation.containers.containersConf.settings.network.default_rootless_network_cmd or "" == "slirp4netns") (with pkgs; [ slirp4netns ]); }; # Provides a fake "docker" binary mapping to podman dockerCompat = pkgs.runCommand "${podmanPackage.pname}-docker-compat-${podmanPackage.version}" dockerCompat = pkgs.runCommand "${cfg.package.pname}-docker-compat-${cfg.package.version}" { outputs = [ "out" "man" ]; inherit (podmanPackage) meta; inherit (cfg.package) meta; preferLocalBuild = true; } '' mkdir -p $out/bin ln -s ${podmanPackage}/bin/podman $out/bin/docker ln -s ${cfg.package}/bin/podman $out/bin/docker mkdir -p $man/share/man/man1 for f in ${podmanPackage.man}/share/man/man1/*; do for f in ${cfg.package.man}/share/man/man1/*; do basename=$(basename $f | sed s/podman/docker/g) ln -s $f $man/share/man/man1/$basename done Loading Loading @@ -137,13 +126,21 @@ in }; }; package = lib.mkOption { type = types.package; default = podmanPackage; internal = true; description = '' The final Podman package (including extra packages). package = (lib.mkPackageOption pkgs "podman" { extraDescription = '' This package will automatically include extra packages and runtimes. ''; }) // { apply = pkg: pkg.override { extraPackages = cfg.extraPackages ++ [ "/run/wrappers" # setuid shadow config.systemd.package # To allow systemd-based container healthchecks ] ++ lib.optional (config.boot.supportedFilesystems.zfs or false) config.boot.zfs.package; extraRuntimes = [ pkgs.runc ] ++ lib.optionals (config.virtualisation.containers.containersConf.settings.network.default_rootless_network_cmd or "" == "slirp4netns") (with pkgs; [ slirp4netns ]); }; }; defaultNetwork.settings = lib.mkOption { Loading Loading
nixos/modules/virtualisation/podman/default.nix +18 −21 Original line number Diff line number Diff line Loading @@ -5,29 +5,18 @@ let inherit (lib) mkOption types; podmanPackage = pkgs.podman.override { extraPackages = cfg.extraPackages ++ [ "/run/wrappers" # setuid shadow config.systemd.package # To allow systemd-based container healthchecks ] ++ lib.optional (config.boot.supportedFilesystems.zfs or false) config.boot.zfs.package; extraRuntimes = [ pkgs.runc ] ++ lib.optionals (config.virtualisation.containers.containersConf.settings.network.default_rootless_network_cmd or "" == "slirp4netns") (with pkgs; [ slirp4netns ]); }; # Provides a fake "docker" binary mapping to podman dockerCompat = pkgs.runCommand "${podmanPackage.pname}-docker-compat-${podmanPackage.version}" dockerCompat = pkgs.runCommand "${cfg.package.pname}-docker-compat-${cfg.package.version}" { outputs = [ "out" "man" ]; inherit (podmanPackage) meta; inherit (cfg.package) meta; preferLocalBuild = true; } '' mkdir -p $out/bin ln -s ${podmanPackage}/bin/podman $out/bin/docker ln -s ${cfg.package}/bin/podman $out/bin/docker mkdir -p $man/share/man/man1 for f in ${podmanPackage.man}/share/man/man1/*; do for f in ${cfg.package.man}/share/man/man1/*; do basename=$(basename $f | sed s/podman/docker/g) ln -s $f $man/share/man/man1/$basename done Loading Loading @@ -137,13 +126,21 @@ in }; }; package = lib.mkOption { type = types.package; default = podmanPackage; internal = true; description = '' The final Podman package (including extra packages). package = (lib.mkPackageOption pkgs "podman" { extraDescription = '' This package will automatically include extra packages and runtimes. ''; }) // { apply = pkg: pkg.override { extraPackages = cfg.extraPackages ++ [ "/run/wrappers" # setuid shadow config.systemd.package # To allow systemd-based container healthchecks ] ++ lib.optional (config.boot.supportedFilesystems.zfs or false) config.boot.zfs.package; extraRuntimes = [ pkgs.runc ] ++ lib.optionals (config.virtualisation.containers.containersConf.settings.network.default_rootless_network_cmd or "" == "slirp4netns") (with pkgs; [ slirp4netns ]); }; }; defaultNetwork.settings = lib.mkOption { Loading