diff --git a/modules/features/audio.nix b/modules/features/audio.nix new file mode 100644 index 0000000..d8f5430 --- /dev/null +++ b/modules/features/audio.nix @@ -0,0 +1,19 @@ +{ self, inputs, ... }: { + flake.modules.nixos.audio = { config, pkgs, lib, ... }: { + # Enable sound with pipewire. + services.pulseaudio.enable = false; + security.rtkit.enable = true; # PulseAudio server uses this to acquire realtime priority. + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + #jack.enable = true; + + # use the example session manager (no others are packaged yet so this is enabled by default, + # no need to redefine it in your config for now) + # media-session.enable = true; + }; + } +} \ No newline at end of file diff --git a/modules/features/nixos-base.nix b/modules/features/nixos-base.nix index fe6f474..4d66484 100644 --- a/modules/features/nixos-base.nix +++ b/modules/features/nixos-base.nix @@ -1,5 +1,9 @@ { self, inputs, ... }: { flake.modules.nixos.base = { config, pkgs, lib, ... }: { + imports = [ + self.modules.nixos.audio + ]; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; nixpkgs.config = { permittedInsecurePackages = [ "openssl-1.1.1w" ];