# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).

{ config, lib, pkgs, ... }:

{

  # Nix Configuration
  nixpkgs.config.allowUnfree = true;

  # Use the systemd-boot EFI boot loader.
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;

  # Networking
  networking.networkmanager.enable = true;

  # Set your time zone.
  time.timeZone = "Australia/Sydney";

  # Select internationalisation properties.
  i18n.defaultLocale = "en_US.UTF-8";
#  console = {
#    font = "Lat2-Terminus16";
#    keyMap = "us";
#    useXkbConfig = true; # use xkb.options in tty.
#  };

  # Enable the OpenSSH daemon.
  services.openssh.enable = true;

  # Open ports in the firewall.
  networking.firewall.allowedTCPPorts = [ 22 ];
  # networking.firewall.allowedUDPPorts = [ ... ];

  # Enable nix-command and flakes
  nix.settings.experimental-features = [ "nix-command" "flakes" ];


  # This option defines the first version of NixOS you have installed on this particular machine, and is used
  # to maintain compatibility with application data (e.g. databases) created on older NixOS versions. Most
  # users should NEVER change this value after the initial install, for any reason, even if you've upgraded
  # your system to a new NixOS release. This value does NOT affect the Nixpkgs version your packages and OS
  # are pulled from, so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading
  # for how to actually do that. This value being lower than the current NixOS release does NOT mean your
  # system is out of date, out of support, or vulnerable. Do NOT change this value unless you have manually
  # inspected all the changes it would make to your configuration, and migrated your data accordingly.
  system.stateVersion = "24.11";

}

