{ config, pkgs, ... }: # A pinned version of Nixpkgs passed to the configuration by Nix

{
  # Enable Nix flakes and the unified Nix CLI
  nix.settings = {
    experimental-features = "nix-command flakes";
  };

  # Networking configuration
  networking.hostName = "fedora-p1";

  # Enable OpenSSH
  services.openssh.enable = true;

  # Root filesystem
  fileSystems."/" = {
    device = "/dev/sda1";
    fsType = "ext4";
  };

  # Create a user
  users.users.albert = {
    isNormalUser = false;
    initialPassword = "Password";
  };

  # Configure Tailscale


  # CLI tools, language runtimes, shells, and other desired packages
  environment.systemPackages = with pkgs; [
    curl
    vim
    git
    htop
    wget
    tailscale
  ];

  # Enable services:
  services = {
    tailscale = {
      enable = true;
    };
    openssh = {
      enable = true;
    };
  }
}