-
Notifications
You must be signed in to change notification settings - Fork 2
/
default.nix
108 lines (91 loc) · 2.16 KB
/
default.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
{ config, pkgs, lib, ... }:
{
imports = [
../../common.nix
./storage.nix
../../hardware/B550.nix
];
custom.hostName = "HEPHAISTOS";
custom.desktop.enable = true;
programs.steam.enable = true;
programs.steam.package = pkgs.steam-small.override {
extraEnv = {
MANGOHUD = true;
OBS_VKCAPTURE = true;
RADV_TEX_ANISO = 16;
DXVK_HUD = "compiler";
PULSE_SINK = "game_sink"; # For separate capture
};
extraLibraries = p: with p; [
atk
udev
];
};
environment.systemPackages = with pkgs; let
obs = wrapOBS {
plugins = with obs-studio-plugins; [
obs-vkcapture
obs-gstreamer
wlrobs
];
};
in [
BeatSaberModManager
gnome.adwaita-icon-theme # fix lutris' missing icons
goverlay
libstrangle
lutris
mangohud
obs
piper
prismlauncher
protontricks
vulkan-tools
wineWowPackages.staging
];
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
boot.kernel.sysctl = {
# SteamOS/Fedora default, can help with performance.
"vm.max_map_count" = 2147483642;
};
services.xserver.videoDrivers = [ "amdgpu" ];
services.xserver.deviceSection = ''
Option "TearFree" "False"
Option "VariableRefresh" "True"
'';
services.sshd.enable = true;
virtualisation.libvirtd = {
enable = true;
qemu.ovmf.enable = true;
qemu.runAsRoot = false;
qemu.package = pkgs.qemu_kvm; # Closure size; I don't need other µarchs
};
# Libvirt takes forever to start, socket activate it when I actually need it
systemd.services.libvirtd.wantedBy = [ ];
# Don't need this feature.
systemd.services.libvirt-guests.wantedBy = lib.mkForce [ ];
virtualisation.docker.enable = true;
programs.adb.enable = true;
custom.dnscrypt.enable = true;
security.pam.loginLimits = [
{
domain = "@users";
item = "rtprio";
type = "-";
value = "95";
}
{
domain = "@users";
item = "nice";
type = "-";
value = "-19";
}
{
domain = "@users";
item = "memlock";
type = "-";
value = "4194304";
}
];
system.stateVersion = "20.09";
}