From 5e4cd54ba1217f35fe677e98987100e6143d9a08 Mon Sep 17 00:00:00 2001 From: Dmitriy Kholkin Date: Tue, 29 Jun 2021 22:29:22 +0300 Subject: [PATCH] update packages and hardware --- modules/applications/packages.nix | 14 ++++---- modules/applications/steam.nix | 4 +++ modules/hardware.nix | 15 +++++--- modules/security.nix | 9 +++-- modules/sound/pipewire.nix | 58 +++++++++++++++++++------------ profiles/desktop.nix | 3 ++ 6 files changed, 67 insertions(+), 36 deletions(-) create mode 100644 modules/applications/steam.nix diff --git a/modules/applications/packages.nix b/modules/applications/packages.nix index 42c0b36..a3f7bba 100644 --- a/modules/applications/packages.nix +++ b/modules/applications/packages.nix @@ -87,20 +87,18 @@ with config.deviceSpecific; { zathura # misc - i3status-rust - papirus-icon-theme + # i3status-rust ] ++ lib.optionals (!(isVM || isISO)) [ # rust-stable libreoffice ] ++ lib.optionals isGaming [ - # lutris + lutris protontricks # retroarch - (steam.override { withJava = true; }) - steam-run - # winetricks - (winetricks.override { wine = wineWowPackages.full; }) - wineWowPackages.full + # (steam.override { withJava = true; }) + # steam-run + wine + winetricks ] ++ lib.optionals isLaptop [ acpi ] ++ lib.optionals (config.device == "AMD-Workstation") [ diff --git a/modules/applications/steam.nix b/modules/applications/steam.nix new file mode 100644 index 0000000..5dba087 --- /dev/null +++ b/modules/applications/steam.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: { + programs.steam.enable = true; + hardware.steam-hardware.enable = true; +} \ No newline at end of file diff --git a/modules/hardware.nix b/modules/hardware.nix index 9d00b5c..1195b53 100644 --- a/modules/hardware.nix +++ b/modules/hardware.nix @@ -15,14 +15,21 @@ with config.deviceSpecific; { driSupport32Bit = true; extraPackages = if devInfo.gpu.vendor == "intel" then [ pkgs.intel-media-driver + ] else if devInfo.gpu.vendor == "intel" then [ + pkgs.amdvlk ] else [ ]; + extraPackages32 = lib.mkIf (devInfo.gpu.vendor == "amd") [ + pkgs.driversi686Linux.amdvlk + ]; }; environment.sessionVariables = { GST_VAAPI_ALL_DRIVERS = "1"; LIBVA_DRIVER_NAME = "iHD"; }; - environment.systemPackages = if devInfo.gpu.vendor == "amd" then - [ (pkgs.mesa.override { enableRadv = true; }) ] - else - [ ]; + boot.initrd.kernelModules = lib.mkIf (devInfo.gpu.vendor == "amd") [ "amdgpu" ]; + # environment.systemPackages = if devInfo.gpu.vendor == "amd" then + # # [ (pkgs.mesa.override { enableRadv = true; }) ] + # [ pkgs.mesa ] + # else + # [ ]; } diff --git a/modules/security.nix b/modules/security.nix index 535fc83..fb66a66 100644 --- a/modules/security.nix +++ b/modules/security.nix @@ -25,6 +25,7 @@ with config.deviceSpecific; { "cdrom" "scanner" "lp" + "dialout" ]; description = "Дмитрий Холкин"; uid = 1000; @@ -33,11 +34,15 @@ with config.deviceSpecific; { }; security.sudo = { enable = true; - extraConfig = lib.mkIf isLaptop '' + extraConfig = lib.concatStrings ['' + alukard ALL = (root) NOPASSWD: /run/current-system/sw/bin/btrfs fi usage / + '' + (if (isLaptop) then '' alukard ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp-stat alukard ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp ac alukard ALL = (root) NOPASSWD: /run/current-system/sw/bin/tlp bat - ''; + '' else "") + ]; }; # nix.requireSignedBinaryCaches = false; home-manager.useUserPackages = true; diff --git a/modules/sound/pipewire.nix b/modules/sound/pipewire.nix index d147795..3caa356 100644 --- a/modules/sound/pipewire.nix +++ b/modules/sound/pipewire.nix @@ -7,6 +7,42 @@ alsa.support32Bit = true; pulse.enable = true; # jack.enable = true; + config.pipewire-pulse = { + "context.modules" = [ + { + "name" = "libpipewire-module-rtkit"; + "args" = {}; + "flags" = [ + "ifexists" + "nofail" + ]; + } + { + "name" = "libpipewire-module-protocol-native"; + } + { + "name" = "libpipewire-module-client-node"; + } + { + "name" = "libpipewire-module-adapter"; + } + { + "name" = "libpipewire-module-metadata"; + } + { + "name" = "libpipewire-module-protocol-pulse"; + "args" = { + "server.address" = [ + "unix:native" + "tcp:127.0.0.1:8888" # IPv4 on a single address + ]; + "vm.overrides" = { + "pulse.min.quantum" = "1024/48000"; + }; + }; + } + ]; + }; media-session.config.bluez-monitor.rules = [ { # Matches all cards @@ -34,28 +70,6 @@ }; } ]; - # media-session.config.bluez-monitor = { - # properties = { }; - # rules = [ - # { - # actions = { - # update-props = { - # "bluez5.auto-connect" = [ "hfp_hf" "hsp_hs" "a2dp_sink" ]; - # "bluez5.hw-volume" = - # [ "hfp_ag" "hsp_ag" "a2dp_source" "a2dp_sink" ]; - # }; - # }; - # matches = [{ "device.name" = "~bluez_card.*"; }]; - # } - # { - # actions = { update-props = { "node.pause-on-idle" = false; }; }; - # matches = [ - # { "node.name" = "~bluez_input.*"; } - # { "node.name" = "~bluez_output.*"; } - # ]; - # } - # ]; - # }; }; security.rtkit.enable = true; diff --git a/profiles/desktop.nix b/profiles/desktop.nix index d4c9799..5dab6cc 100644 --- a/profiles/desktop.nix +++ b/profiles/desktop.nix @@ -16,10 +16,13 @@ alacritty kitty + mopidy mpv + ncmpcpp packages rofi spotify + steam urxvt vivaldi vscode