first
This commit is contained in:
98
configuration.nix
Normal file
98
configuration.nix
Normal file
@@ -0,0 +1,98 @@
|
||||
{
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
# FOLLOW THE BELOW INSTRUCTIONS LINE BY LINE TO SET UP YOUR SYSTEM
|
||||
|
||||
# Package configuration - sets up package system with proper overlays
|
||||
# Most users won't need to modify this section
|
||||
system = "x86_64-linux";
|
||||
pkgs = import inputs.nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
overlays = [
|
||||
inputs.hydenix.overlays.default
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
nixpkgs.pkgs = pkgs; # Set pkgs for hydenix globally
|
||||
|
||||
imports = [
|
||||
# hydenix inputs - Required modules, don't modify unless you know what you're doing
|
||||
inputs.hydenix.inputs.home-manager.nixosModules.home-manager
|
||||
inputs.hydenix.nixosModules.default
|
||||
./modules/system # Your custom system modules
|
||||
./hardware-configuration.nix # Auto-generated hardware config
|
||||
|
||||
# Hardware Configuration - Uncomment lines that match your hardware
|
||||
# Run `lshw -short` or `lspci` to identify your hardware
|
||||
|
||||
# GPU Configuration (choose one):
|
||||
# inputs.nixos-hardware.nixosModules.common-gpu-nvidia # NVIDIA
|
||||
# inputs.nixos-hardware.nixosModules.common-gpu-amd # AMD
|
||||
|
||||
# CPU Configuration (choose one):
|
||||
# inputs.nixos-hardware.nixosModules.common-cpu-amd # AMD CPUs
|
||||
# inputs.nixos-hardware.nixosModules.common-cpu-intel # Intel CPUs
|
||||
|
||||
# Additional Hardware Modules - Uncomment based on your system type:
|
||||
# inputs.nixos-hardware.nixosModules.common-hidpi # High-DPI displays
|
||||
# inputs.nixos-hardware.nixosModules.common-pc-laptop # Laptops
|
||||
# inputs.nixos-hardware.nixosModules.common-pc-ssd # SSD storage
|
||||
];
|
||||
|
||||
# If enabling NVIDIA, you will be prompted to configure hardware.nvidia
|
||||
# hardware.nvidia = {
|
||||
# open = true; # For newer cards, you may want open drivers
|
||||
# prime = { # For hybrid graphics (laptops), configure PRIME:
|
||||
# amdBusId = "PCI:0:2:0"; # Run `lspci | grep VGA` to get correct bus IDs
|
||||
# intelBusId = "PCI:0:2:0"; # if you have intel graphics
|
||||
# nvidiaBusId = "PCI:1:0:0";
|
||||
# offload.enable = false; # Or disable PRIME offloading if you don't care
|
||||
# };
|
||||
# };
|
||||
|
||||
# Home Manager Configuration - manages user-specific configurations (dotfiles, themes, etc.)
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
# User Configuration - REQUIRED: Change "hydenix" to your actual username
|
||||
# This must match the username you define in users.users below
|
||||
users."hydenix" =
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
inputs.hydenix.homeModules.default
|
||||
./modules/hm # Your custom home-manager modules (configure hydenix.hm here!)
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# User Account Setup - REQUIRED: Change "hydenix" to your desired username (must match above)
|
||||
users.users.hydenix = {
|
||||
isNormalUser = true;
|
||||
initialPassword = "hydenix"; # SECURITY: Change this password after first login with `passwd`
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"networkmanager"
|
||||
"video"
|
||||
]; # User groups (determines permissions)
|
||||
shell = pkgs.zsh; # Default shell (options: pkgs.bash, pkgs.zsh, pkgs.fish)
|
||||
};
|
||||
|
||||
# Hydenix Configuration - Main configuration for the Hydenix desktop environment
|
||||
hydenix = {
|
||||
enable = true; # Enable Hydenix modules
|
||||
# Basic System Settings (REQUIRED):
|
||||
hostname = "hydenix"; # REQUIRED: Set your computer's network name (change to something unique)
|
||||
timezone = "America/Vancouver"; # REQUIRED: Set timezone (examples: "America/New_York", "Europe/London", "Asia/Tokyo")
|
||||
locale = "en_CA.UTF-8"; # REQUIRED: Set locale/language (examples: "en_US.UTF-8", "en_GB.UTF-8", "de_DE.UTF-8")
|
||||
# For more configuration options, see: ./docs/options.md
|
||||
};
|
||||
|
||||
# System Version - Don't change unless you know what you're doing (helps with system upgrades and compatibility)
|
||||
system.stateVersion = "25.05";
|
||||
}
|
||||
Reference in New Issue
Block a user