{
  pkgs,
  lib,
  username,
  ...
}: 
{
# ============================= User related =============================

# Define a user account. Don't forget to set a password with ‘passwd’.
    users.users.${username} = {
        isNormalUser = true;
        description = username;
        extraGroups = ["networkmanager" "wheel" "podman"];
    };

    programs.dconf.enable = true;

# List packages installed in system profile. To search, run:
# $ nix search wget
    environment.systemPackages = with pkgs; [   
        # Bare minimum
        neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
        wget
        git

        # System tools
        sysstat
        lm_sensors # for `sensors` command
        ethtool
        pciutils # lspci
        usbutils # lsusb
        libGL

        # Rizz
        fastfetch
        cpufetch
        hyfetch
        ramfetch
        neofetch
        ghfetch
        libnotify

        # Terminal
        yazi # file manager
        jq # JSON Parser
        yq-go # YAML Parser
        glow # Markdown Reader
        btop # system monitor
        iotop # iomonitor
        iftop # network monitor
        iperf3 # network tester
        nmap # network discovery
        eza # ls replacement
        curl
        dnsutils
        ldns
        file
        which
        tree
        gnused
        gnutar
        gawk
        zstd
        gnupg

        # Archives
        zip
        unzip
        p7zip
        xz
    ];

    security.polkit.enable = true;

}