feat: switch to pipewire

This commit is contained in:
Felix Schröter 2021-08-01 14:44:23 +02:00
parent b414ba1d17
commit 9791074aec
No known key found for this signature in database
GPG key ID: 910ACB9F6BD26F58
8 changed files with 101 additions and 11 deletions

View file

@ -16,14 +16,4 @@
hardware.bluetooth.settings = {
General = { Enable = "Source,Sink,Media,Socket"; };
};
# Sound.
sound.enable = true;
hardware.pulseaudio = {
enable = true;
support32Bit = true;
extraModules = [ pkgs.pulseaudio-modules-bt ];
package = pkgs.pulseaudioFull;
};
}

View file

@ -0,0 +1,6 @@
let g:kitty_navigator_no_mappings = 1
nnoremap <silent> {Left-Mapping} :KittyNavigateLeft<cr>
nnoremap <silent> {Down-Mapping} :KittyNavigateDown<cr>
nnoremap <silent> {Up-Mapping} :KittyNavigateUp<cr>
nnoremap <silent> {Right-Mapping} :KittyNavigateRight<cr>

7
home/gaming/default.nix Normal file
View file

@ -0,0 +1,7 @@
{ config, pkgs, nixosConfig, ... }:
{
imports = [ ./steam.nix ./lutris.nix ];
programs.gamemode.enable = true;
}

31
home/gaming/lutris.nix Normal file
View file

@ -0,0 +1,31 @@
{ config, pkgs, nixosConfig, ... }:
{
home.packages = with pkgs; [ lutris ];
xdg.dataFile = {
wine-runner-sc.source = let version = "6.10";
in {
executable = true;
recursive = true;
source = builtins.fetchTarball {
src =
"https://github.com/snatella/wine-runner-sc/releases/download/wine-v${version}/wine-runner-${version}-gold-fsync.tgz";
sha256 = "";
};
target = "lutris/wine/wine-runner-sc";
};
proton-ge = let version = "6.12-GE-1";
in {
executable = true;
recursive = true;
source = builtins.fetchTarball {
url =
"https://github.com/GloriousEggroll/proton-ge-custom/releases/download/${version}/Proton-${version}.tar.gz";
sha256 = "12pk1bvjrziszglbrc6f0i555b19ycmf3cc70k63d53lyz3ra9vp";
};
target = "Steam/compatibilitytools.d/proton-ge";
};
};
}

12
home/gaming/steam.nix Normal file
View file

@ -0,0 +1,12 @@
{ config, pkgs, nixosConfig, ... }:
let
steam = pkgs.steam.override {
extraLibraries = pkgs:
with nixosConfig.hardware.opengl;
if pkgs.hostPlatform.is64bit then
[ package ] ++ extraPackages
else
[ package32 ] ++ extraPackages32;
};
in { home.packages = [ steam steam.run ]; }

View file

@ -1,7 +1,14 @@
{ config, pkgs, ... }:
{
imports = [ ./hardened.nix ./i18n.nix ./nix.nix ./networking.nix ./vpn.nix ];
imports = [
./hardened.nix
./sound.nix
./i18n.nix
./nix.nix
./networking.nix
./vpn.nix
];
environment.systemPackages = with pkgs; [ wget curl openssl neovim ];

5
system/gaming.nix Normal file
View file

@ -0,0 +1,5 @@
{ config, pkgs, ... }:
{
programs.gamemode.enable = true;
}

32
system/sound.nix Normal file
View file

@ -0,0 +1,32 @@
{ config, lib, pkgs, ... }:
{
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
media-session.config.bluez-monitor.rules = [
{
matches = [{ "device.name" = "~bluez_card.*"; }];
actions = {
"update-props" = {
"bluez5.reconnect-profiles" = [ "hfp_hf" "hsp_hs" "a2dp_sink" ];
"bluez5.msbc-support" = true;
"bluez5.sbc-xq-support" = true;
};
};
}
{
matches = [
{ "node.name" = "~bluez_input.*"; }
{ "node.name" = "~bluez_output.*"; }
];
actions = { "node.pause-on-idle" = false; };
}
];
};
}