2022-11-20 22:28:23 +00:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
self,
|
|
|
|
...
|
|
|
|
}: let
|
2021-05-30 19:10:28 +00:00
|
|
|
psCfg = config.pub-solar;
|
|
|
|
xdg = config.home-manager.users."${psCfg.user.name}".xdg;
|
2022-11-20 22:28:23 +00:00
|
|
|
in {
|
2021-05-30 19:10:28 +00:00
|
|
|
enable = true;
|
|
|
|
enableAutosuggestions = true;
|
|
|
|
enableCompletion = true;
|
|
|
|
dotDir = ".config/zsh";
|
|
|
|
|
|
|
|
history = {
|
|
|
|
ignoreDups = true;
|
|
|
|
expireDuplicatesFirst = true;
|
|
|
|
ignoreSpace = true;
|
|
|
|
path = "$HOME/.local/share/zsh/zsh_history";
|
|
|
|
save = 10000;
|
|
|
|
size = 10000;
|
|
|
|
};
|
|
|
|
|
2021-11-29 13:10:21 +00:00
|
|
|
loginExtra = ''
|
2022-05-02 18:19:04 +00:00
|
|
|
[ "$(tty)" = "/dev/tty1" ] && exec ${pkgs.sway-service}/bin/sway-service
|
2021-11-29 13:10:21 +00:00
|
|
|
'';
|
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
shellAliases = {
|
|
|
|
nano = "nvim";
|
|
|
|
vi = "nvim";
|
|
|
|
vim = "nvim";
|
|
|
|
mutt = "neomutt";
|
|
|
|
ls = "exa";
|
|
|
|
la = "exa --group-directories-first -lag";
|
|
|
|
fm = "vifm .";
|
|
|
|
vifm = "vifm .";
|
|
|
|
wget = "wget --hsts-file=$XDG_CACHE_HOME/wget-hsts";
|
|
|
|
irssi = "irssi --config=$XDG_CONFIG_HOME/irssi/config --home=$XDG_DATA_HOME/irssi";
|
|
|
|
drone = "DRONE_TOKEN=$(secret-tool lookup drone token) drone";
|
|
|
|
no = "manix \"\" | grep '^# ' | sed 's/^# \(.*\) (.*/\1/;s/ (.*//;s/^# //' | fzf --preview=\"manix '{}'\" | xargs manix";
|
|
|
|
# fix nixos-option
|
2021-10-29 14:43:36 +00:00
|
|
|
nixos-option = "nixos-option -I nixpkgs=${self}/lib/compat";
|
2022-01-31 11:16:36 +00:00
|
|
|
myip = "dig +short myip.opendns.com @208.67.222.222 2>&1";
|
2021-05-30 19:10:28 +00:00
|
|
|
};
|
2022-06-05 01:07:50 +00:00
|
|
|
plugins = [
|
2022-10-18 14:44:00 +00:00
|
|
|
# src gets fetched by nvfetcher, see: ./pkgs/sources.toml
|
2022-06-05 01:07:50 +00:00
|
|
|
{
|
|
|
|
# will source ohmyzsh/plugins/z/
|
|
|
|
name = "zsh-plugins-z";
|
2022-10-18 14:44:00 +00:00
|
|
|
file = "plugins/z/z.plugin.zsh";
|
|
|
|
src = pkgs.sources.ohmyzsh.src;
|
2022-06-05 01:07:50 +00:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "zsh-powerlevel10k";
|
|
|
|
file = "powerlevel10k.zsh-theme";
|
2022-10-18 14:44:00 +00:00
|
|
|
src = pkgs.sources.powerlevel10k.src;
|
2022-06-05 01:07:50 +00:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "zsh-fast-syntax-highlighting";
|
2022-07-17 14:37:09 +00:00
|
|
|
file = "F-Sy-H.plugin.zsh";
|
2022-10-18 14:44:00 +00:00
|
|
|
src = pkgs.sources.F-Sy-H.src;
|
2022-06-05 01:07:50 +00:00
|
|
|
}
|
|
|
|
{
|
|
|
|
name = "zsh-nix-shell";
|
|
|
|
file = "nix-shell.plugin.zsh";
|
2022-10-18 14:44:00 +00:00
|
|
|
src = pkgs.sources.zsh-nix-shell.src;
|
2022-06-05 01:07:50 +00:00
|
|
|
}
|
|
|
|
];
|
2021-05-30 19:10:28 +00:00
|
|
|
|
2022-11-20 22:28:23 +00:00
|
|
|
initExtra =
|
|
|
|
''
|
|
|
|
bindkey -v
|
|
|
|
bindkey -v 'jj' vi-cmd-mode
|
|
|
|
bindkey -a 'i' up-line
|
|
|
|
bindkey -a 'k' down-line
|
|
|
|
bindkey -a 'j' backward-char
|
|
|
|
bindkey -a 'h' vi-insert
|
|
|
|
bindkey '^[[H' beginning-of-line
|
|
|
|
bindkey '^[[F' end-of-line
|
|
|
|
bindkey '^R' history-incremental-pattern-search-backward
|
|
|
|
bindkey '^ ' autosuggest-accept
|
|
|
|
bindkey '^q' push-line-or-edit
|
2021-05-30 19:10:28 +00:00
|
|
|
|
2022-11-20 22:28:23 +00:00
|
|
|
bindkey '^R' fzf-history-widget
|
2021-05-30 19:10:28 +00:00
|
|
|
|
2022-11-20 22:28:23 +00:00
|
|
|
# ArrowUp/Down start searching history with current input
|
|
|
|
autoload -U up-line-or-beginning-search
|
|
|
|
autoload -U down-line-or-beginning-search
|
|
|
|
zle -N up-line-or-beginning-search
|
|
|
|
zle -N down-line-or-beginning-search
|
|
|
|
bindkey "^[[A" up-line-or-beginning-search
|
|
|
|
bindkey "^[[B" down-line-or-beginning-search
|
|
|
|
bindkey "^P" up-line-or-beginning-search
|
|
|
|
bindkey "^N" down-line-or-beginning-search
|
2021-05-30 19:10:28 +00:00
|
|
|
|
2022-11-20 22:28:23 +00:00
|
|
|
# MAKE CTRL+S WORK IN VIM
|
|
|
|
stty -ixon
|
|
|
|
stty erase '^?'
|
2021-05-30 19:10:28 +00:00
|
|
|
|
2022-11-20 22:28:23 +00:00
|
|
|
precmd () {
|
|
|
|
DIR_NAME=$(pwd | sed "s|^$HOME|~|g")
|
|
|
|
echo -e -n "\e]2;$DIR_NAME\e\\"
|
2022-06-04 17:32:12 +00:00
|
|
|
|
2022-11-20 22:28:23 +00:00
|
|
|
if [ $(date +%d%m) = '0104' ]; then
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
echo "Success! That was a great command! I can't wait to see what amazing stuff you'll be up to next."
|
|
|
|
fi
|
2022-06-04 18:29:09 +00:00
|
|
|
fi
|
2022-11-20 22:28:23 +00:00
|
|
|
}
|
2022-04-30 15:51:41 +00:00
|
|
|
|
2022-11-20 22:28:23 +00:00
|
|
|
# If a command is not found, show me where it is
|
|
|
|
source ${pkgs.nix-index}/etc/profile.d/command-not-found.sh
|
|
|
|
''
|
|
|
|
+ builtins.readFile ./base16.zsh
|
|
|
|
+ builtins.readFile ./p10k.zsh
|
|
|
|
+ ''
|
|
|
|
source ${pkgs.fzf}/share/fzf/key-bindings.zsh
|
|
|
|
source ${pkgs.fzf}/share/fzf/completion.zsh
|
|
|
|
source ${pkgs.git-bug}/share/zsh/site-functions/git-bug
|
|
|
|
eval "$(direnv hook zsh)"
|
|
|
|
''
|
|
|
|
+ builtins.readFile ./fzf.zsh;
|
2021-05-30 19:10:28 +00:00
|
|
|
}
|