66 lines
1.8 KiB
Nix
66 lines
1.8 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
# Bootloader
|
|
boot.loader.systemd-boot.enable = true;
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
networking.hostName = "nixos";
|
|
networking.networkmanager.enable = true;
|
|
|
|
# Note: The MT7902 WiFi driver is notorious. Your existing fix_my_wifi.sh script
|
|
# and blacklisting strategy can still work if you run it manually, but eventually,
|
|
# building it as an out-of-tree kernel module in Nix is the "proper" way.
|
|
|
|
time.timeZone = "Asia/Amman";
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
|
|
# Hardware: Intel Microcode & Nvidia PRIME
|
|
hardware.cpu.intel.updateMicrocode = true;
|
|
hardware.opengl = {
|
|
enable = true;
|
|
driSupport = true;
|
|
driSupport32Bit = true;
|
|
};
|
|
services.xserver.videoDrivers = ["nvidia"];
|
|
hardware.nvidia = {
|
|
modesetting.enable = true;
|
|
powerManagement.enable = false;
|
|
open = true; # You were using nvidia-open-dkms
|
|
nvidiaSettings = true;
|
|
prime = {
|
|
intelBusId = "PCI:0:2:0"; # Verify with `lspci | grep VGA`
|
|
nvidiaBusId = "PCI:1:0:0"; # Verify with `lspci | grep VGA`
|
|
};
|
|
};
|
|
|
|
# System Services
|
|
services.printing.enable = true; # cups
|
|
services.blueman.enable = true;
|
|
hardware.bluetooth.enable = true;
|
|
services.coolercontrol.enable = true;
|
|
services.ollama.enable = true;
|
|
virtualisation.libvirtd.enable = true;
|
|
|
|
# Display Manager & Desktop
|
|
services.displayManager.sddm = {
|
|
enable = true;
|
|
wayland.enable = true;
|
|
};
|
|
|
|
# Enable Hyprland at the system level to pull in XDG portals automatically
|
|
programs.hyprland.enable = true;
|
|
programs.zsh.enable = true;
|
|
|
|
# User Account
|
|
users.users.nouredeen = {
|
|
isNormalUser = true;
|
|
description = "Nouredeen";
|
|
extraGroups = [ "networkmanager" "wheel" "libvirtd" "video" "audio" ];
|
|
shell = pkgs.zsh;
|
|
};
|
|
|
|
# DO NOT CHANGE
|
|
system.stateVersion = "24.05";
|
|
}
|