added podman and distrobox

This commit is contained in:
Jakub Kropáček 2025-01-27 15:57:36 +01:00
parent 4e89ce1137
commit 7cec1eede3
5 changed files with 36 additions and 27 deletions

View file

@ -52,11 +52,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1737480538, "lastModified": 1737762889,
"narHash": "sha256-rk/cmrvq3In0TegW9qaAxw+5YpJhRWt2p74/6JStrw0=", "narHash": "sha256-5HGG09bh/Yx0JA8wtBMAzt0HMCL1bYZ93x4IqzVExio=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "4481a16d1ac5bff4a77c608cefe08c9b9efe840d", "rev": "daf04c5950b676f47a794300657f1d3d14c1a120",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -67,11 +67,11 @@
}, },
"nix-flatpak": { "nix-flatpak": {
"locked": { "locked": {
"lastModified": 1736952876, "lastModified": 1737806078,
"narHash": "sha256-dJXuLP2CBkIG333L+Rb3e1D0oXHYbl0MgmKPGuvFuAI=", "narHash": "sha256-FjgNPBLMCpmwtJT5LiQYkM2lDY+yAmW1ZN1Idx7QeDg=",
"owner": "gmodena", "owner": "gmodena",
"repo": "nix-flatpak", "repo": "nix-flatpak",
"rev": "b6966d5fa96b0fae99a4da0b5bdfbb0a75f5c058", "rev": "83cc6a28afc4155fd3fe28274f6b5287f51ed2b6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -82,11 +82,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1737359802, "lastModified": 1737751639,
"narHash": "sha256-utplyRM6pqnN940gfaLFBb9oUCSzkan86IvmkhsVlN8=", "narHash": "sha256-ZEbOJ9iT72iwqXsiEMbEa8wWjyFvRA9Ugx8utmYbpz4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "61c79181e77ef774ab0468b28a24bc2647d498d6", "rev": "dfad538f751a5aa5d4436d9781ab27a6128ec9d4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -98,11 +98,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1737469691, "lastModified": 1737885589,
"narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", "narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", "rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -25,6 +25,7 @@ in
cargo cargo
clippy clippy
clang clang
distrobox
]; ];
programs.go = { programs.go = {
enable = true; enable = true;

View file

@ -47,6 +47,7 @@
enable = true; enable = true;
changeDefaultNetwork = true; changeDefaultNetwork = true;
}; };
podman.enable = true;
de.gnome = { de.gnome = {
enable = true; enable = true;
}; };

View file

@ -4,16 +4,9 @@
... ...
}: }:
let let
cfg = config.krop.docker; cfg = config.krop;
in docker-cfg = {
{ enable = lib.mkEnableOption "Whether to enable Docker.";
options.krop.docker = {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = "Whether to enable Docker service.";
};
addUserToGroup = lib.mkOption { addUserToGroup = lib.mkOption {
type = lib.types.bool; type = lib.types.bool;
default = true; default = true;
@ -27,11 +20,20 @@ in
description = "Whether to change docker daemon to use different networks."; description = "Whether to change docker daemon to use different networks.";
}; };
}; };
podman-cfg = {
enable = lib.mkEnableOption "Whether to enable Podman.";
};
in
{
options.krop = {
docker = docker-cfg;
podman = podman-cfg;
};
config = lib.mkIf cfg.enable { config = {
virtualisation.docker = { virtualisation.docker = lib.mkIf cfg.docker.enable {
enable = true; enable = true;
daemon.settings = lib.mkIf cfg.changeDefaultNetwork { daemon.settings = lib.mkIf cfg.docker.changeDefaultNetwork {
default-address-pools = [ default-address-pools = [
{ {
base = "10.250.0.0/16"; base = "10.250.0.0/16";
@ -40,7 +42,12 @@ in
]; ];
}; };
}; };
users.users.krop = lib.mkIf cfg.addUserToGroup {
virtualisation.podman = lib.mkIf cfg.podman.enable {
enable = true;
};
users.users.krop = lib.mkIf (cfg.docker.addUserToGroup && cfg.docker.enable) {
extraGroups = [ "docker" ]; extraGroups = [ "docker" ];
}; };
}; };

View file

@ -6,6 +6,6 @@
./python.nix ./python.nix
./ide.nix ./ide.nix
./cli.nix ./cli.nix
./docker.nix ./containers.nix
]; ];
} }