linuxware/modules/home-manager/common.nix

84 lines
2.3 KiB
Nix

{ pkgs, ... }:
{
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
home.sessionVariables = {
NIXOS_OZONE_WL = "1";
QT_QPA_PLATFORM = "wayland";
};
home.file = {
# Configuration for gamemode, for running games with optimizations.
".config/gamemode.ini".source = ./programs/gamemode.ini;
# Configuration for mako, a notification daemon.
".config/mako".source = ./programs/mako;
# Configure pipewire for microphone noise supression.
".config/pipewire/pipewire.conf.d/99-input-denoising.conf".text = ''
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.description = "Noise Canceling source"
media.name = "Noise Canceling source"
filter.graph = {
nodes = [
{
type = ladspa
name = rnnoise
plugin = ${pkgs.rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so
label = noise_suppressor_mono
control = {
"VAD Threshold (%)" = 60.0
"VAD Grace Period (ms)" = 175
"Retroactive VAD Grace (ms)" = 50
}
}
]
}
capture.props = {
node.name = "capture.rnnoise_source"
node.passive = true
audio.rate = 48000
}
playback.props = {
node.name = "rnnoise_source"
media.class = Audio/Source
audio.rate = 48000
}
}
}
]
'';
# Configure DXVK
".config/dxvk.conf".text = ''
dxvk.enableGraphicsPipelineLibrary = Auto
'';
# My utility scripts
".local/share/scripts" = {
source = ./scripts;
recursive = true;
};
};
# Configure XDG
xdg.mimeApps.defaultApplications = {
"inode/directory" = [ "thunar.desktop" ];
"text/html" = [ "firefox.desktop" ];
"video/mp4" = [ "vlc.desktop" ];
"video/x-matroska" = [ "vlc.desktop" ];
"x-scheme-handler/about" = [ "firefox.desktop" ];
"x-scheme-handler/http" = [ "firefox.desktop" ];
"x-scheme-handler/https" = [ "firefox.desktop" ];
"x-scheme-handler/unknown" = [ "firefox.desktop" ];
};
}