diff --git a/system/modules/audio/default.nix b/system/modules/audio/default.nix new file mode 100644 index 0000000..40e81f7 --- /dev/null +++ b/system/modules/audio/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./pipewire + ]; +} diff --git a/system/modules/audio/pipewire/default.nix b/system/modules/audio/pipewire/default.nix new file mode 100644 index 0000000..80176d0 --- /dev/null +++ b/system/modules/audio/pipewire/default.nix @@ -0,0 +1,20 @@ +{ config, lib, ... }: + +let + cfg = config.systemModules.pipewire; +in + +{ + config = lib.mkIf cfg.enable { + hardware.pulseaudio.enable = lib.mkForce false; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + wireplumber.enable = true; + }; + }; +} + diff --git a/system/modules/locale/default.nix b/system/modules/locale/default.nix new file mode 100644 index 0000000..f2426fe --- /dev/null +++ b/system/modules/locale/default.nix @@ -0,0 +1,19 @@ +{ lib, config, ... }: + +let + cfg = config.systemModules.locale; +in + +{ + config = lib.mkIf cfg.enable { + i18n = { + defaultLocale = lib.mkDefault "en_US.UTF-8"; + supportedLocales = lib.mkDefault [ + "en_US.UTF-8/UTF-8" + ]; + }; + time.timeZone = lib.mkDefault "Pacific/Auckland"; + location.provider = "geoclue2"; + services.geoclue2.enable = true; + }; +} diff --git a/system/modules/virtualisation/default.nix b/system/modules/virtualisation/default.nix new file mode 100644 index 0000000..82ec901 --- /dev/null +++ b/system/modules/virtualisation/default.nix @@ -0,0 +1,33 @@ +{ lib, config, pkgs, ... }: + +let + cfg = config.systemModules.virtualisation; +in + +{ + config = lib.mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + virt-manager + virt-viewer + spice + spice-gtk + spice-protocol + win-virtio + win-spice + gnome.adwaita-icon-theme + ]; + + virtualisation = { + libvirtd = { + enable = true; + qemu = { + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [ pkgs.OVMFFull.fd ]; + }; + }; + spiceUSBRedirection.enable = true; + }; + services.spice-vdagentd.enable = true; + }; +}