feature: gaming setup & config init
This commit is contained in:
parent
1ae2855bb1
commit
c6594bcbff
6 changed files with 296 additions and 147 deletions
|
|
@ -1,42 +0,0 @@
|
|||
{ pkgs, ... }: {
|
||||
# Example desktop development workstation configuration
|
||||
# Copy and modify for your actual hardware
|
||||
|
||||
# Boot configuration (adjust for your system)
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# Hostname
|
||||
networking.hostName = "desktop-dev";
|
||||
|
||||
# Import desktop environment (choose one)
|
||||
imports = [
|
||||
../desktops/hyprland.nix
|
||||
# ../desktops/plasma.nix
|
||||
# ../desktops/niri.nix
|
||||
];
|
||||
|
||||
# Hardware-specific settings (adjust for your hardware)
|
||||
# boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
|
||||
|
||||
# GPU drivers (uncomment if using NVIDIA)
|
||||
# services.xserver.videoDrivers = [ "nvidia" ];
|
||||
# hardware.nvidia = {
|
||||
# modesetting.enable = true;
|
||||
# open = false; # Use proprietary driver
|
||||
# };
|
||||
|
||||
# Optional: Enable bluetooth
|
||||
# hardware.bluetooth.enable = true;
|
||||
|
||||
# Development-specific packages
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
# Add desktop dev tools here
|
||||
# docker-compose
|
||||
# k9s
|
||||
];
|
||||
|
||||
# This value determines the NixOS release compatibility
|
||||
system.stateVersion = "24.05";
|
||||
}
|
||||
67
modules/nixos/hosts/desktop.nix
Normal file
67
modules/nixos/hosts/desktop.nix
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
{ lib, pkgs, ... }: {
|
||||
# Unified desktop configuration for gaming and development
|
||||
# Includes both KDE Plasma and Hyprland - switch at login screen
|
||||
|
||||
# Boot configuration with CachyOS LTS kernel
|
||||
boot = {
|
||||
loader.systemd-boot.enable = true;
|
||||
loader.efi.canTouchEfiVariables = true;
|
||||
kernelPackages = pkgs.linuxPackages_cachyos-lts;
|
||||
# Hardware-specific settings (adjust for your hardware)
|
||||
# initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
|
||||
};
|
||||
|
||||
# Hostname
|
||||
networking.hostName = "desktop";
|
||||
|
||||
# Root filesystem configuration (REQUIRED - adjust for your hardware)
|
||||
# To generate proper config, run: nixos-generate-config --show-hardware-config
|
||||
fileSystems."/" = lib.mkDefault {
|
||||
device = "/dev/disk/by-label/nixos";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = lib.mkDefault {
|
||||
device = "/dev/disk/by-label/boot";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
# Swap configuration (optional, adjust as needed)
|
||||
# swapDevices = [ { device = "/dev/disk/by-label/swap"; } ];
|
||||
|
||||
# Desktop environments - both available at login screen
|
||||
imports = [
|
||||
../desktops/plasma.nix # For gaming sessions
|
||||
../desktops/hyprland.nix # For development sessions
|
||||
# ../desktops/niri.nix # Available for future use
|
||||
../bluetooth.nix
|
||||
../desktop/gaming.nix # Gaming configuration (Steam, Proton, Vulkan, etc.)
|
||||
];
|
||||
|
||||
# GPU drivers (uncomment and adjust for your hardware)
|
||||
# For NVIDIA:
|
||||
# services.xserver.videoDrivers = [ "nvidia" ];
|
||||
# hardware.nvidia = {
|
||||
# modesetting.enable = true;
|
||||
# powerManagement.enable = false;
|
||||
# open = false; # Use proprietary driver
|
||||
# package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
# };
|
||||
#
|
||||
# For AMD:
|
||||
# services.xserver.videoDrivers = [ "amdgpu" ];
|
||||
#
|
||||
# For Intel:
|
||||
# services.xserver.videoDrivers = [ "modesetting" ];
|
||||
|
||||
# Additional system packages
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
# Add system-wide tools here if needed
|
||||
# Gaming packages are configured in ../desktop/gaming.nix
|
||||
# Development tools are better sourced via `nix develop` shells
|
||||
];
|
||||
|
||||
# This value determines the NixOS release compatibility
|
||||
system.stateVersion = "24.05";
|
||||
}
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
{ pkgs, ... }: {
|
||||
# Example gaming desktop configuration
|
||||
# Copy and modify for your actual hardware
|
||||
|
||||
# Boot configuration
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# Hostname
|
||||
networking.hostName = "gaming-rig";
|
||||
|
||||
# Import KDE Plasma for gaming
|
||||
imports = [ ../desktops/plasma.nix ];
|
||||
|
||||
# Gaming-specific settings
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
};
|
||||
|
||||
# GameMode for performance optimization
|
||||
programs.gamemode.enable = true;
|
||||
|
||||
# GPU drivers (example: NVIDIA)
|
||||
# services.xserver.videoDrivers = [ "nvidia" ];
|
||||
# hardware.nvidia = {
|
||||
# modesetting.enable = true;
|
||||
# powerManagement.enable = false;
|
||||
# open = false;
|
||||
# package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
# };
|
||||
|
||||
# Gaming packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Launchers
|
||||
lutris
|
||||
heroic
|
||||
# bottles
|
||||
|
||||
# Tools
|
||||
mangohud # FPS overlay
|
||||
# gamescope # Gaming compositor
|
||||
# protonup-qt # Proton version manager
|
||||
|
||||
# Communication
|
||||
discord
|
||||
];
|
||||
|
||||
# This value determines the NixOS release compatibility
|
||||
system.stateVersion = "24.05";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue