{ config, pkgs, ... }:

{
  imports = 
    [
      # Global Config, always to be included
      ./../../global-home.nix
      ./../../modules/nixos/cspark-desktop-plasma/home.nix
      ./../../modules/nixos/cspark-desktop-gnome/home.nix
      ./../../modules/nixos/cspark-desktop-sway/home.nix
      ./../../modules/nixos/cspark-desktop-niri/home.nix
      ./../../modules/nixos/cspark-desktop-exwm/home.nix
    ];

  # KDE Connect
  # services.kdeconnect.enable = true; 
  services.kdeconnect.indicator = true; 

  # Custom Desktop Configurations
  # cspark-desktop-plasma-config-1.enable = true;
  # cspark-desktop-gnome-config-1.enable = true;
  # cspark-desktop-sway-config-1.enable = true;
  cspark-desktop-niri-config-1.enable = true;
  # cspark-desktop-exwm-config-1.enable = true;

  # Home Manager is pretty good at managing dotfiles. The primary way to manage
  # plain files is through 'home.file'.
  home.file = {
    # # Building this configuration will create a copy of 'dotfiles/screenrc' in
    # # the Nix store. Activating the configuration will then make '~/.screenrc' a
    # # symlink to the Nix store copy.
    # ".screenrc".source = dotfiles/screenrc;

    # # You can also set the file content immediately.
    # ".gradle/gradle.properties".text = ''
    #   org.gradle.console=verbose
    #   org.gradle.daemon.idletimeout=3600000
    # '';
    #  ".local/share/applications/ncmpcpp.desktop".text = ''
    #    [Desktop Entry]
    #    Name=NCMPCPP
    #    Comment=Run ncurses music player CPP
    #    Categories=Other;
    #    Icon=konsole
    #    Type=Application
    #    Exec=konsole -e ncmpcpp
    #    Terminal=false
    #  '';
  };

  programs.bash.shellAliases = {
    nixos-rebuild-system-flake-switch = "sudo nixos-rebuild switch --flake /etc/nixos#laptop-elitebook";
    nixos-rebuild-system-flake-boot = "sudo nixos-rebuild boot --flake /etc/nixos#laptop-elitebook";

    home-manager-rebuild-system-flake-switch = "nix run home-manager -- switch --flake /etc/nixos#laptop-elitebook";
  };

  home.sessionVariables = {
    # EDITOR = "emacsclient -c";
    EDITOR = "nvim";
  };

}
