{ config, lib, pkgs, ... }:

with lib;
let
  cfg = config.samfelag.profiles.desktop;
  laptopPkgs = with pkgs; [
  ];
in
{
  options.samfelag.profiles.desktop = {
    enable = mkEnableOption "desktop profile";
    laptop = mkOption {
      description = "Add packages required when machine is a laptop";
      type = types.bool;
      default = false;
    };
  };

  config = mkIf cfg.enable {

    # - Dependencies -----------------------------

    samfelag.modules = {
      desktop = {
        i3 = {
          enable = true;
          launcher.command = "${pkgs.rofi}/bin/rofi rofi -show run";
          terminal.command = "${pkgs.alacritty}/bin/alacritty";
          browser.command = "${pkgs.firefox}/bin/firefox";
	  locker.command = "${pkgs.i3lock-blur}/bin/i3lock-color -c 808F85 && sleep 1";
        };

        polybar.enable = true;
      };

      app.alacritty.enable = true;
    };

    services.picom.enable = true;

    home.packages = with pkgs; [
      rofi
      firefox

      brightnessctl
      playerctl
      feh
    ] ++ optionals cfg.laptop laptopPkgs;

  };
}
