{ lib, config, pkgs, ... }: { imports = [ # Desktop Environments ./desktops/common.nix # ./desktops/gnome.nix ./desktops/hyprland.nix # Services ./services/openssh.nix ./services/promtail.nix ./services/fail2ban.nix ./services/telegraf.nix # Modules ./modules/nixos.nix # General NixOS items. Flake enablement, etc ./modules/secureboot.nix # Secureboot Configs ./modules/fonts.nix # Font Configs ./modules/networking.nix # Initial Networking configs ]; # Allow unfree packages nixpkgs.config.allowUnfree = true; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { LC_ADDRESS = "en_US.UTF-8"; LC_IDENTIFICATION = "en_US.UTF-8"; LC_MEASUREMENT = "en_US.UTF-8"; LC_MONETARY = "en_US.UTF-8"; LC_NAME = "en_US.UTF-8"; LC_NUMERIC = "en_US.UTF-8"; LC_PAPER = "en_US.UTF-8"; LC_TELEPHONE = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8"; }; # Define a user account. users.users.albert = { isNormalUser = true; description = "Albert J. Copeland"; extraGroups = [ "networkmanager" "wheel" ]; hashedPassword = "$y$j9T$wKLsIWaA4Gf63RvjedwLJ0$EHKL6BBJV0CAxEKcHHjaBqW085KJ/MGvmbyWzmcWOy6"; }; # List packages installed in system profile environment.systemPackages = with pkgs; [ sbctl powerline-go wget killall neovim git curl htop btop iftop nload iotop glxinfo tailscale neofetch gnupg fail2ban ]; # Enable tailscale services = { tailscale.enable = true; }; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # system.stateVersion = "23.05"; # Did you read the comment? system.stateVersion = "unstable"; }