{ config, pkgs, self, ... }: { imports = [ ./battery.nix ./bluetooth.nix ./desktop.nix ./fingerprint.nix ./hardware.nix ./networking.nix ./sshd.nix ]; # allow flakes nix.settings.experimental-features = ["nix-command" "flakes"]; # allow unfree packages nixpkgs.config.allowUnfree = true; # set state version system.stateVersion = config.stateVersion; # enable nixos-rebuild-ng system.rebuild.enableNg = true; # hostname networking.hostName = config.hostName; # common system packages environment.systemPackages = with pkgs; [ # editor vim # lib libz openssl shared-mime-info # shell bash zsh # utility curl dig file fd htop jq killall openssh p7zip ripgrep rsync sbctl sl tree unzip wget ]; # use the latest kernel boot.kernelPackages = pkgs.linuxPackages_testing; # sysrq boot.kernel.sysctl."kernel.sysrq" = 246; # timezone time.timeZone = config.timeZone; # dbus services.dbus.implementation = "broker"; # docs documentation = { info.enable = false; dev.enable = false; nixos.enable = false; }; # locale i18n.defaultLocale = "en_US.UTF-8"; # create user account users.users.${config.user} = { isNormalUser = true; description = config.fullName; extraGroups = ["wheel" "tty"]; home = config.homePath; shell = pkgs.zsh; }; # certs security.pki.certificateFiles = self.lib.certs; }