blob: d4a9f277da000e27e50553a230b5bcf10b98a866 (
plain)
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
109
110
111
112
|
# Common configuration options for client machines (i.e. not servers)
{
lib,
inputs,
pkgs,
...
}:
{
imports = [
./steam.nix
];
nixpkgs = {
overlays = [
inputs.rust-overlay.overlays.default
inputs.emacs-overlay.overlays.default
(final: prev: {
nur = import inputs.nur {
nurpkgs = prev;
pkgs = prev;
repoOverrides = {
sorre = import inputs.sorrepkgs { pkgs = prev; };
};
};
})
];
config = {
allowUnfree = true;
packageOverrides = pkgs: {
factorio = pkgs.factorio.override {
username = "IHazPink";
token = "599e9c5aa6cdcd78be60cc9af5d9af";
};
};
};
};
# See https://github.com/NixOS/nixpkgs/issues/100288#issuecomment-709328701
# I don't care about man completions, and rebuilding the cache constantly is
# very annoying
documentation.man.generateCaches = lib.mkForce false;
programs.hyprland.enable = true;
boot.supportedFilesystems = [
"ntfs"
"bcachefs"
];
nix.gc = {
dates = "daily";
automatic = true;
persistent = true;
randomizedDelaySec = "15min";
options = ''--delete-older-than 7d'';
};
networking = {
useNetworkd = true;
firewall = {
enable = true;
allowedTCPPorts = [
80
443
34197
];
};
};
services.mullvad-vpn.enable = true;
services.tailscale.enable = true;
virtualisation.podman = {
enable = true;
dockerCompat = true;
dockerSocket.enable = true;
autoPrune.enable = true;
};
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
pinentryPackage = pkgs.pinentry-gnome3;
settings = {
default-cache-ttl = 1200;
};
};
services.pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
};
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
proggyfonts
(nerdfonts.override {
fonts = [
"FiraCode"
"CascadiaCode"
];
})
overpass
inter
];
services.earlyoom = {
enable = true;
freeMemThreshold = 5;
extraArgs = [ "--prefer '(^|/)(firefox|chromium|signal|electron)$'" ];
};
}
|