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
115 lines
2.8 KiB
Nix
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";
|
|
}
|