139 lines
No EOL
3.3 KiB
Nix
139 lines
No EOL
3.3 KiB
Nix
{ config, pkgs, host, lib, inputs, userconf, ... }:
|
|
|
|
let
|
|
# Load user-specific variables
|
|
userVars = import ./variables/user-vars.nix;
|
|
inherit (userVars) username gitUsername gitEmail keyboardLayout;
|
|
nixDirectory = "/home/${username}/NixOS";
|
|
in {
|
|
################################################################
|
|
# Module Imports
|
|
################################################################
|
|
|
|
imports = [
|
|
# Host-specific hardware configuration (autogenerated)
|
|
./hardware-configuration.nix
|
|
|
|
# System-level user definition
|
|
./user.nix
|
|
|
|
# Base and global modules
|
|
../../../Modules/System
|
|
|
|
# Home Manager integration
|
|
inputs.home-manager.nixosModules.home-manager
|
|
|
|
];
|
|
################################################################
|
|
# Display & Desktop Environment
|
|
################################################################
|
|
|
|
services.xserver = {
|
|
enable = true;
|
|
desktopManager.xfce.enable = true;
|
|
xkb = {
|
|
layout = "de";
|
|
variant = "";
|
|
};
|
|
};
|
|
|
|
services.xserver.displayManager.lightdm.enable = false;
|
|
|
|
services.displayManager.sddm = {
|
|
enable = true;
|
|
package = pkgs.qt6Packages.sddm;
|
|
};
|
|
|
|
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
|
|
################################################################
|
|
# System Packages (XFCE & Utilities)
|
|
################################################################
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
xdg-desktop-portal-gtk
|
|
|
|
# XFCE Core
|
|
xfce.xfwm4
|
|
xfce.xfce4-panel
|
|
xfce.xfce4-session
|
|
xfce.xfce4-settings
|
|
xfce.thunar
|
|
xfce.mousepad
|
|
xfce.xfce4-terminal
|
|
xfce.xfce4-appfinder
|
|
xfce.xfce4-power-manager
|
|
xfce.xfce4-notifyd
|
|
xfce.xfce4-whiskermenu-plugin
|
|
|
|
# Optional Extras
|
|
xfce.gigolo
|
|
xfce.xfce4-screenshooter
|
|
xfce.parole
|
|
# xfce.xfce4-clipman
|
|
|
|
# other:
|
|
zsh
|
|
|
|
|
|
];
|
|
|
|
|
|
|
|
programs.steam = {
|
|
enable = true;
|
|
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
|
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
|
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
|
};
|
|
|
|
services.openssh.enable = true;
|
|
|
|
programs.zsh = {
|
|
enable = true;
|
|
ohMyZsh = {
|
|
enable = true;
|
|
theme = "xiong-chiamiov-plus";
|
|
plugins = ["git"];
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
################################################################
|
|
# Home Manager Configuration
|
|
################################################################
|
|
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
backupFileExtension = "delme-HMbackup";
|
|
|
|
users.${username} = import ./home/home.nix {
|
|
inherit config nixDirectory pkgs;
|
|
};
|
|
};
|
|
|
|
################################################################
|
|
# Bootloader
|
|
################################################################
|
|
|
|
boot.loader = {
|
|
grub = {
|
|
enable = true;
|
|
efiSupport = false;
|
|
useOSProber = false;
|
|
devices = ["nodev"];
|
|
};
|
|
systemd-boot.enable = false;
|
|
efi.canTouchEfiVariables = false;
|
|
};
|
|
|
|
################################################################
|
|
# System Version
|
|
################################################################
|
|
|
|
system.stateVersion = "25.05";
|
|
} |