blob: ab7dd21267b28610a7b733a6ea943ec95dfc2900 (
plain) (
blame)
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
{ config, pkgs, lib, ... }:
let
i686Games = false;
avahi = false;
browser = rec {
pkg = pkgs.firefox-wayland;
bin = "${pkg}/bin/firefox";
};
in {
imports = [
./base-laptop.nix
./desktop-sway.nix
];
boot.initrd.availableKernelModules = [
"xhci_pci"
"nvme"
"usb_storage"
"sd_mod"
"rtsx_pci_sdmmc"
];
boot.kernelModules = [
"kvm-intel"
"snd-seq"
"snd-rawmidi" ];
hardware.opengl.driSupport32Bit = i686Games;
hardware.pulseaudio = {
enable = true;
support32Bit = i686Games;
zeroconf.discovery.enable = avahi;
};
# 100% CPU in university
services.avahi.enable = avahi;
fileSystems."/" = {
device = "/dev/mapper/main";
fsType = "btrfs";
};
fileSystems."/boot" = {
device = "/dev/nvme0n1p1";
fsType = "vfat";
};
swapDevices = [
{ device = "/dev/disk/by-uuid/198329ed-5038-4ad8-b8a6-e52921f2673d"; }
];
nix.maxJobs = 4;
nix.useSandbox = true;
nix.trustedUsers = [ "lukas" ];
boot.initrd.luks.devices = {
"main".device = "/dev/nvme0n1p2";
"swap".device = "/dev/nvme0n1p3";
};
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking = {
hostName = "wolfgang";
firewall = {
enable = true;
allowedTCPPortRanges = [
{ from = 9990; to = 9999; }
];
};
# nat networking for virtual machines / containers
# TODO(sterni): remove when I don't have to deal
# with such stuff @ work anymore
nat = {
enable = true;
internalInterfaces = [ "ve-+" ];
externalInterface = "wlp3s0";
};
networkmanager = {
enable = true;
unmanaged = [ "interface-name:ve-*" ];
};
};
virtualisation.docker.enable = true;
time.timeZone = "Europe/Berlin";
environment.systemPackages = with pkgs; [
vuizvui.sternenseemann.pass
exfat borgbackup
gnupg pinentry-gtk2 signing-party gpgme
thunderbird
jackline
vuizvui.sternenseemann.texlive jabref
youtube-dl mpv spotify
newsboat
ghc cabal-install cabal2nix
sbcl rlwrap
valgrind gdb
github-cli
scribus gimp inkscape libreoffice
audacity
signal-desktop tdesktop discord
multimc
vuizvui.profpatsch.nman
vuizvui.sternenseemann.tep
vuizvui.sternenseemann.t
xdg_utils # xdg-open etc.
networkmanagerapplet # for nm-connection-ediotr
imv zathura
gnome3.nautilus
browser.pkg
# TODO(sterni) depot.users.sterni.clhs-lookup
hunspell
] ++ (with hunspellDicts; [ de-de en-gb-large en-us ]);
environment.variables = {
BROWSER = browser.bin;
};
services.tor = {
enable = true;
torsocks = {
enable = true;
};
client = {
enable = true;
};
};
services.printing = {
enable = true;
drivers = [ pkgs.gutenprint pkgs.hplip ];
};
services.xserver = {
videoDrivers = [ "intel" ];
};
users.users.lukas = {
isNormalUser = true;
uid = 1000;
home = "/home/lukas";
group = "users";
extraGroups = [ "wheel" "networkmanager" "audio" "docker" ];
shell = "${pkgs.fish}/bin/fish";
};
system.stateVersion = "unstable";
}
|