Files
nixos-migration/configuration.nix
2026-06-14 21:13:26 +00:00

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";
}