init
This commit is contained in:
46
modules/boot.nix
Normal file
46
modules/boot.nix
Normal file
@@ -0,0 +1,46 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
boot = {
|
||||
# --- Bootloader Einstellungen ---
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
configurationLimit = 5;
|
||||
};
|
||||
efi.canTouchEfiVariables = true;
|
||||
timeout = 5;
|
||||
};
|
||||
|
||||
# --- Kernel & Dateisysteme ---
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
supportedFilesystems = [ "exfat" ];
|
||||
|
||||
#initrd.kernelModules = [ "nvidia" "nvidia_drm" ];
|
||||
|
||||
kernelParams = [
|
||||
"nvidia-drm.modeset=1"
|
||||
"quiet"
|
||||
"splash"
|
||||
"boot.shell_on_fail"
|
||||
"loglevel=3"
|
||||
"rd.systemd.show_status=false"
|
||||
"rd.udev.log_level=3"
|
||||
"udev.log_priority=3"
|
||||
];
|
||||
|
||||
# --- Initrd & Plymouth ---
|
||||
initrd.compressor = "zstd";
|
||||
initrd.verbose = false;
|
||||
consoleLogLevel = 0;
|
||||
|
||||
plymouth = {
|
||||
enable = true;
|
||||
theme = "mac-style";
|
||||
themePackages = [ pkgs.mac-style-plymouth ];
|
||||
};
|
||||
|
||||
# --- Hardware-Modprobe ---
|
||||
extraModprobeConfig = ''options bluetooth disable_ertm=1'';
|
||||
};
|
||||
}
|
||||
32
modules/desktop.nix
Normal file
32
modules/desktop.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
programs.hyprland.enable = true;
|
||||
security.polkit.enable = true;
|
||||
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
theme = "breeze";
|
||||
settings = {
|
||||
Theme = {
|
||||
CursorTheme = "WhiteSur-cursors";
|
||||
CursorSize = 30;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
security.pam.services.hyprland.enableKwallet = true;
|
||||
security.pam.services.sddm.enableKwallet = true;
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
security.rtkit.enable = true;
|
||||
|
||||
services.printing.enable = true;
|
||||
programs.kdeconnect.enable = true;
|
||||
}
|
||||
28
modules/hibernation.nix
Normal file
28
modules/hibernation.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
# https://md.timvandenboom.eth64.de/s/Nils/p/hibernate-TDmskjM02R
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
swapDevices = [ {
|
||||
device = "/var/lib/swapfile";
|
||||
size = 34 * 1024;
|
||||
} ];
|
||||
|
||||
boot.resumeDevice = "/dev/disk/by-uuid/6a9e58be-37d9-4fee-8b67-81a78d80c016";
|
||||
boot.kernelParams = [
|
||||
"resume=UUID=6a9e58be-37d9-4fee-8b67-81a78d80c016"
|
||||
"resume_offset=167837696"
|
||||
];
|
||||
|
||||
powerManagement.enable = true;
|
||||
|
||||
services.logind.settings.Login = {
|
||||
HandleLidSwitch = "suspend-then-hibernate";
|
||||
HandlePowerKey = "poweroff";
|
||||
};
|
||||
|
||||
systemd.sleep.extraConfig = ''
|
||||
[Sleep]
|
||||
HibernateDelaySec=1800
|
||||
'';
|
||||
}
|
||||
11
modules/locale.nix
Normal file
11
modules/locale.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ ... }: {
|
||||
networking.hostName = "nixos";
|
||||
networking.networkmanager.enable = true;
|
||||
time.timeZone = "Europe/Berlin";
|
||||
i18n.defaultLocale = "de_DE.UTF-8";
|
||||
console.keyMap = "de";
|
||||
services.xserver.xkb = {
|
||||
layout = "de";
|
||||
options = "caps:escape";
|
||||
};
|
||||
}
|
||||
15
modules/nvidia.nix
Normal file
15
modules/nvidia.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{ config, ... }: {
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = true;
|
||||
powerManagement.finegrained = false;
|
||||
open = true;
|
||||
nvidiaSettings = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||
};
|
||||
}
|
||||
33
modules/system-packages.nix
Normal file
33
modules/system-packages.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
inputs.mac-style-plymouth.overlays.default
|
||||
];
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
};
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
dejavu_fonts ibm-plex inter noto-fonts roboto fira fira-code
|
||||
nerd-fonts.jetbrains-mono nerd-fonts.hack
|
||||
newcomputermodern
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
git vim wget curl helix
|
||||
swaybg whitesur-cursors copyq
|
||||
kdePackages.kwallet-pam
|
||||
brightnessctl
|
||||
libxkbcommon
|
||||
pavucontrol
|
||||
|
||||
kdePackages.partitionmanager
|
||||
kdePackages.polkit-kde-agent-1
|
||||
];
|
||||
}
|
||||
19
modules/users.nix
Normal file
19
modules/users.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ pkgs, inputs, username, ... }: {
|
||||
|
||||
users.users.${username} = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.fish;
|
||||
extraGroups = [ "networkmanager" "wheel" "libvirtd" "video" ];
|
||||
};
|
||||
|
||||
programs.fish.enable = true;
|
||||
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
backupFileExtension = "backup";
|
||||
extraSpecialArgs = { inherit inputs username; };
|
||||
|
||||
users.${username} = import ../home/home.nix;
|
||||
};
|
||||
}
|
||||
28
modules/virtualization.nix
Normal file
28
modules/virtualization.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
# https://md.timvandenboom.eth64.de/s/Nils/p/evdev-passthrough-BTUeHFqMQ3
|
||||
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
# --- Virtualisierung (QEMU/KVM & Libvirtd) ---
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
qemu = {
|
||||
package = pkgs.qemu_kvm;
|
||||
runAsRoot = true;
|
||||
swtpm.enable = true;
|
||||
verbatimConfig = ''
|
||||
cgroup_device_acl = [
|
||||
"/dev/null", "/dev/full", "/dev/zero",
|
||||
"/dev/random", "/dev/urandom",
|
||||
"/dev/ptmx", "/dev/kvm", "/dev/kqemu",
|
||||
"/dev/rtc","/dev/hpet", "/dev/vfio/vfio",
|
||||
"/dev/input/by-id/usb-Kinesis_Corporation_Adv360_Pro_5E36F7BBCC9DC86A-if02-event-kbd",
|
||||
"/dev/input/by-id/usb-Keychron_Keychron_4K_Link-event-mouse"
|
||||
]
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
# Grafische Oberfläche für die Verwaltung
|
||||
programs.virt-manager.enable = true;
|
||||
}
|
||||
Reference in New Issue
Block a user