{ pkgs, ... }:

{
  imports = [
    ../nix-os/core.nix
    ../nix-os/core-desktop.nix
    ../nix-os/nvidia.nix
    ../nix-os/docker.nix
    ../nix-os/razer.nix
    ../nix-os/desktopManagers/gnome.nix
    ../nix-os/displayManagers/gdm.nix
    #../nix-os/desktop/kde-plasma.nix
    ../nix-os/shell.nix
    ../nix-os/virtualization.nix
    ../nix-os/polkit/disable-shutdown.nix
    ../nix-os/locale.nix
    ../nix-os/adb.nix
    ../nix-os/account.nix
    ../nix-os/xdg-default-apps.nix
    ../nix-os/services/nix-binary-cache.nix
    ../nix-os/udev.nix

    (builtins.fetchTarball "https://github.com/nix-community/nixos-vscode-server/tarball/fc900c16efc6a5ed972fb6be87df018bcf3035bc")
  ];

  config = {
    boot.loader.systemd-boot.enable = true;
    boot.loader.efi.canTouchEfiVariables = true;

    networking.hostName = "wroclaw-main";

    services.xrdp.enable = true;
    users.groups."tsusers".members = [ "wroclaw" ];

    services.printing.drivers = with pkgs; [
      hplip
    ];

    # nixos-vscode-server module needs this
    programs.nix-ld.enable = true;
    services.vscode-server = {
      enable = true;
      extraRuntimeDependencies = with pkgs; [
        docker
      ];
    };

    system.stateVersion = "23.05";
  };
}