{ config, lib, pkgs, inputs, system, ... }:
let
  cfg = config.mods;

in {
  # Hardware
  imports = [
    ./hardware-configuration.nix
  ];

  # System
  mods.user.name = "muon";
  networking.hostName = "muvm";
  mods.home.file = ./home.nix;

  users.users.muon.initialPassword = "changeme";

  boot.loader.grub = {
    enable = true;
    efiSupport = true;
    device = "nodev";
  };

  # Modules
  mods.desktop.enable = true;
  mods.boot.enable = false;

  mods.theme.enable = true;
  mods.theme.scheme = "woodland";
  mods.theme.wallpaper = ./wallpaper.png;

  services.xserver.windowManager.i3.enable = true;

  # Proprietary </3
  mods.unfree.steam.enable = true;

  users.users.muon = {
    openssh.authorizedKeys.keys =
      [''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKEio+Y5wBVD1wILaH2R3wV10FvVjiqy/4gGBWHOITTB muon@muon'' ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKevYmkH7xvYoquBjnYZ7PJiVqf+GOh9fxAJBN6wZGBB gin4@hi.is'' ];
  };

  # Enable the OpenSSH daemon.
  services.openssh.enable = true;
  users.users.root.openssh.authorizedKeys.keys =
    [''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKEio+Y5wBVD1wILaH2R3wV10FvVjiqy/4gGBWHOITTB muon@muon'' ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKevYmkH7xvYoquBjnYZ7PJiVqf+GOh9fxAJBN6wZGBB gin4@hi.is'' ];

  networking.firewall = {
    enable = true;
    allowedTCPPorts = [ 22 ];
  };

  system.stateVersion = "24.05"; # Did you read the comment?
}

