split config

This commit is contained in:
Vinzenz Schroeter 2024-10-26 12:32:15 +02:00
parent 1602292781
commit 5944fe5cca
19 changed files with 271 additions and 276 deletions

View file

@ -1,139 +0,0 @@
{
config,
pkgs,
lib,
...
}: {
config = {
services = {
# Enable the X11 windowing system / wayland depending on DE
xserver = {
enable = true;
};
libinput.enable = true;
# flatpak xdg-portal-kde crashes, otherwise this would be global
flatpak.enable = true;
fstrim.enable = true;
earlyoom = {
enable = true;
freeMemThreshold = 5;
};
};
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
#jack.enable = true;
};
programs = {
kdeconnect.enable = true;
firefox = {
enable = true;
languagePacks = ["en-US" "de"];
};
nix-ld = {
enable = true;
libraries = with pkgs; [
stdenv.cc.cc
zlib
zstd
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
];
};
appimage = {
enable = true;
binfmt = true;
};
};
networking = {
networkmanager.enable = true;
firewall = {
allowedTCPPortRanges = [
{
# KDE Connect / gsconnect
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = [
{
# KDE Connect / gsconnect
from = 1714;
to = 1764;
}
];
};
};
systemd = {
# save some boot time because nothing actually requires network connectivity
services.NetworkManager-wait-online.enable = false;
# prevent stuck units from preventing shutdown (default is 120s)
extraConfig = ''
DefaultTimeoutStopSec=12s
'';
};
environment.systemPackages = with pkgs; [
lm_sensors
# office
libreoffice-qt
hunspell
hunspellDicts.de-de
hunspellDicts.en-us-large
gnumake
];
nixpkgs.config.permittedInsecurePackages = [];
my.allowUnfreePackages = [
"insync"
"insync-pkg"
"rider"
"pycharm-professional"
"jetbrains-toolbox"
"anydesk"
];
fonts = {
enableDefaultPackages = true;
fontconfig.defaultFonts.monospace = ["FiraCode Nerd Font"];
packages = with pkgs; [
(nerdfonts.override {fonts = ["FiraCode"];})
];
};
hardware.logitech.wireless = {
enable = true;
enableGraphical = true;
};
};
}

View file

@ -1,44 +0,0 @@
{
lib,
pkgs,
config,
...
}: {
config = {
boot = {
kernelPackages = pkgs.linuxPackages_zen;
kernelParams = ["quiet" "udev.log_level=3"];
supportedFilesystems = ["btrfs"];
initrd.supportedFilesystems = ["btrfs"];
consoleLogLevel = 0;
initrd.verbose = false;
plymouth.enable = true;
loader = {
timeout = 3;
efi.canTouchEfiVariables = true;
systemd-boot = {
enable = true;
editor = false; # do not allow changing kernel parameters
consoleMode = "max";
};
};
};
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true;
hardware = {
enableRedistributableFirmware = true;
bluetooth.enable = true;
};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
services.fwupd.enable = true;
};
}

View file

@ -1,52 +0,0 @@
{
config,
pkgs,
lib,
...
}: {
config = {
hardware = {
opengl = {
driSupport = true;
driSupport32Bit = true;
extraPackages = with pkgs; [mangohud];
extraPackages32 = with pkgs; [mangohud];
};
steam-hardware.enable = true;
xpadneo.enable = true;
};
environment.systemPackages = with pkgs; [
wineWowPackages.stagingFull
wineWowPackages.fonts
winetricks
dxvk
mangohud
vulkan-tools
glxinfo
lutris
];
programs = {
xwayland.enable = true;
steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
gamemode.enable = true;
};
networking.firewall.allowedUDPPorts = [
# Factorio
34197
];
my.allowUnfreePackages = [
"steam"
"steam-original"
"steam-run"
];
};
}

View file

@ -1,50 +0,0 @@
{
config,
pkgs,
lib,
...
}: {
config = {
services = {
xserver = {
# Enable the GNOME Desktop Environment.
desktopManager.gnome.enable = true;
displayManager = {
gdm.enable = true;
};
};
displayManager.defaultSession = "gnome";
gnome = {
tracker-miners.enable = false;
tracker.enable = false;
sushi.enable = true;
gnome-remote-desktop.enable = true;
};
};
programs = {
dconf.enable = true;
gpaste.enable = true;
kdeconnect.package = pkgs.gnomeExtensions.gsconnect;
};
# remove some gnome default apps
environment.gnome.excludePackages = with pkgs.gnome; [
cheese # photo booth
epiphany # web browser
evince # document viewer
geary # email client
gnome-maps
gnome-weather
gnome-music
pkgs.gnome-tour
];
environment.systemPackages = with pkgs; [gnome.ghex impression];
# RDP connections
networking.firewall.allowedTCPPorts = [3389];
};
}

View file

@ -1,28 +0,0 @@
{
lib,
config,
pkgs,
...
}: {
config = {
hardware.opengl = {
extraPackages = with pkgs; [
intel-media-driver
vaapiIntel
vaapiVdpau
libvdpau-va-gl
intel-ocl
];
extraPackages32 = with pkgs.pkgsi686Linux; [
intel-media-driver
vaapiIntel
vaapiVdpau
libvdpau-va-gl
];
};
environment.systemPackages = with pkgs; [
nvtopPackages.intel
];
my.allowUnfreePackages = ["intel-ocl"];
};
}

View file

@ -1,14 +0,0 @@
{
config,
pkgs,
lib,
...
}: {
config = {
environment.systemPackages = with pkgs; [
fontconfig
texliveFull
texstudio
];
};
}

View file

@ -1,19 +0,0 @@
{
config,
pkgs,
lib,
...
}: {
config = {
services = {
# Enable CUPS to print documents.
printing.enable = true;
avahi = {
enable = true; # runs the Avahi daemon
nssmdns4 = true; # enables the mDNS NSS plug-in
openFirewall = true; # opens the firewall for UDP port 5353
};
};
};
}

View file

@ -3,4 +3,7 @@
./hardware.nix
./environment.nix
];
config = {
networking.hostName = "vinzenz-lpt2";
};
}

View file

@ -1,17 +1,17 @@
{pkgs, ...}: {
imports = [
../../home
../../home/gnome-home.nix
../../home/gnome.nix
../../users/vinzenz.nix
../desktop-environment.nix
../gnome.nix
../gaming.nix
../printing.nix
../latex.nix
../../modules/desktop-environment.nix
../../modules/gnome.nix
../../modules/gaming.nix
../../modules/printing.nix
../../modules/latex.nix
];
config = {
home-manager.users.vinzenz = import ../../home/vinzenz-home.nix;
home-manager.users.vinzenz = import ../../home/vinzenz;
virtualisation = {
containers.enable = true;

View file

@ -4,8 +4,8 @@
...
}: {
imports = [
../desktop-hardware.nix
../intel-graphics.nix
../../modules/desktop-hardware.nix
../../modules/intel-graphics.nix
];
config = {
# intel cpu