-
Notifications
You must be signed in to change notification settings - Fork 57
/
Copy pathsh.nix
50 lines (46 loc) · 1.18 KB
/
sh.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{ pkgs, ... }:
let
# My shell aliases
myAliases = {
ls = "eza --icons -l -T -L=1";
cat = "bat";
htop = "btm";
fd = "fd -Lu";
w3m = "w3m -no-cookie -v";
neofetch = "disfetch";
fetch = "disfetch";
gitfetch = "onefetch";
"," = "comma";
};
in
{
programs.zsh = {
enable = true;
enableAutosuggestions = true;
syntaxHighlighting.enable = true;
enableCompletion = true;
shellAliases = myAliases;
initExtra = ''
PROMPT=" ◉ %U%F{magenta}%n%f%u@%U%F{blue}%m%f%u:%F{yellow}%~%f
%F{green}→%f "
RPROMPT="%F{red}▂%f%F{yellow}▄%f%F{green}▆%f%F{cyan}█%f%F{blue}▆%f%F{magenta}▄%f%F{white}▂%f"
[ $TERM = "dumb" ] && unsetopt zle && PS1='$ '
bindkey '^P' history-beginning-search-backward
bindkey '^N' history-beginning-search-forward
'';
};
programs.bash = {
enable = true;
enableCompletion = true;
shellAliases = myAliases;
};
home.packages = with pkgs; [
disfetch lolcat cowsay onefetch
gnugrep gnused
bat eza bottom fd bc
direnv nix-direnv
];
programs.direnv.enable = true;
programs.direnv.enableZshIntegration = true;
programs.direnv.nix-direnv.enable = true;
}