From 03bcc056c1ef700bc0b7576a0182d7053694be76 Mon Sep 17 00:00:00 2001 From: Yves Dubromelle Date: Tue, 1 Mar 2022 20:35:28 +0100 Subject: [PATCH] =?UTF-8?q?ajout=20d'un=20module=20pipewire=20en=20pr?= =?UTF-8?q?=C3=A9vision=20de=20remplacement=20de=20pulseaudio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- options.nix | 1 + services/default.nix | 1 + services/pipewire.nix | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 services/pipewire.nix diff --git a/options.nix b/options.nix index 1bfe8ad..5aa062d 100644 --- a/options.nix +++ b/options.nix @@ -44,6 +44,7 @@ let nix-serve-server = mkEnableOption "Profil pour que la machine soit un serveur de cache nix."; nixStoreProxyCache = mkEnableOption "Profil pour activer le proxy cahce nginx pour le nix store"; officeSuite = mkEnableOption "Profil pour la suite bureautique"; + pipewire = mkEnableOption "Profil pour activer pipewire."; print = mkEnableOption "Profil pour activer cups & pouvoir imprimer."; pulseaudio = mkEnableOption "Profil pour activer pulseaudio."; rabbitmq = mkEnableOption "Profil pour activer le service de messagerie AMQP."; diff --git a/services/default.nix b/services/default.nix index 6f8523e..cb5237b 100644 --- a/services/default.nix +++ b/services/default.nix @@ -33,6 +33,7 @@ in ## if isDesktop ./pulseaudio.nix # activation du serveur audio + ./pipewire.nix # activation du serveur audio ./scanner.nix # utilisation d'un scanner ./x11.nix # activation du serveur graphique X ]; diff --git a/services/pipewire.nix b/services/pipewire.nix new file mode 100644 index 0000000..28dd419 --- /dev/null +++ b/services/pipewire.nix @@ -0,0 +1,35 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkIf mkMerge mkThenElse; + annuaire = config.r6d.machines; + currentMachine = annuaire."${config.networking.fqdn}"; + flags = currentMachine.configurationFlags; +in + +mkIf flags.pipewire { + + # Paquets + environment.systemPackages = with pkgs; [ + helvum # patchbay pipewire + paprefs # préferences pulseaudio + pavucontrol # mixer pulseaudio + pa_applet # status et contrôle dans le system tray + ]; + + security.rtkit.enable = true; + + 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; + }; + +}