{ lib, pkgs, catppuccinVariant ? "Mocha", ... }: { imports = [ ./bottom.nix ./fastfetch.nix ./git.nix ./ssh.nix ./starship.nix ./zsh.nix ]; home.packages = with pkgs; [ rclone git-sync du-dust ]; programs = { bash.enable = true; bat = { enable = true; config = { theme = "catppuccin${catppuccinVariant}"; style = "plain,numbers,changes"; }; }; eza = { enable = true; git = true; icons = true; extraOptions = ["--octal-permissions"]; }; direnv = { enable = true; nix-direnv.enable = true; }; fd.enable = true; fzf = { enable = true; defaultCommand = "${pkgs.fd}/bin/fd --type f"; changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d"; fileWidgetCommand = "${pkgs.fd}/bin/fd --type f"; }; jq.enable = true; ripgrep.enable = true; }; xdg.configFile = let variants = ["Latte" "Frappe" "Macchiato" "Mocha"]; mkVariant = variant: let fname = "catppuccin${variant}.tmTheme"; in { name = "bat/themes/${fname}"; value = {source = ./. + "/${fname}";}; }; in builtins.listToAttrs (lib.lists.forEach variants mkVariant); }