Adding all files and folders
This commit is contained in:
117
results/configuration.nix
Normal file
117
results/configuration.nix
Normal file
@@ -0,0 +1,117 @@
|
||||
# NixOS Configuration: /results/configuration.nix
|
||||
# This file configures the core NixOS system.
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
# This file will be generated by the NixOS installer.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
# ---
|
||||
# NETWORKING
|
||||
# ---
|
||||
networking.hostName = "nixos-desktop";
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Australia/Sydney";
|
||||
|
||||
# ---
|
||||
# USER ACCOUNTS
|
||||
# ---
|
||||
users.users.sam = {
|
||||
isNormalUser = true;
|
||||
description = "Sam";
|
||||
extraGroups = [ "networkmanager" "wheel" ]; # "wheel" allows sudo
|
||||
};
|
||||
|
||||
# ---
|
||||
# GRAPHICS & DESKTOP ENVIRONMENT
|
||||
# ---
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
# Enable KDE Plasma 5 Desktop Environment
|
||||
desktopManager.plasma5.enable = true;
|
||||
# Enable SDDM as the display manager
|
||||
displayManager.sddm.enable = true;
|
||||
# Use the proprietary NVIDIA drivers
|
||||
videoDrivers = [ "nvidia" ];
|
||||
};
|
||||
|
||||
# Enable OpenGL and Vulkan support
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
|
||||
# Configure NVIDIA drivers for Hybrid Graphics (Intel + NVIDIA)
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
# Use the stable proprietary driver package
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
# Configure PRIME Render Offload
|
||||
prime = {
|
||||
sync.enable = true;
|
||||
# Set the PCI bus IDs for your GPUs (from lspci output)
|
||||
intelBusId = "PCI:0:2:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
};
|
||||
};
|
||||
|
||||
# ---
|
||||
# SOFTWARE PACKAGES
|
||||
# ---
|
||||
environment.systemPackages = with pkgs; [
|
||||
# --- Tier 1: Critical Applications & Services ---
|
||||
firefox thunderbird kitty neovim nushell vscode telegram-desktop
|
||||
# --- Tier 2: Development & CLI Tools ---
|
||||
git rustc cargo nodejs python3 gcc gnumake btop eza bat fzf ripgrep zoxide
|
||||
# --- Tier 3: Desktop & GUI Applications ---
|
||||
libreoffice flameshot vlc spotify timeshift
|
||||
];
|
||||
|
||||
# ---
|
||||
# SERVICES
|
||||
# ---
|
||||
# Enable sound with PipeWire.
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
# Enable CUPS for printing.
|
||||
services.printing.enable = true;
|
||||
|
||||
# ---
|
||||
# DISK MOUNTS
|
||||
# ---
|
||||
fileSystems."/mnt/ubuntu_storage_3TB" = {
|
||||
device = "/dev/disk/by-uuid/037a542c-6aa9-4b1f-ab2f-4b6922ab371f";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/mnt/windows-storage" = {
|
||||
device = "/dev/disk/by-uuid/063E316A3E315441";
|
||||
fsType = "ntfs-3g";
|
||||
options = [ "rw" "uid=1000" "gid=100" "umask=007" ];
|
||||
};
|
||||
|
||||
# Allow installation of unfree packages (like NVIDIA drivers)
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# Set the system state version.
|
||||
system.stateVersion = "24.05";
|
||||
}
|
||||
Reference in New Issue
Block a user