{ pkgs, myConfig, inputs, lib, specialArgs, ... }: { imports = [ ./hardware-configuration.nix ../../modules/default/apps.nix ../../modules/default/desktop.nix ../../modules/default/remote.nix ../../modules/default/gaming.nix ../../modules/default/udev.nix ../../modules/default/boot.nix ../../modules/default/dev.nix ../../modules/default/security.nix ]; system.stateVersion = "25.05"; i18n.defaultLocale = "en_US.UTF-8"; time.timeZone = "${myConfig.nixos.Timezone}"; console = { earlySetup = false; font = "${pkgs.terminus_font}/share/consolefonts/ter-132n.psf.gz"; packages = with pkgs; [terminus_font]; useXkbConfig = true; }; users = { defaultUserShell = pkgs.${myConfig.general.Terminal.shell}; users = { ${myConfig.essentials.Username} = { isNormalUser = true; extraGroups = ["wheel" "networkmanager" "input" "video"]; initialHashedPassword = "$y$j9T$NHFtSwF4NJtEmgMjy4Xdg.$9WQltjEx3eEfZ7GbpGLW8lBhJtiXPOeIawrxdmx0.vB"; useDefaultShell = true; packages = []; }; }; }; home-manager = { backupFileExtension = "backup"; useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = specialArgs; users.${myConfig.essentials.Username} = import ../../home/hakase.nix; }; nixpkgs.config.allowUnfree = myConfig.general.allowUnfree; nix = { distributedBuilds = true; settings = { builders-use-substitutes = true; trusted-users = myConfig.optionals.Builds.trustedUsers; experimental-features = ["nix-command" "flakes"]; }; }; hardware = { enableAllFirmware = true; logitech.wireless.enable = true; bluetooth = { enable = true; powerOnBoot = true; settings = { General = { # AutoEnable = true; Experimental = true; MultiProfile = "multiple"; FastConnectable = true; # ControllerMode = "bredr"; }; Policy = { AutoEnable = true; }; }; }; graphics = { enable = true; enable32Bit = true; }; xone.enable = true; }; networking = { networkmanager.enable = true; firewall = { enable = true; allowedTCPPorts = [22 80]; allowedUDPPorts = [53]; }; proxy = { default = null; noProxy = null; }; }; systemd = { network.enable = true; extraConfig = "DefaultTimeoutStopSec=5s"; }; security.rtkit.enable = true; programs = { bash.interactiveShellInit = '' if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]; then shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" exec ${pkgs.fish}/bin/fish $LOGIN_OPTION fi ''; zsh.enable = true; fish.enable = true; appimage = { enable = true; binfmt = true; }; ssh.extraConfig = myConfig.optionals.Ssh.extraConfig; }; services = { displayManager.sessionPackages = [ inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland ]; getty.autologinUser = lib.mkOverride 10 "${myConfig.essentials.Username}"; # greetd = { # enable = true; # settings.default_session = { # user = lib.mkOverride 10 "${myConfig.essentials.Username}"; # command = lib.mkOverride 10 "Hyprland"; # }; # }; flatpak.enable = true; seatd.enable = true; upower.enable = true; scx.enable = true; libinput.enable = true; blueman.enable = true; printing.enable = true; openssh.enable = true; pipewire = { enable = true; alsa = { enable = true; support32Bit = true; }; pulse.enable = true; }; }; }