92 lines
2.6 KiB
Nix
92 lines
2.6 KiB
Nix
{ pkgs, ... }: {
|
|
|
|
home.packages = with pkgs; [
|
|
meslo-lgs-nf
|
|
];
|
|
|
|
programs = {
|
|
zoxide.enable = true;
|
|
eza.enable = true;
|
|
fzf.enable = true;
|
|
zsh = {
|
|
enable = true;
|
|
enableCompletion = true;
|
|
autosuggestion.enable = true;
|
|
syntaxHighlighting.enable = true;
|
|
history.size = 100000000;
|
|
|
|
shellAliases = {
|
|
cd = "z";
|
|
ls = "eza";
|
|
awkuniq = "sort | uniq";
|
|
histogram = "awkuniq -c | sort -nr";
|
|
json-less = "jq -C . | less -R";
|
|
csv2json = "python -c 'import csv, json, sys; print(json.dumps([dict(r) for r in csv.DictReader(sys.stdin)]))'";
|
|
|
|
# Server user/address aliases
|
|
r330-idrac = "bw-ssh iDRAC root@192.168.100.11 racadm";
|
|
r730xd-idrac = "bw-ssh iDRAC root@192.168.100.12 racadm";
|
|
ideapad = "ssh root@192.168.100.20";
|
|
r330-proxmox = "ssh root@192.168.100.21";
|
|
r730xd-proxmox = "ssh root@192.168.100.22";
|
|
r330-media = "ssh media@192.168.100.40";
|
|
r330-logging = "ssh logging@192.168.100.41";
|
|
sampledb-dev = "ssh sampledb@192.168.100.42";
|
|
mindforge = "ssh mindforge@mindforge.randomctf.local";
|
|
|
|
# Nix Specific aliases
|
|
update-darwin = "darwin-rebuild switch --flake ~/dotfiles";
|
|
update-config = "sudo nixos-rebuild switch --flake ~/dotfiles";
|
|
update-home = "home-manager switch --flake ~/dotfiles";
|
|
update-all = "update-config && update-home";
|
|
};
|
|
|
|
initExtraBeforeCompInit = ''
|
|
[[ $TERM == "dumb" ]] && unsetopt zle && PS1='$ ' && return
|
|
'';
|
|
|
|
initExtra = ''
|
|
export PATH=$PATH:~/.cargo/bin
|
|
function .. { cd .. }
|
|
function ... { cd ../.. }
|
|
function .... { cd ../../.. }
|
|
function ..... { cd ../../../../.. }
|
|
function ...... { cd ../../../../../.. }
|
|
function ....... { cd ../../../../../../.. }
|
|
|
|
if [[ "$(uname)" == "Darwin" ]]; then
|
|
source <(/opt/homebrew/bin/brew shellenv)
|
|
fi
|
|
|
|
if [[ -n "$SSH_CONNECTION" && "$TERM" == "ghostty" ]]; then
|
|
export TERM="xterm-256color"
|
|
fi
|
|
'';
|
|
|
|
plugins = [
|
|
{
|
|
name = "custom-functions";
|
|
src = ../../dotfiles;
|
|
file = ".functions.zsh";
|
|
}
|
|
{
|
|
name = "powerlevel10k-config";
|
|
src = ../../dotfiles;
|
|
file = ".p10k.zsh";
|
|
}
|
|
];
|
|
|
|
zplug = {
|
|
enable = true;
|
|
plugins = [
|
|
{ name = "romkatv/powerlevel10k"; tags = [ as:theme depth:1 ]; }
|
|
];
|
|
};
|
|
};
|
|
};
|
|
|
|
home.file = {
|
|
".functions.zsh".source ../../dotfiles/.functions.zsh;
|
|
}
|
|
}
|