NixOS/system/podman/default.nix

58 lines
1.5 KiB
Nix
Raw Normal View History

2024-06-12 18:09:56 +07:00
{ config, lib, pkgs, ... }:
let
cfg = config.profile.podman;
username = config.profile.user.name;
2024-06-12 18:09:56 +07:00
in
{
config = lib.mkIf cfg.enable {
users.users.${username}.extraGroups = [ "podman" ];
# services.caddy.enable = true;
2024-06-12 18:09:56 +07:00
environment.systemPackages = with pkgs; [
dive # look into docker image layers
podman-tui # status of containers in the terminal
];
systemd.timers."podman-auto-update" = {
enable = true;
wantedBy = [ "multi-user.target" ];
};
2024-06-12 22:56:21 +07:00
virtualisation.containers.enable = true;
virtualisation.oci-containers.backend = "podman";
2024-06-12 18:09:56 +07:00
virtualisation.podman = {
enable = true;
dockerSocket.enable = true;
autoPrune.enable = true; # Default weekly
dockerCompat = true;
2024-06-12 22:56:21 +07:00
defaultNetwork.settings.dns_enabled = true;
};
# https://madison-technologies.com/take-your-nixos-container-config-and-shove-it/
networking.firewall.interfaces."podman[0-9]+" = {
2024-06-12 22:56:21 +07:00
allowedUDPPorts = [ 53 ]; # this needs to be there so that containers can look eachother's names up over DNS
2024-06-12 18:09:56 +07:00
};
};
2024-06-12 22:56:21 +07:00
2024-06-17 19:57:53 +07:00
# Taken IP-Range Subnets
#
2024-06-18 19:39:41 +07:00
# 10.88.0.2 -> Redmage
# 10.88.0.3 -> Redmage Demo
# 10.88.0.4 -> ytptube
# 10.88.0.5 -> Suwayomi
# 10.88.0.6 -> Suwayomi Flaresolverr
2024-06-18 19:39:41 +07:00
# 10.88.1.1 -> Pihole
2024-06-12 22:56:21 +07:00
imports = [
2024-07-28 22:18:27 +07:00
./memos.nix
./minecraft.nix
2024-08-09 22:10:25 +07:00
./morphos.nix
./openobserve.nix
./pihole.nix
./qbittorrent.nix
2024-06-18 20:09:42 +07:00
./redmage-demo.nix
./redmage.nix
./servarr
./soulseek.nix
2024-06-17 19:54:36 +07:00
./suwayomi.nix
./ytptube.nix
2024-06-12 22:56:21 +07:00
];
2024-06-12 18:09:56 +07:00
}