{ inputs, config, pkgs, username, hostname, gitUsername, theLocale, theTimezone, wallpaperDir, wallpaperGit, ... }: { imports = [ ./hardware.nix ./config/system/boot.nix ./config/system/polkit.nix ./config/system/intel-opengl.nix ./config/system/amd-opengl.nix ./config/system/autorun.nix ]; # Enable networking networking.hostName = "${hostname}"; # Define your hostname networking.networkmanager.enable = true; # Set your time zone time.timeZone = "${theTimezone}"; # Select internationalisation properties i18n.defaultLocale = "${theLocale}"; i18n.extraLocaleSettings = { LC_ADDRESS = "${theLocale}"; LC_IDENTIFICATION = "${theLocale}"; LC_MEASUREMENT = "${theLocale}"; LC_MONETARY = "${theLocale}"; LC_NAME = "${theLocale}"; LC_NUMERIC = "${theLocale}"; LC_PAPER = "${theLocale}"; LC_TELEPHONE = "${theLocale}"; LC_TIME = "${theLocale}"; }; # Define a user account. users.users."${username}" = { homeMode = "755"; isNormalUser = true; description = "${gitUsername}"; extraGroups = [ "networkmanager" "wheel" ]; packages = with pkgs; []; }; # Allow unfree packages nixpkgs.config.allowUnfree = true; # List System Programs environment.systemPackages = with pkgs; [ wget curl git cmatrix lolcat neofetch htop btop libvirt polkit_gnome lm_sensors unzip unrar libnotify v4l-utils ydotool wl-clipboard socat cowsay lsd pkg-config meson hugo gnumake ninja go nodejs symbola noto-fonts-color-emoji material-icons brightnessctl ]; # Steam Configuration programs.steam = { enable = true; remotePlay.openFirewall = true; dedicatedServer.openFirewall = true; }; programs.hyprland = { enable = true; package = inputs.hyprland.packages.${pkgs.system}.hyprland; }; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. programs.mtr.enable = true; programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; environment.variables = { POLKIT_BIN = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; }; # List services that you want to enable: services.openssh.enable = true; services.fstrim.enable = true; services.xserver = { enable = true; layout = "us"; xkbVariant = ""; libinput.enable = true; videoDrivers = [ "amdgpu" ]; displayManager.gdm = { enable = true; wayland = true; }; }; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; }; hardware.pulseaudio.enable = false; sound.enable = true; security.rtkit.enable = true; programs.thunar.enable = true; services.gvfs.enable = true; services.tumbler.enable = true; # Optimization settings and garbage collection automation nix = { settings.auto-optimise-store = true; gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 7d"; }; }; system.stateVersion = "23.11"; nix.settings.experimental-features = [ "nix-command" "flakes" ]; }