{ inputs, outputs, lib, pkgs, config, self, username, useremail, hostname, sysversion, ... }: let inherit (inputs) home-manager hyprland nixpkgs-unstable; in { # You can import other NixOS modules here imports = [ # If you want to use modules your own flake exports (from modules/nixos): # outputs.nixosModules.example # Or modules from other flakes (such as nixos-hardware): # inputs.hardware.nixosModules.common-cpu-amd # inputs.hardware.nixosModules.common-ssd # You can also split up your configuration and import pieces of it here: # ./users # Import your generated (nixos-generate-config) hardware configuration ./hardware-configuration ./networking "${self}/modules/nixos/core" "${self}/modules/nixos/sysatomic" "${self}/modules/nixos/nvidia" "${self}/modules/nixos/hyprland" "${self}/modules/nixos/user" "${self}/modules/nixos/samba" "${self}/modules/nixos/zfs" "${self}/modules/nixos/adb" "${self}/modules/nixos/virtualize/libvirtd" "${self}/modules/nixos/virtualize/android" "${self}/modules/nixos/virtualize/docker" "${self}/modules/nixos/fonts" home-manager.nixosModules.home-manager { # home-manager.useGlobalPkgs = true; # home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs outputs hostname username useremail hyprland sysversion; # enable unstable packages nixpkgs = nixpkgs-unstable; pkgs = import nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; # if you import pkgs, must specify overlays overlays = [ outputs.overlays.additions outputs.overlays.modifications outputs.overlays.unstable-packages outputs.overlays.nur-packages ]; }; }; home-manager.users."${username}" = import ../../home/desktop.nix; } ]; environment.systemPackages = with pkgs;[ # audio control software pamixer ]; # set hdmi audio default device hardware.pulseaudio = { enable = true; support32Bit = true; extraConfig = "set-card-profile 1 output:alsa_output.pci-0000_00_1f.3.hdmi-stereo"; }; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion system.stateVersion = sysversion; }