feat(nix): Convert to a flake
This commit is contained in:
parent
fc0e1e67d2
commit
8248b8c658
4 changed files with 382 additions and 203 deletions
73
README.md
73
README.md
|
@ -1,3 +1,74 @@
|
|||
# zsh-nix
|
||||
|
||||
My home-manager zsh config
|
||||
A [`home-manager`]() flake containing my [`zsh`]() config.
|
||||
|
||||
## Usage
|
||||
|
||||
```nix
|
||||
{
|
||||
# Add this flake to your inputs
|
||||
inputs = {
|
||||
zsh-config.url = "/home/jirka/Projects/zsh-nix/";
|
||||
...
|
||||
}
|
||||
...
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
zsh-config, # Don't forget to import it
|
||||
...
|
||||
}
|
||||
...
|
||||
# Then add it to your homeConfigurations
|
||||
homeConfigurations = {
|
||||
"user@hostname" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||
extraSpecialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
...
|
||||
zsh-config.home-managerModule
|
||||
...
|
||||
];
|
||||
};
|
||||
```
|
||||
|
||||
# ZSH Configuration Flake
|
||||
|
||||
This flake provides a ZSH configuration with various plugins,
|
||||
syntax highlighting, enhanced file handling, etc.
|
||||
|
||||
## Overview
|
||||
|
||||
### Notable plugins
|
||||
|
||||
- **`zsh-autosuggestions`**: Provides suggestions as you type based on your command history.
|
||||
- **`zsh-you-should-use`**: Reminds you to use aliases for commands you frequently type.
|
||||
It helps you streamline your workflow.
|
||||
- **`ssh-connect`**: A utility for managing SSH connections and quickly switching between them.
|
||||
- **`enhancd`**: Improves directory navigation with fuzzy search, similar to `zsh-z`.
|
||||
- **`zsh-completions`**: Adds missing completions for various tools.
|
||||
- **`powerlevel10k`**: A highly customizable ZSH theme that gives you a clean
|
||||
and modern look with useful information in your prompt.
|
||||
- **`git` plugin**: Provides consistent, intuitive aliases
|
||||
and extra functions for common Git commands, improving workflow efficiency.
|
||||
|
||||
### Packages
|
||||
|
||||
This flake includes some useful packages:
|
||||
|
||||
- **`nix-zsh-completions`**: ZSH completions for Nix, NixOS, and NixOps.
|
||||
- **`asciinema`**: Terminal recording tool.
|
||||
- **`libnotify`**: Provides notifications for terminal events.
|
||||
- **`websocat`**: Used for streaming asciinema recordings in v2 format.
|
||||
- **`tldr`**: Community-driven simplified man pages for faster reference.
|
||||
- **`lsd`**: A next-generation `ls` command with improved features.
|
||||
- **`bat`**: A `cat` clone with syntax highlighting and Git integration.
|
||||
- **`eza`**: A modern, maintained replacement for `ls`.
|
||||
- **`trash-cli`**: Command line interface to the Freedesktop.org trashcan.
|
||||
|
||||
### Other
|
||||
|
||||
- **`ex`**: A shell function to extract various archive formats.
|
||||
- Supported formats include `.tar.bz2`, `.zip`, `.rar`, `.gz`, and more.
|
||||
|
||||
|
|
78
flake.lock
Normal file
78
flake.lock
Normal file
|
@ -0,0 +1,78 @@
|
|||
{
|
||||
"nodes": {
|
||||
"fast-syntax-highlighting": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1702802089,
|
||||
"narHash": "sha256-AEeGEx2vyyHVS92Nla7XoqSx3rTpQHYwPMrK1jFH1Mg=",
|
||||
"owner": "z-shell",
|
||||
"repo": "F-Sy-H",
|
||||
"rev": "3dea11a9018061e6e3a77e529b79e5654679d3a0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "z-shell",
|
||||
"repo": "F-Sy-H",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1728888510,
|
||||
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"fast-syntax-highlighting": "fast-syntax-highlighting",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
232
flake.nix
Normal file
232
flake.nix
Normal file
|
@ -0,0 +1,232 @@
|
|||
{
|
||||
description = "jiriks74's ZSH configuration";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
flake-utils,
|
||||
...
|
||||
} @ inputs:
|
||||
{
|
||||
home-managerModule = { config, lib, pkgs, ... }: {
|
||||
home.packages = with pkgs;[
|
||||
nix-zsh-completions
|
||||
|
||||
asciinema # Terminal recording
|
||||
libnotify # Notifications
|
||||
websocat # For asciinema v2 streams
|
||||
|
||||
tldr
|
||||
lsd
|
||||
bat
|
||||
eza
|
||||
trash-cli
|
||||
fzf # enhancd
|
||||
fd # enhancd
|
||||
# rofi # for fd
|
||||
gnutar # ex
|
||||
bzip3 # ex
|
||||
unzip # ex
|
||||
p7zip # ex
|
||||
unrar # ex
|
||||
gzip # ex
|
||||
];
|
||||
|
||||
programs = {
|
||||
# nix-index = {
|
||||
# enable = true;
|
||||
# enableZshIntegration = true;
|
||||
# };
|
||||
# thefuck = {
|
||||
# enable = true;
|
||||
# enableZshIntegration = true;
|
||||
# };
|
||||
direnv = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
zplug = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
{ name = "romkatv/powerlevel10k"; tags = [ "as:theme" "depth:1" ]; } # Installations with additional options. For the list of options, please refer to Zplug README.
|
||||
{ name = "z-shell/F-Sy-H"; } # Feature-rich Syntax Highlighting for Zsh
|
||||
# { name = "zsh-users/zsh-syntax-highlighting"; }
|
||||
{ name = "zsh-users/zsh-completions"; } # Adds some missing completions to zsh
|
||||
{ name = "zsh-users/zsh-autosuggestions"; } # Simple plugin installation
|
||||
{ name = "MichaelAquilina/zsh-you-should-use"; } # Did you forget to use an alias?
|
||||
{ name = "davidde/git"; } # Aliases for git
|
||||
{ name = "babarot/enhancd"; tags = [ "use:init.sh" ]; } # Includes simmilar functionality to zsh-z
|
||||
{ name = "supercrabtree/k"; } # Directory listings for Zsh with git features.
|
||||
{ name = "plugins/command-not-found"; tags = [ "from:oh-my-zsh" ]; }
|
||||
{ name = "gko/ssh-connect"; tags = [ "use:ssh-connect.sh" ]; } # List of most used ssh connections
|
||||
{ name = "agkozak/zsh-z"; } # Jump arount your filesystem with ease
|
||||
{ name = "sineto/web-search"; }
|
||||
{ name = "zsh-users/zaw"; } # Desctiptions for command outputs (afaik)zplug "plugins/git", from:oh-my-zsh
|
||||
# { name = "plugins/dirhistory"; tags = [ "from:oh-my-zsh" ]; }
|
||||
];
|
||||
};
|
||||
|
||||
initExtraFirst = ''
|
||||
if [[ "''${ZSH_PROFILE}" -eq 1 ]]; then
|
||||
zmodload zsh/zprof # Profiling. Enable `zprof` at the end of initExtra too.
|
||||
else
|
||||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||
# Initialization code that may require console input (password prompts, [y/n]
|
||||
# confirmations, etc.) must go above this block; everything else may go below.
|
||||
if [[ -r "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh" ]]; then
|
||||
source "''${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-''${(%):-%n}.zsh"
|
||||
fi
|
||||
fi
|
||||
'';
|
||||
|
||||
initExtra = ''
|
||||
# Remove nix from path if we are in a container (distrobox)
|
||||
if [ -v DISTROBOX_ENTER_PATH ]; then
|
||||
export PATH=$(echo $PATH | tr ':' '\n' | grep -vE '/nix/|/run/wrappers|\.nix-profile|/etc/profiles/per-user/jirka/bin|/run/current-system/sw/bin' | tr '\n' ':')
|
||||
export PATH=$(echo $PATH | sed 's/:$//')
|
||||
fi
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
|
||||
export YSU_MESSAGE_POSITION="after" # you-should-use plugin
|
||||
export ASCIINEMA_API_URL=https://asciinema.stefka.eu
|
||||
if [ -v ASCIINEMA_REC ]; then
|
||||
_zsh_autosuggest_disable
|
||||
fi
|
||||
|
||||
# Basic auto/tab complete:
|
||||
autoload -U compinit
|
||||
zstyle ':completion:*' menu select
|
||||
zmodload zsh/complist
|
||||
compinit
|
||||
_comp_options+=(globdots) # Include hidden files.
|
||||
|
||||
# Custom ZSH Binds
|
||||
bindkey '^ ' autosuggest-accept
|
||||
bindkey "^[[H" beginning-of-line
|
||||
bindkey "^[[F" end-of-line
|
||||
bindkey "^[[1;5C" forward-word
|
||||
bindkey "^[[1;5D" backward-word
|
||||
bindkey "^[[3~" delete-char
|
||||
|
||||
# Extracting
|
||||
ex ()
|
||||
{
|
||||
if [ -f $1 ] ; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xjf $1 ;;
|
||||
*.tar.gz) tar xzf $1 ;;
|
||||
*.tar.xz) tar xJf $1 ;;
|
||||
*.bz2) bunzip3 $1 ;;
|
||||
*.rar) unrar x $1 ;;
|
||||
*.gz) gunzip $1 ;;
|
||||
*.tar) tar xf $1 ;;
|
||||
*.tbz2) tar xjf $1 ;;
|
||||
*.tgz) tar xzf $1 ;;
|
||||
*.zip) unzip $1 ;;
|
||||
*.Z) uncompress $1;;
|
||||
*.7z) 7z x $1 ;;
|
||||
*) echo "'$1' cannot be extracted via ex()" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file"
|
||||
fi
|
||||
}
|
||||
|
||||
# Kitty binds
|
||||
if [ "$TERM" = "xterm-kitty" ]; then
|
||||
alias ssh="kitty +kitten ssh"
|
||||
alias icat="kitty +kitten icat"
|
||||
alias d="kitty +kitten diff"
|
||||
alias get="kitty +kitten transfer"
|
||||
alias put="kitty +kitten transfer --direction=upload"
|
||||
alias kclip="kitty +kitten clipboard"
|
||||
fi
|
||||
|
||||
# Special aliases that may not work with Nix config
|
||||
# Command line head / tail shortcuts
|
||||
alias H="| head";
|
||||
alias T="| tail";
|
||||
alias G="| grep";
|
||||
alias L="| less";
|
||||
alias M="| most";
|
||||
alias LL="2>&1 | less";
|
||||
alias CA="2>&1 | cat -A";
|
||||
alias NE="2> /dev/null";
|
||||
alias NUL="> /dev/null 2>&1";
|
||||
alias P="2>&1| pygmentize -l pytb";
|
||||
if [[ "''${ZSH_PROFILE}" -eq 1 ]]; then
|
||||
zprof
|
||||
fi
|
||||
'';
|
||||
|
||||
shellAliases = {
|
||||
cat = "${pkgs.bat}/bin/bat -p";
|
||||
# update = "sudo nixos-rebuild switch";
|
||||
|
||||
ls="lsd";
|
||||
# ls, the common ones I use a lot shortened for rapid fire usage
|
||||
l="ls -lFh"; #size,show type,human readable
|
||||
la="ls -lAFh"; #long list,show almost all,show type,human readable
|
||||
lr="ls -tRFh"; #sorted by date,recursive,show type,human readable
|
||||
lt="ls -ltFh"; #long list,sorted by date,show type,human readable
|
||||
ll="ls -l"; #long list
|
||||
ldot="ls -ld .*";
|
||||
lS="ls -1FSsh";
|
||||
lart="ls -1Fcart";
|
||||
lrt="ls -1Fcrt";
|
||||
|
||||
grep="grep --color";
|
||||
sgrep="grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS} ";
|
||||
|
||||
t="tail -f";
|
||||
|
||||
dud="du -d 1 -h";
|
||||
duf="du -sh *";
|
||||
# fd="find . -type d -name";
|
||||
ff="find . -type f -name";
|
||||
|
||||
h="history";
|
||||
hgrep="fc -El 0 | grep";
|
||||
help="man";
|
||||
p="ps -f";
|
||||
sortnr="sort -n -r";
|
||||
unexport="unset";
|
||||
|
||||
# Use trash instead of rm if available
|
||||
rm="trash";
|
||||
cp="cp -i";
|
||||
mv="mv -i";
|
||||
|
||||
cls="clear";
|
||||
|
||||
sshc="ssh-connect";
|
||||
};
|
||||
|
||||
history = {
|
||||
# ignoreAllDups = true;
|
||||
path = "${config.xdg.cacheHome}/zhistory";
|
||||
save = 10000;
|
||||
size = 10000;
|
||||
# share = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.file = {
|
||||
# ".zprofile".source = ./zprofile;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
202
zsh.nix
202
zsh.nix
|
@ -1,202 +0,0 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
programs.thefuck = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
enableZshIntegration = true; # see note on other shells below
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
|
||||
zplug = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
{ name = "zsh-users/zsh-autosuggestions"; } # Simple plugin installation
|
||||
{ name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; } # Installations with additional options. For the list of options, please refer to Zplug README.
|
||||
{ name = "zsh-users/zsh-syntax-highlighting"; }
|
||||
{ name = "MichaelAquilina/zsh-you-should-use"; } # Did you forget to use an alias?
|
||||
{ name = "gko/ssh-connect"; tags = [ use:ssh-connect.sh ]; } # List of most used ssh connections
|
||||
{ name = "sineto/web-search"; }
|
||||
{ name = "plugins/dirhistory"; tags = [ from:oh-my-zsh ]; }
|
||||
{ name = "plugins/command-not-found"; tags = [ from:oh-my-zsh ]; }
|
||||
{ name = "davidde/git"; } # Aliases for git
|
||||
{ name = "agkozak/zsh-z"; } # Jump arount your filesystem with ease
|
||||
{ name = "babarot/enhancd"; tags = [ use:init.sh ]; } # Includes simmilar functionality to zsh-z
|
||||
{ name = "zsh-users/zsh-completions"; } # Adds some missing completions to zsh
|
||||
{ name = "zsh-users/zaw"; } # Desctiptions for command outputs (afaik)zplug "plugins/git", from:oh-my-zsh
|
||||
{ name = "supercrabtree/k"; } # Directory listings for Zsh with git features.
|
||||
];
|
||||
};
|
||||
|
||||
initExtra = ''
|
||||
# Remove nix from path if we are in a container (distrobox)
|
||||
if [ -v DISTROBOX_ENTER_PATH ]; then
|
||||
export PATH=$(echo $PATH | tr ':' '\n' | grep -vE '/nix/|/run/wrappers|\.nix-profile|/etc/profiles/per-user/jirka/bin|/run/current-system/sw/bin' | tr '\n' ':')
|
||||
export PATH=$(echo $PATH | sed 's/:$//')
|
||||
fi
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
# case $(tty) in
|
||||
# (/dev/tty[1-9]) PS1='console version';;
|
||||
# (*) PS1='not console version';;
|
||||
# esac
|
||||
|
||||
# if [[ -n $DISPLAY != "" ]]; then
|
||||
# if (( $\{+DISPLAY} )); then
|
||||
# [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||
# else
|
||||
# # [[ ! -f ~/.p10k-tty.zsh ]] || source ~/.p10k-tty.zsh
|
||||
# source ~/.p10k-tty.zsh
|
||||
# fi
|
||||
|
||||
export YSU_MESSAGE_POSITION="after"
|
||||
|
||||
eval $(thefuck --alias)
|
||||
export ASCIINEMA_API_URL=https://asciinema.stefka.eu
|
||||
if [ -v ASCIINEMA_REC ]; then
|
||||
_zsh_autosuggest_disable
|
||||
fi
|
||||
export YSU_MESSAGE_POSITION="after" # you-should-use plugin
|
||||
|
||||
# Basic auto/tab complete:
|
||||
autoload -U compinit
|
||||
zstyle ':completion:*' menu select
|
||||
zmodload zsh/complist
|
||||
compinit
|
||||
_comp_options+=(globdots) # Include hidden files.
|
||||
|
||||
# Custom ZSH Binds
|
||||
bindkey '^ ' autosuggest-accept
|
||||
bindkey "^[[H" beginning-of-line
|
||||
bindkey "^[[F" end-of-line
|
||||
bindkey "^[[1;5C" forward-word
|
||||
bindkey "^[[1;5D" backward-word
|
||||
bindkey "^[[3~" delete-char
|
||||
|
||||
# Extracting
|
||||
ex ()
|
||||
{
|
||||
if [ -f $1 ] ; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xjf $1 ;;
|
||||
*.tar.gz) tar xzf $1 ;;
|
||||
*.tar.xz) tar xJf $1 ;;
|
||||
*.bz2) bunzip2 $1 ;;
|
||||
*.rar) unrar x $1 ;;
|
||||
*.gz) gunzip $1 ;;
|
||||
*.tar) tar xf $1 ;;
|
||||
*.tbz2) tar xjf $1 ;;
|
||||
*.tgz) tar xzf $1 ;;
|
||||
*.zip) unzip $1 ;;
|
||||
*.Z) uncompress $1;;
|
||||
*.7z) 7z x $1 ;;
|
||||
*) echo "'$1' cannot be extracted via ex()" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file"
|
||||
fi
|
||||
}
|
||||
|
||||
# Kitty binds
|
||||
if [ "$TERM" = "xterm-kitty" ]; then
|
||||
alias ssh="kitty +kitten ssh"
|
||||
alias icat="kitty +kitten icat"
|
||||
alias d="kitty +kitten diff"
|
||||
alias get="kitty +kitten transfer"
|
||||
alias put="kitty +kitten transfer --direction=upload"
|
||||
alias kclip="kitty +kitten clipboard"
|
||||
fi
|
||||
|
||||
# Special aliases that may not work with Nix config
|
||||
# Command line head / tail shortcuts
|
||||
alias H="| head";
|
||||
alias T="| tail";
|
||||
alias G="| grep";
|
||||
alias L="| less";
|
||||
alias M="| most";
|
||||
alias LL="2>&1 | less";
|
||||
alias CA="2>&1 | cat -A";
|
||||
alias NE="2> /dev/null";
|
||||
alias NUL="> /dev/null 2>&1";
|
||||
alias P="2>&1| pygmentize -l pytb";
|
||||
'';
|
||||
|
||||
shellAliases = {
|
||||
update = "sudo nixos-rebuild switch";
|
||||
|
||||
ls="lsd";
|
||||
# ls, the common ones I use a lot shortened for rapid fire usage
|
||||
l="ls -lFh"; #size,show type,human readable
|
||||
la="ls -lAFh"; #long list,show almost all,show type,human readable
|
||||
lr="ls -tRFh"; #sorted by date,recursive,show type,human readable
|
||||
lt="ls -ltFh"; #long list,sorted by date,show type,human readable
|
||||
ll="ls -l"; #long list
|
||||
ldot="ls -ld .*";
|
||||
lS="ls -1FSsh";
|
||||
lart="ls -1Fcart";
|
||||
lrt="ls -1Fcrt";
|
||||
|
||||
grep="grep --color";
|
||||
sgrep="grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS} ";
|
||||
|
||||
t="tail -f";
|
||||
|
||||
dud="du -d 1 -h";
|
||||
duf="du -sh *";
|
||||
# fd="find . -type d -name";
|
||||
ff="find . -type f -name";
|
||||
|
||||
h="history";
|
||||
hgrep="fc -El 0 | grep";
|
||||
help="man";
|
||||
p="ps -f";
|
||||
sortnr="sort -n -r";
|
||||
unexport="unset";
|
||||
|
||||
# Use trash instead of rm if available
|
||||
rm="trash";
|
||||
cp="cp -i";
|
||||
mv="mv -i";
|
||||
|
||||
cls="clear";
|
||||
|
||||
sshc="ssh-connect";
|
||||
};
|
||||
|
||||
history = {
|
||||
# ignoreAllDups = true;
|
||||
path = "${config.xdg.cacheHome}/zhistory";
|
||||
save = 10000;
|
||||
size = 10000;
|
||||
# share = true;
|
||||
};
|
||||
|
||||
# histSize = 10000;
|
||||
# histFile = "${config.xdg.cacheHome}/zhistory";
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
asciinema # Terminal recording
|
||||
libnotify # Notifications
|
||||
websocat # For asciinema v2 streams
|
||||
|
||||
tldr
|
||||
lsd
|
||||
eza
|
||||
trash-cli
|
||||
fzf # enhancd
|
||||
fd # enhancd
|
||||
# rofi # for fd
|
||||
gnutar # ex
|
||||
bzip2 # ex
|
||||
unzip # ex
|
||||
p7zip # ex
|
||||
gzip # ex
|
||||
];
|
||||
}
|
Loading…
Reference in a new issue