NixOS-95/Configurations/Hosts/Default/configuration.nix
gytic 6a9de226ef feat(nixos-95): extract DE themining into nixosModule
the desktop environment can be included via `self.nixosModules.nixos95`

this will expose two options (for now):
nixos95.enable -> enable the desktop environment
nixos95.wallpaper -> path to the wallpaper to use

currently the setup is closy coupled to this configuration,
which will change in the future, so it can be used with any configuration
2025-07-25 18:04:18 +02:00

115 lines
2.8 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
# nixos95
inputs.self.nixosModules.nixos95
];
################################################################
# Display & Desktop Environment
################################################################
nixos95 = {
enable = true;
user = username;
};
################################################################
# System Packages (XFCE & Utilities)
################################################################
environment.systemPackages = with pkgs; [
# 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";
}