From b7d66709ca030a1a3d14d583db562fb7cb1ebb7a Mon Sep 17 00:00:00 2001 From: Greg Hellings Date: Wed, 14 May 2025 21:19:49 -0500 Subject: [PATCH] Make podman enablement a personal module Podman needs some configuration, so I'm splitting it out to its own module --- hosts/exodus/default.nix | 2 +- hosts/jude/default.nix | 101 ++++++++++++-------------- hosts/jude/hardware-configuration.nix | 18 ++++- hosts/jude/podman.nix | 11 --- modules/nixos/default.nix | 1 + modules/nixos/podman.nix | 21 ++++++ 6 files changed, 84 insertions(+), 70 deletions(-) delete mode 100644 hosts/jude/podman.nix create mode 100644 modules/nixos/podman.nix diff --git a/hosts/exodus/default.nix b/hosts/exodus/default.nix index 6595f9d..7de274a 100644 --- a/hosts/exodus/default.nix +++ b/hosts/exodus/default.nix @@ -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"; }; } diff --git a/hosts/jude/default.nix b/hosts/jude/default.nix index 7ccda17..a28c35a 100644 --- a/hosts/jude/default.nix +++ b/hosts/jude/default.nix @@ -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" diff --git a/hosts/jude/hardware-configuration.nix b/hosts/jude/hardware-configuration.nix index 10d765f..ad8d509 100644 --- a/hosts/jude/hardware-configuration.nix +++ b/hosts/jude/hardware-configuration.nix @@ -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 = [ ]; diff --git a/hosts/jude/podman.nix b/hosts/jude/podman.nix deleted file mode 100644 index cb7c636..0000000 --- a/hosts/jude/podman.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: - -{ - virtualisation.podman = { - enable = true; - dockerCompat = true; - extraPackages = [ - pkgs.podman-compose - ]; - }; -} diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index b5d45ec..ba67899 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -17,6 +17,7 @@ ./kde.nix ./kiwix-serve.nix ./linode.nix + ./podman.nix ./print.nix ./proxy.nix ./remote-builder.nix diff --git a/modules/nixos/podman.nix b/modules/nixos/podman.nix new file mode 100644 index 0000000..9567745 --- /dev/null +++ b/modules/nixos/podman.nix @@ -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 + ]; + }; +}