2024-05-11 17:05:42 +01:00
|
|
|
{
|
|
|
|
lib,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}: {
|
2024-05-11 17:30:56 +01:00
|
|
|
imports = [
|
|
|
|
./git.nix
|
2024-05-20 09:35:15 +01:00
|
|
|
./ssh.nix
|
|
|
|
./starship.nix
|
2024-05-11 17:30:56 +01:00
|
|
|
./bottom.nix
|
2024-05-20 09:17:43 +01:00
|
|
|
./zellij.nix
|
2024-05-11 17:30:56 +01:00
|
|
|
];
|
2024-05-11 17:05:42 +01:00
|
|
|
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);
|
|
|
|
programs = {
|
|
|
|
bash.enable = true;
|
|
|
|
bat = {
|
|
|
|
enable = true;
|
|
|
|
config.theme = "catppuccinMocha";
|
|
|
|
};
|
|
|
|
eza = {
|
|
|
|
enable = true;
|
|
|
|
enableAliases = true;
|
|
|
|
git = true;
|
|
|
|
icons = true;
|
|
|
|
extraOptions = ["--octal-permissions"];
|
|
|
|
};
|
|
|
|
direnv = {
|
|
|
|
enable = true;
|
|
|
|
nix-direnv.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";
|
|
|
|
};
|
|
|
|
zsh = {
|
|
|
|
enable = true;
|
|
|
|
enableCompletion = true;
|
|
|
|
enableAutosuggestions = true;
|
|
|
|
enableVteIntegration = true;
|
|
|
|
autocd = true;
|
2024-05-16 22:13:09 +01:00
|
|
|
defaultKeymap = "emacs";
|
|
|
|
syntaxHighlighting = {
|
|
|
|
enable = true;
|
|
|
|
highlighters = ["brackets" "cursor"];
|
|
|
|
};
|
2024-05-11 17:05:42 +01:00
|
|
|
historySubstringSearch.enable = true;
|
|
|
|
history = {
|
|
|
|
extended = true;
|
2024-05-16 22:13:09 +01:00
|
|
|
share = true;
|
2024-05-11 17:05:42 +01:00
|
|
|
ignoreDups = true;
|
2024-05-16 22:13:09 +01:00
|
|
|
ignoreAllDups = true;
|
2024-05-11 17:05:42 +01:00
|
|
|
ignoreSpace = true;
|
2024-05-16 22:13:09 +01:00
|
|
|
expireDuplicatesFirst = true;
|
2024-05-11 17:05:42 +01:00
|
|
|
};
|
2024-05-13 07:22:02 +01:00
|
|
|
shellAliases = {
|
2024-05-25 07:04:59 +01:00
|
|
|
nixos-switch = "sudo nixos-rebuild switch --flake flake:my-nixos --show-trace";
|
|
|
|
home-manager-switch = "nix run flake:my-home-manager -- switch --flake flake:my-home-manager --show-trace";
|
2024-05-13 07:22:02 +01:00
|
|
|
};
|
2024-05-16 22:13:09 +01:00
|
|
|
initExtra = ''
|
|
|
|
## completion config and styling
|
|
|
|
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
|
|
|
zstyle ':completion:*' menu 'select=long-list'
|
2024-05-11 17:05:42 +01:00
|
|
|
|
2024-05-16 22:13:09 +01:00
|
|
|
## transient prompt
|
|
|
|
source ${./transient.zsh}
|
2024-05-11 17:05:42 +01:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|