# This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{
  inputs,
  lib,
  config,
  pkgs,
  ...
}: {
  # --- Shell environment ---
  programs.fish = {
    enable = true;
    shellAliases = {
      ls = "eza --icons --group-directories-last --git";
      lA = "ls --all --all"; #eza show . and ..
      lAl = "lA -l";
      tree = "ls --tree";
      cat = "bat --no-paging --style=plain";
    };
  };
  home.shell.enableFishIntegration = true;
  programs.bash = {
    enable = true;
    #shellAliases = {};
    initExtra = ''
      # "check if parent process is not fish" && "make nested shells work properly"
      if grep -qv fish /proc/$PPID/comm && [[ $SHLVL == [12] ]]; then
          # set $SHELL for better integration with programs like nix shell, tmux, etc.
          SHELL=${pkgs.fish}/bin/fish exec fish
      fi
    '';
  };  
  programs.kitty = {
    enable = true;
    #extraConfig = "include *.conf";
    settings = {
      "include" = "*.conf";
    };
  };
  programs.starship = {
    enable = true;
  };
  home.shellAliases = {
    ll = "ls -l";
    la = "ls -a";
    lal = "ls -al";
  };
}
