Make podman enablement a personal module

Podman needs some configuration, so I'm splitting it out to its own
module
This commit is contained in:
Greg Hellings
2025-05-14 21:22:13 -05:00
parent decb2f50a4
commit b7d66709ca
6 changed files with 84 additions and 70 deletions
+1 -1
View File
@@ -28,6 +28,7 @@
greg = {
home = true;
gnome.enable = true;
podman.enable = true;
print.enable = true;
tailscale.enable = true;
vmdev = {
@@ -52,7 +53,6 @@
};
virtualisation = {
podman.enable = true;
oci-containers.backend = "podman";
};
}
+47 -54
View File
@@ -10,51 +10,23 @@
imports = [
./boot.nix
./hardware-configuration.nix
./podman.nix
./virt.nix
./work.nix
top.nix-hardware.nixosModules.system76
];
programs = {
adb.enable = true;
steam.enable = true;
nix-index = {
enable = true;
enableBashIntegration = false;
enableFishIntegration = false;
enableZshIntegration = false;
};
nix-ld.enable = false;
};
networking = {
hostName = "jude";
networkmanager.enable = lib.mkForce true;
enableIPv6 = false;
interfaces.enp12s0.useDHCP = true;
firewall = {
enable = false;
allowedTCPPorts = [ 21000 ];
allowedUDPPorts = [
21000
21010
];
};
};
nixpkgs.config.permittedInsecurePackages = [ "ventoy-1.1.05" ];
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
greg = {
tailscale.enable = true;
sway.enable = false;
gnome.enable = true;
kde.enable = false;
podman.enable = true;
print.enable = true;
remote-builder.enable = true;
};
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
environment.systemPackages =
with pkgs;
lib.mkMerge [
@@ -98,31 +70,7 @@
gst_all_1.gst-vaapi
]
];
fileSystems = {
"/boot" = {
device = "/dev/nvme0n1p1";
fsType = "auto";
};
"/windows11" = {
device = "/dev/nvme1n1p2";
fsType = "ntfs-3g";
};
};
# Let's do a sound thing
services = {
pipewire = {
enable = true;
alsa.enable = true;
audio.enable = true;
jack.enable = true;
pulse.enable = true;
wireplumber.enable = true;
};
pulseaudio.enable = false; # This conflicts with pipewire
locate.enable = true;
xserver.videoDrivers = [ "nvidia" ];
};
hardware = {
nvidia = {
package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta;
@@ -139,6 +87,51 @@
#kernel-modules.enable = true;
};
};
networking = {
hostName = "jude";
networkmanager.enable = lib.mkForce true;
enableIPv6 = false;
interfaces.enp12s0.useDHCP = true;
firewall = {
enable = false;
allowedTCPPorts = [ 21000 ];
allowedUDPPorts = [
21000
21010
];
};
};
nixpkgs.config.permittedInsecurePackages = [ "ventoy-1.1.05" ];
programs = {
adb.enable = true;
steam.enable = true;
nix-index = {
enable = true;
enableBashIntegration = false;
enableFishIntegration = false;
enableZshIntegration = false;
};
nix-ld.enable = false;
};
# Let's do a sound thing
services = {
pipewire = {
enable = true;
alsa.enable = true;
audio.enable = true;
jack.enable = true;
pulse.enable = true;
wireplumber.enable = true;
};
pulseaudio.enable = false; # This conflicts with pipewire
locate.enable = true;
xserver.videoDrivers = [ "nvidia" ];
};
users.users.greg.extraGroups = [
"adbusers"
"kvm"
+14 -4
View File
@@ -23,10 +23,20 @@
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
#device = "/dev/disk/by-uuid/27ae91ed-32e9-411e-8227-0d99e360fbbf";
device = "/dev/nvme0n1p4";
fsType = "btrfs";
fileSystems = {
"/" = {
#device = "/dev/disk/by-uuid/27ae91ed-32e9-411e-8227-0d99e360fbbf";
device = "/dev/nvme0n1p4";
fsType = "btrfs";
};
"/boot" = {
device = "/dev/nvme0n1p1";
fsType = "auto";
};
"/windows11" = {
device = "/dev/nvme1n1p2";
fsType = "ntfs-3g";
};
};
swapDevices = [ ];
-11
View File
@@ -1,11 +0,0 @@
{ pkgs, ... }:
{
virtualisation.podman = {
enable = true;
dockerCompat = true;
extraPackages = [
pkgs.podman-compose
];
};
}
+1
View File
@@ -17,6 +17,7 @@
./kde.nix
./kiwix-serve.nix
./linode.nix
./podman.nix
./print.nix
./proxy.nix
./remote-builder.nix
+21
View File
@@ -0,0 +1,21 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.greg.podman;
in
{
options.greg.podman.enable = lib.mkEnableOption "Enable podman in NixOS with my updates";
config.virtualisation.podman = lib.mkIf cfg.enable {
enable = true;
dockerCompat = true;
extraPackages = [
pkgs.podman-compose
];
};
}