# 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,
  inputs,
  lib,
  ...
}:

{
  imports = [
    ../common/core.nix
    ./hardware.nix
    # ../../modules/desktop/hyprland.nix
    ../../modules/desktop/plasma.nix
    # ../../modules/llm/nginx-proxies.nix
    # ../../modules/llm/open-webui.nix
    ../../modules/nixos/nix-serve-client.nix
    # ../../modules/vectorstore/chromadb.nix
    ../../modules/virtualisation/docker.nix
  ];

  boot = {
    initrd.systemd.enable = true;
    loader = {
      # Bootloader.
      systemd-boot.enable = true;
      efi.canTouchEfiVariables = true;
    };
  };

  networking = {
    extraHosts = ''
      192.168.0.249 openwebui.marvinroman.me
      192.168.0.249 lmstudio.marvinroman.me
    '';
    hostName = "toaster"; # Define your hostname.
  };
}