Add KDE, Ernesto

This commit is contained in:
fruchti 2025-03-23 09:53:24 +01:00
parent 83b5a0df3d
commit 53ec6b75c1
2 changed files with 240 additions and 0 deletions

203
hosts/Ernesto.nix Normal file
View file

@ -0,0 +1,203 @@
{ 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 dont 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;
};
}

37
hosts/kde.nix Normal file
View file

@ -0,0 +1,37 @@
{ pkgs, ... }:
{
services.displayManager = {
enable = true;
sddm.enable = true;
sddm.wayland.enable = true;
defaultSession = "plasma";
# autoLogin = {
# user = "fruchti";
# enable = true;
# };
};
services.desktopManager.plasma6.enable = true;
# Sound
# security.rtkit.enable = true;
# services.pipewire = {
# enable = true;
# alsa.enable = true;
# alsa.support32Bit = true;
# pulse.enable = true;
# };
hardware.pulseaudio = {
enable = true;
package = pkgs.pulseaudioFull;
extraConfig = ''
load-module module-switch-on-connect
'';
};
services.pipewire.enable = false;
environment.systemPackages = with pkgs; [
libsForQt5.qt5ct
libsForQt5.qtstyleplugin-kvantum
];
}