WIP: Switch to NixOS #5
1 changed files with 85 additions and 16 deletions
|
@ -9,13 +9,16 @@
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
bat
|
bat
|
||||||
cargo
|
cargo
|
||||||
|
eza
|
||||||
fd
|
fd
|
||||||
gcc
|
gcc
|
||||||
|
grc
|
||||||
neovide
|
neovide
|
||||||
nerdfonts
|
nerdfonts
|
||||||
nodejs
|
nodejs
|
||||||
pass
|
pass
|
||||||
ripgrep
|
ripgrep
|
||||||
|
trash-cli
|
||||||
tree-sitter
|
tree-sitter
|
||||||
usbutils
|
usbutils
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
@ -47,7 +50,6 @@
|
||||||
tags = [ "use:pure.zsh" "as:theme" ];
|
tags = [ "use:pure.zsh" "as:theme" ];
|
||||||
}
|
}
|
||||||
{ name = "Aloxaf/fzf-tab"; }
|
{ name = "Aloxaf/fzf-tab"; }
|
||||||
{ name = "zsh-users/zsh-history-substring-search"; }
|
|
||||||
{ name = "wfxr/forgit"; }
|
{ name = "wfxr/forgit"; }
|
||||||
{ name = "zsh-users/zsh-completions"; }
|
{ name = "zsh-users/zsh-completions"; }
|
||||||
{ name = "RobSis/zsh-completion-generator"; }
|
{ name = "RobSis/zsh-completion-generator"; }
|
||||||
|
@ -61,20 +63,6 @@
|
||||||
export PURE_PROMPT_SYMBOL="λ"
|
export PURE_PROMPT_SYMBOL="λ"
|
||||||
export PURE_PROMPT_VICMD_SYMBOL="y"
|
export PURE_PROMPT_VICMD_SYMBOL="y"
|
||||||
|
|
||||||
# history settings
|
|
||||||
export HISTFILE=~/.zsh_history
|
|
||||||
export HISTSIZE=10000
|
|
||||||
export SAVEHIST=10000
|
|
||||||
# Additional settings (source https://jdhao.github.io/2021/03/24/zsh_history_setup)
|
|
||||||
setopt HIST_IGNORE_ALL_DUPS
|
|
||||||
setopt HIST_SAVE_NO_DUPS
|
|
||||||
setopt HIST_REDUCE_BLANKS
|
|
||||||
setopt INC_APPEND_HISTORY_TIME
|
|
||||||
setopt EXTENDED_HISTORY
|
|
||||||
|
|
||||||
# Enable completions for aliases
|
|
||||||
setopt no_complete_aliases
|
|
||||||
|
|
||||||
# fzf settings
|
# fzf settings
|
||||||
export FD_COMMAND='fd -HLt'
|
export FD_COMMAND='fd -HLt'
|
||||||
export FZF_DEFAULT_COMMAND="$FD_COMMAND f"
|
export FZF_DEFAULT_COMMAND="$FD_COMMAND f"
|
||||||
|
@ -84,9 +72,16 @@
|
||||||
export FZF_COMPLETION_TRIGGER='**'
|
export FZF_COMPLETION_TRIGGER='**'
|
||||||
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND --strip-cwd-prefix"
|
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND --strip-cwd-prefix"
|
||||||
export FZF_CTRL_T_OPTS='--preview "bat --color=always --style=numbers --line-range=:500 {}"'
|
export FZF_CTRL_T_OPTS='--preview "bat --color=always --style=numbers --line-range=:500 {}"'
|
||||||
|
_fzf_compgen_path() {
|
||||||
|
resultcmd="$FZF_DEFAULT_COMMAND . $1"
|
||||||
|
eval "''${resultcmd}
|
||||||
|
}
|
||||||
|
_fzf_compgen_dir() {
|
||||||
|
resultcmd="$FZF_ALT_C_COMMAND . $1"
|
||||||
|
eval "''${resultcmd}
|
||||||
|
}
|
||||||
|
|
||||||
# nvim ftw!
|
# nvim ftw!
|
||||||
export EDITOR=nvim
|
|
||||||
export PAGER="$EDITOR -R +\"lua require 'pager'\""
|
export PAGER="$EDITOR -R +\"lua require 'pager'\""
|
||||||
export GIT_PAGER="$EDITOR -c 'set ft=git' -R +\"lua require 'pager'\""
|
export GIT_PAGER="$EDITOR -c 'set ft=git' -R +\"lua require 'pager'\""
|
||||||
export MANPAGER="$EDITOR +\"lua require 'pager'\" +Man!"
|
export MANPAGER="$EDITOR +\"lua require 'pager'\" +Man!"
|
||||||
|
@ -108,7 +103,58 @@
|
||||||
# Rebind fzf to ctrl+f
|
# Rebind fzf to ctrl+f
|
||||||
bindkey '^F' fzf-file-widget
|
bindkey '^F' fzf-file-widget
|
||||||
bindkey '^T' transpose-chars
|
bindkey '^T' transpose-chars
|
||||||
|
|
||||||
|
# Remove grc alias from forgit since it
|
||||||
|
# collides with the grc colorizer
|
||||||
|
unalias grc;
|
||||||
|
|
||||||
|
# Launch or attach zellij to existing session if logging in over ssh
|
||||||
|
if [[ -z "$ZELLIJ" && -n "$SSH_CONNECTION" ]]; then
|
||||||
|
exec zellij attach -c SSH
|
||||||
|
fi
|
||||||
'';
|
'';
|
||||||
|
shellAliases = {
|
||||||
|
# Navigation
|
||||||
|
".." = "cd ..";
|
||||||
|
ls = "eza --icons --git";
|
||||||
|
|
||||||
|
# Editor
|
||||||
|
vi = "nvim";
|
||||||
|
vim = "nvim";
|
||||||
|
dv = "nvim +DiffviewOpen";
|
||||||
|
|
||||||
|
# systemd
|
||||||
|
sc = "systemctl";
|
||||||
|
scu = "systemctl --user";
|
||||||
|
jc = "journalctl";
|
||||||
|
jcu = "journalctl --user";
|
||||||
|
|
||||||
|
# Move to trash instead of remove
|
||||||
|
rm = "trash";
|
||||||
|
|
||||||
|
# git shorthands
|
||||||
|
gc = "git commit";
|
||||||
|
gac = "ga && gc";
|
||||||
|
gs = "git status";
|
||||||
|
gpull = "git pull";
|
||||||
|
gpush = "git push";
|
||||||
|
|
||||||
|
o = "xdg-open";
|
||||||
|
};
|
||||||
|
|
||||||
|
history = {
|
||||||
|
share = true;
|
||||||
|
extended = true;
|
||||||
|
ignoreAllDups = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
historySubstringSearch.enable = true;
|
||||||
|
|
||||||
|
dirHashes = {
|
||||||
|
git = "$HOME/git";
|
||||||
|
dotfiles = "$HOME/git/dotfiles";
|
||||||
|
dl = "$HOME/Downloads";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
fzf = {
|
fzf = {
|
||||||
|
@ -138,5 +184,28 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
zellij = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
settings = {
|
||||||
|
theme = "kanagawa";
|
||||||
|
session_serialization = false;
|
||||||
|
keybinds = {
|
||||||
|
unbind = "Ctrl g";
|
||||||
|
shared_except = {
|
||||||
|
_args = [ "locked" ];
|
||||||
|
"bind \"Ctrl l\"" = {
|
||||||
|
SwitchToMode = "Locked";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
locked = {
|
||||||
|
"bind \"Ctrl l\"" = {
|
||||||
|
SwitchToMode = "Normal";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue