2023-04-06 09:31:23 +08:00
|
|
|
{ inputs, outputs, lib, config, pkgs, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
fzf # command-line fuzzy finder
|
|
|
|
];
|
|
|
|
|
|
|
|
programs.zsh = {
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
# Enable extra features
|
|
|
|
enableAutosuggestions = true;
|
|
|
|
enableCompletion = true;
|
2023-05-24 13:50:31 +08:00
|
|
|
enableSyntaxHighlighting = true;
|
2023-04-06 09:31:23 +08:00
|
|
|
dotDir = ".config/zsh";
|
|
|
|
|
|
|
|
# Commands that should be added to to top of '.zshrc'
|
|
|
|
initExtraFirst = ''
|
|
|
|
'';
|
|
|
|
|
|
|
|
# Aliases
|
|
|
|
shellAliases = {
|
|
|
|
c = "clear";
|
|
|
|
hm = "cd ~/";
|
|
|
|
tp = "trash-put";
|
|
|
|
ud = "cd ..";
|
|
|
|
la = "ls -a";
|
|
|
|
ll = "ls -l";
|
2023-04-23 05:48:20 +08:00
|
|
|
tt = "wezterm cli set-tab-title ";
|
2023-04-06 09:31:23 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
# An attribute set that adds to named directory hash table
|
|
|
|
dirHashes = {
|
|
|
|
# QMK Keymaps
|
2023-05-27 14:38:14 +08:00
|
|
|
crkbd = "$HOME/Projects/qmk_keymaps/keyboards/crkbd/keymaps/sajenim";
|
|
|
|
kchrn = "$HOME/Projects/qmk_keymaps/keyboards/keychron/q4/ansi_v2/keymaps/sajenim";
|
2023-04-06 09:31:23 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
# Install plugins
|
|
|
|
plugins = [
|
|
|
|
{
|
|
|
|
name = "fzf-tab";
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
|
|
owner = "Aloxaf";
|
|
|
|
repo = "fzf-tab";
|
|
|
|
rev = "5a81e13792a1eed4a03d2083771ee6e5b616b9ab";
|
|
|
|
sha256 = "dPe5CLCAuuuLGRdRCt/nNruxMrP9f/oddRxERkgm1FE=";
|
|
|
|
};
|
|
|
|
}
|
|
|
|
];
|
|
|
|
|
|
|
|
# Extra commands that should be added to '.zshrc'
|
|
|
|
initExtra = ''
|
2023-07-25 11:12:02 +08:00
|
|
|
eval "$(direnv hook zsh)"
|
2023-04-25 08:05:32 +08:00
|
|
|
source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh
|
2023-11-05 22:03:13 +08:00
|
|
|
PROMPT='%F{blue}%n@%m %F{cyan}%~ %F{red}♥ %f';
|
2023-04-06 09:31:23 +08:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|