added podman and distrobox
This commit is contained in:
parent
4e89ce1137
commit
7cec1eede3
5 changed files with 36 additions and 27 deletions
24
flake.lock
24
flake.lock
|
@ -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": {
|
||||||
|
|
|
@ -25,6 +25,7 @@ in
|
||||||
cargo
|
cargo
|
||||||
clippy
|
clippy
|
||||||
clang
|
clang
|
||||||
|
distrobox
|
||||||
];
|
];
|
||||||
programs.go = {
|
programs.go = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
changeDefaultNetwork = true;
|
changeDefaultNetwork = true;
|
||||||
};
|
};
|
||||||
|
podman.enable = true;
|
||||||
de.gnome = {
|
de.gnome = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -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" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
|
@ -6,6 +6,6 @@
|
||||||
./python.nix
|
./python.nix
|
||||||
./ide.nix
|
./ide.nix
|
||||||
./cli.nix
|
./cli.nix
|
||||||
./docker.nix
|
./containers.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue