From 9835b8e8ff63df57a5435dfe8244d9f0e0a09e87 Mon Sep 17 00:00:00 2001 From: Mx Kookie Date: Wed, 23 Dec 2020 14:38:08 +0100 Subject: libkookie: audio: init module to handle audio settings --- infra/libkookie/modules/workstation/audio/core.nix | 23 ++++++++++++++++++++++ .../modules/workstation/audio/default.nix | 16 +++++++++++++++ infra/libkookie/modules/workstation/default.nix | 1 + 3 files changed, 40 insertions(+) create mode 100644 infra/libkookie/modules/workstation/audio/core.nix create mode 100644 infra/libkookie/modules/workstation/audio/default.nix (limited to 'infra/libkookie/modules/workstation') diff --git a/infra/libkookie/modules/workstation/audio/core.nix b/infra/libkookie/modules/workstation/audio/core.nix new file mode 100644 index 000000000000..d37d3a41aa17 --- /dev/null +++ b/infra/libkookie/modules/workstation/audio/core.nix @@ -0,0 +1,23 @@ +{ config, pkgs, ... }: + +let cfg = config.libkookie.audio; +in +{ + sound.enable = cfg.enable; + + # TODO: make jack work ;_; + # services.jack.jackd.enable = cfg.jack; + + hardware.pulseaudio = + let bt = config.hardware.bluetooth.enable; + in + with pkgs; + { + enable = true; + support32Bit = true; + zeroconf.discovery.enable = cfg.discovery; + + package = if bt then pulseaudioFull else pulseaudio; + extraModules = if bt then [ pulseaudio-modules-bt ] else []; + }; +} diff --git a/infra/libkookie/modules/workstation/audio/default.nix b/infra/libkookie/modules/workstation/audio/default.nix new file mode 100644 index 000000000000..1737902ae409 --- /dev/null +++ b/infra/libkookie/modules/workstation/audio/default.nix @@ -0,0 +1,16 @@ +{ config, lib, pkgs, home-manager, ... } @ args: + +let cfg = config.libkookie.audio; +in +with lib; +{ + options.libkookie.audio = { + enable = mkEnableOption "audio server handling"; + + discovery = mkEnableOption "pulseaudio auto discovery"; + + jack = mkEnableOption "jack audio server handling"; + }; + + config = mkIf cfg.enable (import ./core.nix args); +} diff --git a/infra/libkookie/modules/workstation/default.nix b/infra/libkookie/modules/workstation/default.nix index e6f016b4acbe..3f793ec0d2d8 100644 --- a/infra/libkookie/modules/workstation/default.nix +++ b/infra/libkookie/modules/workstation/default.nix @@ -3,5 +3,6 @@ # Exposes both a nixos, and home-manager module ./ui/i3 + ./audio ]; } -- cgit v1.2.3