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