116 lines
4.0 KiB
Nix
116 lines
4.0 KiB
Nix
{
|
|
inputs,
|
|
pkgs,
|
|
...
|
|
}:
|
|
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
|
|
/etc/nixos/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."bangae1" =
|
|
{ ... }:
|
|
{
|
|
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.bangae1 = {
|
|
isNormalUser = true;
|
|
initialPassword = "1"; # 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 = "Asia/Seoul"; # REQUIRED: Set timezone (examples: "America/New_York", "Europe/London", "Asia/Tokyo")
|
|
locale = "ko_KR.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
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
git
|
|
kime
|
|
google-chrome
|
|
nwg-displays
|
|
tk
|
|
scrot
|
|
];
|
|
|
|
|
|
environment.sessionVariables = rec {
|
|
GTK_IM_MODULE = "kime";
|
|
QT_IM_MODULE = "kime";
|
|
XMODIFIERS = "@im=kime";
|
|
}
|
|
|
|
# System Version - Don't change unless you know what you're doing (helps with system upgrades and compatibility)
|
|
system.stateVersion = "25.05";
|
|
}
|