This commit is contained in:
Tao Tien 2025-05-22 18:48:53 -07:00
parent 67619e3478
commit 50eb5f227a
5 changed files with 537 additions and 456 deletions

View file

@ -0,0 +1,154 @@
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2.1 of the
# License, or (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
; For devices where a 'Internal Mic' or 'Internal Mic Boost' element exists
; 'Int Mic' and 'Int Mic Boost' are for compatibility with kernels < 2.6.38
;
; See analog-output.conf.common for an explanation on the directives
[General]
priority = 89
description-key = analog-input-microphone-internal
[Jack Mic]
state.plugged = no
state.unplugged = unknown
[Jack Dock Mic]
state.plugged = no
state.unplugged = unknown
[Jack Front Mic]
state.plugged = no
state.unplugged = unknown
[Jack Rear Mic]
state.plugged = no
state.unplugged = unknown
[Jack Internal Mic Phantom]
state.plugged = unknown
state.unplugged = unknown
required-any = any
[Element Capture]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
[Element Internal Mic Boost]
required-any = any
switch = select
volume = zero
override-map.1 = all
override-map.2 = all-left,all-right
[Option Internal Mic Boost:on]
name = input-boost-on
[Option Internal Mic Boost:off]
name = input-boost-off
[Element Int Mic Boost]
required-any = any
switch = select
volume = zero
override-map.1 = all
override-map.2 = all-left,all-right
[Option Int Mic Boost:on]
name = input-boost-on
[Option Int Mic Boost:off]
name = input-boost-off
[Element Internal Mic]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
[Element Int Mic]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
[Element Input Source]
enumeration = select
[Option Input Source:Internal Mic]
name = analog-input-microphone-internal
required-any = any
[Option Input Source:Int Mic]
name = analog-input-microphone-internal
required-any = any
[Element Capture Source]
enumeration = select
[Option Capture Source:Internal Mic]
name = analog-input-microphone-internal
required-any = any
[Option Capture Source:Int Mic]
name = analog-input-microphone-internal
required-any = any
[Element Mic]
switch = off
volume = off
[Element Dock Mic]
switch = off
volume = off
[Element Front Mic]
switch = off
volume = off
[Element Rear Mic]
switch = off
volume = off
[Element Headphone Mic]
switch = off
volume = off
[Element Headphone Mic Boost]
switch = off
volume = off
[Element Mic Boost]
switch = off
volume = off
[Element Dock Mic Boost]
switch = off
volume = off
[Element Front Mic Boost]
switch = off
volume = off
[Element Rear Mic Boost]
switch = off
volume = off
.include analog-input-mic.conf.common

View file

@ -1,7 +1,7 @@
{
pkgs,
lib,
...
pkgs,
lib,
...
}:
# let
# if_desktop =
@ -10,96 +10,97 @@
# else false;
# in
{
# aagl.url = "github:ezKEa/aagl-gtk-on-nix";
# aagl.inputs.nixpkgs.follows = "nixpkgs";
# programs.noisetorch.enable = true;
# aagl.url = "github:ezKEa/aagl-gtk-on-nix";
# aagl.inputs.nixpkgs.follows = "nixpkgs";
environment.systemPackages = with pkgs; [
# parsec-bin
# yuzu # nintendo can suck the shit out of my asshole
gamemode
heroic
lutris
mangohud
prismlauncher
protonup-qt
r2modman
wine
temurin-jre-bin-17
];
environment.systemPackages = with pkgs; [
# parsec-bin
# yuzu # nintendo can suck the shit out of my asshole
gamemode
heroic
lutris
mangohud
prismlauncher
protonup-qt
r2modman
wine
temurin-jre-bin-17
];
networking.firewall.allowedTCPPorts = [25565];
networking.firewall.allowedTCPPorts = [25565];
programs.steam = {
enable = true;
# remotePlay.openFirewall = true;
# gamescopeSession.enable = false;
};
programs.gamemode.enable = true;
programs.gamescope.enable = true;
programs.steam = {
enable = true;
# remotePlay.openFirewall = true;
# gamescopeSession.enable = false;
};
programs.gamemode.enable = true;
programs.gamescope.enable = true;
security.pam.loginLimits = [
security.pam.loginLimits = [
{
domain = "@game";
type = "-";
item = "nice";
value = -20;
}
];
security.sudo-rs.extraRules = [
{
commands = [
{
domain = "@game";
type = "-";
item = "nice";
value = -20;
command = "${pkgs.systemd}/bin/bootctl set-oneshot auto-windows";
options = ["NOPASSWD"];
}
];
security.sudo-rs.extraRules = [
{
commands = [
{
command = "${pkgs.systemd}/bin/bootctl set-oneshot auto-windows";
options = ["NOPASSWD"];
}
];
groups = ["wheel"];
}
];
];
groups = ["wheel"];
}
];
# THE FINALS audio borked
# services.pipewire.enable = !if_desktop;
# hardware.pulseaudio.enable = if_desktop;
# hardware.pulseaudio.support32Bit = if_desktop;
# services.pipewire.extraConfig = {
# pipewire."99-low-latency" = {
# context.properties = {
# default.allowed-rates = [44100 48000 96000 192000];
# default.clock.rate = 192000;
# default.clock.quantum = 32;
# default.clock.min-quantum = 32;
# default.clock.max-quantum = 32;
# };
# context.modules = [
# {
# name = "libpipewire-module-rt";
# args = {
# nice.level = -12;
# rt.prio = 89;
# rt.time.soft = 200000;
# rt.time.hard = 200000;
# };
# flags = ["ifexists nofail"];
# }
# ];
# };
# pipewire-pulse."99-low-latency" = {
# context.modules = [
# {
# name = "libpipewire-module-protocol-pulse";
# args = {
# pulse.min.req = "32/192000";
# pulse.default.req = "32/192000";
# pulse.max.req = "32/192000";
# pulse.min.quantum = "32/192000";
# pulse.max.quantum = "32/192000";
# };
# }
# ];
# stream.properties = {
# node.latency = "32/192000";
# resample.quality = 1;
# };
# };
# };
# THE FINALS audio borked
# services.pipewire.enable = !if_desktop;
# hardware.pulseaudio.enable = if_desktop;
# hardware.pulseaudio.support32Bit = if_desktop;
# services.pipewire.extraConfig = {
# pipewire."99-low-latency" = {
# context.properties = {
# default.allowed-rates = [44100 48000 96000 192000];
# default.clock.rate = 192000;
# default.clock.quantum = 32;
# default.clock.min-quantum = 32;
# default.clock.max-quantum = 32;
# };
# context.modules = [
# {
# name = "libpipewire-module-rt";
# args = {
# nice.level = -12;
# rt.prio = 89;
# rt.time.soft = 200000;
# rt.time.hard = 200000;
# };
# flags = ["ifexists nofail"];
# }
# ];
# };
# pipewire-pulse."99-low-latency" = {
# context.modules = [
# {
# name = "libpipewire-module-protocol-pulse";
# args = {
# pulse.min.req = "32/192000";
# pulse.default.req = "32/192000";
# pulse.max.req = "32/192000";
# pulse.min.quantum = "32/192000";
# pulse.max.quantum = "32/192000";
# };
# }
# ];
# stream.properties = {
# node.latency = "32/192000";
# resample.quality = 1;
# };
# };
# };
}