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 = { greg = {
home = true; home = true;
gnome.enable = true; gnome.enable = true;
podman.enable = true;
print.enable = true; print.enable = true;
tailscale.enable = true; tailscale.enable = true;
vmdev = { vmdev = {
@@ -52,7 +53,6 @@
}; };
virtualisation = { virtualisation = {
podman.enable = true;
oci-containers.backend = "podman"; oci-containers.backend = "podman";
}; };
} }
+47 -54
View File
@@ -10,51 +10,23 @@
imports = [ imports = [
./boot.nix ./boot.nix
./hardware-configuration.nix ./hardware-configuration.nix
./podman.nix
./virt.nix ./virt.nix
./work.nix ./work.nix
top.nix-hardware.nixosModules.system76 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 = { boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
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" ];
greg = { greg = {
tailscale.enable = true; tailscale.enable = true;
sway.enable = false; sway.enable = false;
gnome.enable = true; gnome.enable = true;
kde.enable = false; kde.enable = false;
podman.enable = true;
print.enable = true; print.enable = true;
remote-builder.enable = true; remote-builder.enable = true;
}; };
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
environment.systemPackages = environment.systemPackages =
with pkgs; with pkgs;
lib.mkMerge [ lib.mkMerge [
@@ -98,31 +70,7 @@
gst_all_1.gst-vaapi 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 = { hardware = {
nvidia = { nvidia = {
package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta; package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta;
@@ -139,6 +87,51 @@
#kernel-modules.enable = true; #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 = [ users.users.greg.extraGroups = [
"adbusers" "adbusers"
"kvm" "kvm"
+11 -1
View File
@@ -23,11 +23,21 @@
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = { fileSystems = {
"/" = {
#device = "/dev/disk/by-uuid/27ae91ed-32e9-411e-8227-0d99e360fbbf"; #device = "/dev/disk/by-uuid/27ae91ed-32e9-411e-8227-0d99e360fbbf";
device = "/dev/nvme0n1p4"; device = "/dev/nvme0n1p4";
fsType = "btrfs"; fsType = "btrfs";
}; };
"/boot" = {
device = "/dev/nvme0n1p1";
fsType = "auto";
};
"/windows11" = {
device = "/dev/nvme1n1p2";
fsType = "ntfs-3g";
};
};
swapDevices = [ ]; 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 ./kde.nix
./kiwix-serve.nix ./kiwix-serve.nix
./linode.nix ./linode.nix
./podman.nix
./print.nix ./print.nix
./proxy.nix ./proxy.nix
./remote-builder.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
];
};
}