feat(nixos): add distrobox module

This commit is contained in:
Mohammad Rafiq 2025-06-19 23:06:27 +08:00
parent 386c7b18ef
commit 3ca4bd3f4b
No known key found for this signature in database
3 changed files with 35 additions and 2 deletions

View file

@ -0,0 +1,22 @@
{
config,
lib,
pkgs,
...
}:
let
inherit (lib) mkIf mkEnableOption singleton;
cfg = config.machine.virtualisation.distrobox;
in
{
options.machine.virtualisation.distrobox = {
enable = mkEnableOption "";
};
config = mkIf cfg.enable {
machine.virtualisation.podman.enable = true;
home-manager.sharedModules = singleton {
home.packages = singleton pkgs.distrobox;
# persistDirs = [ ".local/share/containers" ];
};
};
}

View file

@ -16,6 +16,17 @@ in
defaultNetwork.settings.dns_enabled = true; defaultNetwork.settings.dns_enabled = true;
}; };
}; };
users.users."${config.mainUser.name}".extraGroups = [ "podman" ]; users.users."${config.mainUser.name}" = {
extraGroups = [ "podman" ];
# https://wiki.nixos.org/wiki/Distrobox
# subGidRanges = singleton {
# count = 65536;
# startGid = 1000;
# };
# subUidRanges = singleton {
# count = 65536;
# startUid = 1000;
# };
};
}; };
} }

View file

@ -14,7 +14,7 @@
drive = "/dev/disk/by-id/nvme-CT2000P3SSD8_2325E6E77434"; drive = "/dev/disk/by-id/nvme-CT2000P3SSD8_2325E6E77434";
ephemeralRoot = true; ephemeralRoot = true;
}; };
virtualisation.podman.enable = true; virtualisation.distrobox.enable = true;
}; };
desktop = { desktop = {