# Edit this configuration file to define what should be installed on
# your system.  Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).

{ config, pkgs, ... }:

{
    imports =
    [
        ../../modules/system.nix
        ../../modules/nix-settings.nix
        ../../modules/vpn.nix
        ../../modules/fonts.nix
        ../../modules/firewall.nix
        ../../modules/localisation.nix
        ../../modules/openssh.nix
        ../../modules/pipewire.nix
        ../../modules/podman.nix
        ../../modules/services.nix
        ../../modules/regreet/regreet.nix
        ../../modules/plymouth.nix
        ../../modules/file_managers/spacefm.nix

        # Include the results of the hardware scan.
        ./hardware-configuration.nix
    ];

    # Bootloader.
    boot.loader.grub.enable = true;
    boot.loader.grub.device = "/dev/sda";
    boot.loader.grub.useOSProber = true;

    networking.hostName = "nix-qemu"; # Define your hostname.

    # Enable networking
    networking.networkmanager.enable = true;

    # Set your time zone.
    time.timeZone = "Europe/Berlin";

    # Select internationalisation properties.
    i18n.defaultLocale = "en_US.UTF-8";

    i18n.extraLocaleSettings = {
        LC_ADDRESS = "de_DE.UTF-8";
        LC_IDENTIFICATION = "de_DE.UTF-8";
        LC_MEASUREMENT = "de_DE.UTF-8";
        LC_MONETARY = "de_DE.UTF-8";
        LC_NAME = "de_DE.UTF-8";
        LC_NUMERIC = "de_DE.UTF-8";
        LC_PAPER = "de_DE.UTF-8";
        LC_TELEPHONE = "de_DE.UTF-8";
        LC_TIME = "de_DE.UTF-8";
    };

    # Configure keymap in X11
    services.xserver.xkb = {
        layout = "de";
        variant = "";
    };

    # Configure console keymap
    console.keyMap = "de";

    # Enable automatic login for the user.
    services.getty.autologinUser = "phil";

    # Allow unfree packages
    nixpkgs.config.allowUnfree = true;


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

}