diff --git a/home/modules/linux/graphical/default.nix b/home/modules/linux/graphical/default.nix index 7ea874b..24d3fed 100644 --- a/home/modules/linux/graphical/default.nix +++ b/home/modules/linux/graphical/default.nix @@ -76,10 +76,10 @@ in ])); nki.programs.discord.enable = pkgs.stdenv.isx86_64; - nki.programs.discord.package = pkgs.unstable.vesktop.overrideAttrs (attrs: { - nativeBuildInputs = attrs.nativeBuildInputs ++ [ pkgs.nss_latest ]; + nki.programs.discord.package = (pkgs.callPackage pkgs.unstable.vesktop.override { }).overrideAttrs (attrs: { + nativeBuildInputs = attrs.nativeBuildInputs ++ [ pkgs.nss_latest pkgs.makeWrapper ]; postInstall = '' - ln -s $out/bin/vesktop $out/bin/discord + makeWrapper $out/bin/vesktop $out/bin/discord ''; }); diff --git a/modules/common/linux/default.nix b/modules/common/linux/default.nix index 5df967a..bd47af5 100644 --- a/modules/common/linux/default.nix +++ b/modules/common/linux/default.nix @@ -63,9 +63,40 @@ let users.extraGroups.vboxusers.members = [ cfg.username ]; }; }; + + rt-audio = { pkgs, ... }: mkIf cfg.enable { + services.pipewire.lowLatency = { + # enable this module + enable = true; + # defaults (no need to be set unless modified) + quantum = 32; + rate = 48000; + }; + security.rtkit.enable = true; + + # Real time configurations + boot.kernel.sysctl = { + "vm.swappiness" = 10; + "fs.inotify.max_user_watches" = 524288; + }; + security.pam.loginLimits = [ + { + domain = "@audio"; + item = "rtprio"; + type = "-"; + value = "90"; + } + { + domain = "@audio"; + item = "memlock"; + type = "-"; + value = "unlimited"; + } + ]; + }; in { - imports = with modules; [ adb ios wlr logitech virtualisation accounts ]; + imports = with modules; [ adb ios wlr logitech virtualisation accounts rt-audio ]; options.common.linux = { enable = mkOption { @@ -156,14 +187,6 @@ in alsa.support32Bit = true; pulse.enable = true; - - lowLatency = { - # enable this module - enable = true; - # defaults (no need to be set unless modified) - quantum = 32; - rate = 48000; - }; }; # udev configurations @@ -187,6 +210,7 @@ in extraGroups = [ "wheel" # Enable ‘sudo’ for the user. "plugdev" # Enable openrazer-daemon privileges + "audio" ]; shell = pkgs.fish; };