move audio to components
This commit is contained in:
parent
4ea7710714
commit
4bee8a47ae
7 changed files with 61 additions and 46 deletions
52
nixos/components/gui/audio.nix
Normal file
52
nixos/components/gui/audio.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
# TODO test `alsactl init` after suspend to reinit mic
|
||||
{ pkgs, config, lib, ... }:
|
||||
with lib;
|
||||
{
|
||||
options.components.gui.audio.enable = mkOption {
|
||||
type = lib.types.bool;
|
||||
default = config.components.gui.enable;
|
||||
};
|
||||
|
||||
config = mkIf (config.components.gui.pass.enable) {
|
||||
|
||||
security.rtkit.enable = true;
|
||||
|
||||
hardware.pulseaudio.enable = false;
|
||||
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
alsa-utils
|
||||
alsaUtils
|
||||
|
||||
# PulseAudio control
|
||||
# ------------------
|
||||
ponymix
|
||||
pavucontrol
|
||||
lxqt.pavucontrol-qt
|
||||
];
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
systemWide = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
environment.etc = {
|
||||
"wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = ''
|
||||
bluez_monitor.properties = {
|
||||
["bluez5.enable-sbc-xq"] = true,
|
||||
["bluez5.enable-msbc"] = true,
|
||||
["bluez5.enable-hw-volume"] = true,
|
||||
["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]"
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -12,6 +12,7 @@ with lib;
|
|||
./browser.nix
|
||||
./suspend.nix
|
||||
./pass.nix
|
||||
./audio.nix
|
||||
];
|
||||
|
||||
config = mkIf config.components.gui.enable {
|
||||
|
|
|
@ -21,9 +21,6 @@
|
|||
./borg.nix
|
||||
./trilium.nix
|
||||
|
||||
# todo move to component
|
||||
./pipewire.nix
|
||||
|
||||
];
|
||||
|
||||
users.users.mainUser.extraGroups = [ "pipewire" ];
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
# TODO test `alsactl init` after suspend to reinit mic
|
||||
{
|
||||
security.rtkit.enable = true;
|
||||
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
alsa-utils
|
||||
pulseaudio
|
||||
ponymix
|
||||
];
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
systemWide = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
environment.etc = {
|
||||
"wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = ''
|
||||
bluez_monitor.properties = {
|
||||
["bluez5.enable-sbc-xq"] = true,
|
||||
["bluez5.enable-msbc"] = true,
|
||||
["bluez5.enable-hw-volume"] = true,
|
||||
["bluez5.headset-roles"] = "[ hsp_hs hsp_ag hfp_hf hfp_ag ]"
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -32,8 +32,8 @@
|
|||
./programs/vim.nix
|
||||
./programs/xterm.nix
|
||||
|
||||
./system/audio.nix
|
||||
./system/bluetooth.nix
|
||||
#./system/audio.nix
|
||||
#./system/bluetooth.nix
|
||||
./system/font.nix
|
||||
./system/mainUser.nix
|
||||
./system/on-failure.nix
|
||||
|
|
|
@ -61,23 +61,23 @@ in
|
|||
users = {
|
||||
|
||||
mutableUsers = true;
|
||||
|
||||
defaultUserShell = pkgs.zsh;
|
||||
|
||||
groups.mainUser.name = cfg.userName;
|
||||
|
||||
users.mainUser = {
|
||||
isNormalUser = true;
|
||||
name = cfg.userName;
|
||||
uid = cfg.uid;
|
||||
home = "/home/${cfg.userName}";
|
||||
initialPassword = cfg.userName;
|
||||
extraGroups = [ "wheel" "networkmanager" "transmission" "wireshark" ]
|
||||
extraGroups = [ "wheel" "networkmanager" "transmission" "wireshark" "audio" "pipewire" ]
|
||||
++ dockerGroup ++ vboxGroup ++ cfg.extraGroups;
|
||||
openssh.authorizedKeys.keyFiles = cfg.authorizedKeyFiles;
|
||||
group = config.users.groups.mainUser.name;
|
||||
};
|
||||
|
||||
groups.mainUser = {
|
||||
name = cfg.userName;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
../all
|
||||
|
||||
#./icecast.nix
|
||||
./audio.nix
|
||||
#./audio.nix
|
||||
./cachix.nix
|
||||
./mail-stuff.nix
|
||||
./packages.nix
|
||||
|
@ -45,7 +45,7 @@
|
|||
|
||||
services.urxvtd.enable = true;
|
||||
|
||||
system.custom.bluetooth.enable = true;
|
||||
#system.custom.bluetooth.enable = true;
|
||||
|
||||
# temperature / power consumption
|
||||
# https://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html
|
||||
|
|
Loading…
Reference in a new issue