Cleaned up gAluminum defaults. Added Pipewire. Added nvidia-offload

This commit is contained in:
Giulio De Pasquale 2022-02-15 10:51:34 +00:00
parent 229d6b9e1a
commit e098a2268b
3 changed files with 76 additions and 17 deletions

View File

@ -1,8 +1,16 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let hostname = "gAluminum";
let
hostname = "gAluminum";
nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" ''
export __NV_PRIME_RENDER_OFFLOAD=1
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
exec -a "$0" "$@"
'';
in {
imports = [ ./hardware.nix ./wireguard.nix ];
imports = [ ./hardware.nix ./wireguard.nix ./sound.nix ];
boot = {
supportedFilesystems = [ "ntfs" ];
@ -12,6 +20,8 @@ in {
systemd-boot.enable = true;
};
kernelPackages = pkgs.linuxPackages_latest;
initrd.luks.devices = {
root = {
device = "/dev/disk/by-uuid/c2bac3a6-0999-4e1d-a676-bf4bcafee2d4";
@ -30,20 +40,35 @@ in {
};
time.timeZone = "Europe/London";
virtualisation.virtualbox.host.enable = true;
virtualisation.virtualbox.host.enableExtensionPack = true;
users.extraGroups.vboxusers.members = [ "giulio" ];
services.printing.enable = true;
sound.enable = true;
hardware = {
pulseaudio.enable = true;
ledger.enable = true;
virtualisation.virtualbox.host = {
enable = true;
enableExtensionPack = true;
};
users.extraGroups = {
vboxusers.members = [ "giulio" ];
video.members = [ "giulio" ];
};
services = {
printing.enable = true;
xserver.videoDrivers = [ "nvidia" ];
teamviewer.enable = true;
davfs2.enable = true;
};
hardware = {
ledger.enable = true;
nvidia = {
prime = {
offload.enable = true;
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
};
services.teamviewer.enable = true;
programs.steam.enable = true;
environment.systemPackages = with pkgs; [ efibootmgr ];
environment.systemPackages = with pkgs; [ efibootmgr nvidia-offload ];
system.stateVersion = "21.05"; # Did you read the comment?
}

View File

@ -23,6 +23,4 @@
};
swapDevices = [ ];
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
}

36
hosts/gAluminum/sound.nix Normal file
View File

@ -0,0 +1,36 @@
{
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
media-session.config.bluez-monitor.rules = [
{
# Matches all cards
matches = [{ "device.name" = "~bluez_card.*"; }];
actions = {
"update-props" = {
"bluez5.reconnect-profiles" = [ "hfp_hf" "hsp_hs" "a2dp_sink" ];
# mSBC is not expected to work on all headset + adapter combinations.
"bluez5.msbc-support" = true;
# SBC-XQ is not expected to work on all headset + adapter combinations.
"bluez5.sbc-xq-support" = true;
};
};
}
{
matches = [
# Matches all sources
{
"node.name" = "~bluez_input.*";
}
# Matches all outputs
{ "node.name" = "~bluez_output.*"; }
];
actions = { "node.pause-on-idle" = false; };
}
];
};
security.rtkit.enable = true;
hardware.pulseaudio.enable = false;
}