203 lines
4.7 KiB
Nix
203 lines
4.7 KiB
Nix
{ config, lib, pkgs, ... }:
|
||
{
|
||
imports = [
|
||
./kde.nix
|
||
./development.nix
|
||
./printer.nix
|
||
# ./clamav.nix
|
||
];
|
||
|
||
networking.hostName = "Ernesto";
|
||
|
||
boot.loader.systemd-boot = {
|
||
enable = true;
|
||
windows = {
|
||
"windows" = {
|
||
title = "Windows 10";
|
||
efiDeviceHandle = "HD1d65535a3";
|
||
sortKey = "a_windows";
|
||
};
|
||
};
|
||
edk2-uefi-shell = {
|
||
enable = true;
|
||
sortKey = "z_edk2";
|
||
};
|
||
};
|
||
boot.loader.efi.canTouchEfiVariables = true;
|
||
|
||
hardware.bluetooth = {
|
||
enable = true;
|
||
settings = {
|
||
General = {
|
||
Enable = "Source,Sink,Media,Socket";
|
||
# Bluetooth headsets don’t appear in PulseAudio without this,
|
||
# might be a pecularity of the dongle
|
||
ControllerMode = "bredr";
|
||
};
|
||
};
|
||
};
|
||
hardware.graphics.enable = true;
|
||
services.xserver.videoDrivers = [ "nvidia" ];
|
||
hardware.nvidia = {
|
||
powerManagement.enable = true;
|
||
open = false;
|
||
};
|
||
|
||
console.keyMap = "us";
|
||
services.xserver.xkb.layout = "us-fruchti";
|
||
i18n.defaultLocale = "de_DE.UTF-8";
|
||
networking.networkmanager.enable = true;
|
||
services.avahi.enable = true;
|
||
networking.firewall.allowedTCPPorts = [ 22 ];
|
||
|
||
programs.gnupg.agent = {
|
||
enable = true;
|
||
# enableSSHSupport = true;
|
||
};
|
||
|
||
environment.systemPackages = with pkgs; [
|
||
ntfsprogs
|
||
direnv nix-direnv
|
||
tmux zellij
|
||
helix
|
||
picocom
|
||
wget
|
||
texlive.combined.scheme-full
|
||
xsel
|
||
rsync
|
||
ranger nnn w3m
|
||
hexyl
|
||
git
|
||
gnupg
|
||
ripgrep
|
||
fd
|
||
ncdu
|
||
rink
|
||
htop
|
||
ncmpcpp
|
||
usbutils # lsusb etc.
|
||
dig
|
||
nmap
|
||
file
|
||
binwalk
|
||
ffmpeg
|
||
shellcheck
|
||
|
||
wine
|
||
wineWowPackages.stable
|
||
winePackages.fonts
|
||
pavucontrol
|
||
xsensors
|
||
|
||
kitty
|
||
kitty-themes
|
||
|
||
firefox
|
||
ungoogled-chromium
|
||
thunderbird
|
||
|
||
zathura
|
||
inkscape
|
||
vlc mpv a52dec
|
||
gthumb
|
||
gimp
|
||
darktable
|
||
tenacity
|
||
|
||
openscad
|
||
freecad
|
||
solvespace
|
||
dune3d
|
||
|
||
vscodium
|
||
marktext
|
||
tor-browser-bundle-bin
|
||
libreoffice-fresh
|
||
tdesktop
|
||
horizon-eda
|
||
kicad-small
|
||
pulseview
|
||
nextcloud-client
|
||
];
|
||
|
||
services.burp.client = {
|
||
enable = true;
|
||
server = "rupert";
|
||
includes = [
|
||
"/etc/nixos"
|
||
"/home"
|
||
"/data"
|
||
"/windows/Users"
|
||
"/shared"
|
||
];
|
||
passwordFile = "/secrets/burp_client_password";
|
||
sslKeyPasswordFile = "/secrets/burp_ssl_key_password";
|
||
encryptionPasswordFile = "/secrets/burp_encryption_password";
|
||
extraConfig = ''
|
||
working_dir_recovery_method = resume
|
||
max_resume_attempts = 5
|
||
exclude_regex = /home/.*/\.cache
|
||
exclude_regex = /home/.*/\.mozilla
|
||
exclude_regex = /home/.*/\.local
|
||
exclude_regex = /home/.*/\.cargo
|
||
exclude_regex = /home/.*/\.texlive.*
|
||
exclude_regex = /home/.*/\.vscode.*
|
||
exclude_regex = sync_[0-9a-f]+\.db
|
||
exclude_regex = \.fuse_hidden.*
|
||
'';
|
||
};
|
||
|
||
programs.steam = {
|
||
enable = true;
|
||
remotePlay.openFirewall = true;
|
||
dedicatedServer.openFirewall = true;
|
||
localNetworkGameTransfers.openFirewall = true;
|
||
};
|
||
|
||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
||
"steam"
|
||
"steam-original"
|
||
"steam-runtime"
|
||
"steam-run"
|
||
"steam-unwrapped"
|
||
"nvidia-x11"
|
||
"nvidia-settings"
|
||
];
|
||
|
||
fileSystems = {
|
||
"/windows" = {
|
||
device = "/dev/disk/by-uuid/7692527592523A37";
|
||
fsType = "ntfs";
|
||
options = [
|
||
"defaults"
|
||
"gid=1010"
|
||
"umask=002"
|
||
];
|
||
};
|
||
"/data" = {
|
||
device = "/dev/disk/by-uuid/6b063b1a-8f80-430e-8ecb-83f1d4087e4c";
|
||
fsType = "btrfs";
|
||
};
|
||
"/shared" = {
|
||
device = "/dev/disk/by-uuid/15D9B1070A5041E1";
|
||
fsType = "ntfs";
|
||
options = [
|
||
"defaults"
|
||
"gid=1010"
|
||
"umask=002"
|
||
];
|
||
};
|
||
};
|
||
|
||
users.extraGroups = {
|
||
windows = {
|
||
gid = 1010;
|
||
members = [ "fruchti" ];
|
||
};
|
||
};
|
||
|
||
services.earlyoom = {
|
||
enable = true;
|
||
enableNotifications = true;
|
||
};
|
||
}
|