omniflake/home/fish.nix
2023-11-23 18:00:17 +01:00

80 lines
3.5 KiB
Nix

{ config, pkgs, ... }:
{
programs.fish = {
enable = true;
interactiveShellInit = "fish_add_path ${config.xdg.dataHome}/npm/packages/bin";
shellAliases = {
linkbox = "ln -s (pwd) ~/box/";
rloft = "tmux source-file ~/.config/tmux/rloft.conf";
liftbox = "rsync -vaL --delete ~/box/ tstraube@login.server.uni-frankfurt.de:box/";
ktiubox = "rsync -vaL --delete ~/box/ root@ktiu.net:/var/www/html/box/";
ymd = "date +'%Y-%m-%d'";
pulluni = "ssh tstraube@login.server.uni-frankfurt.de \"cd uni-tstraube && git pull\"";
pullstat = "ssh tstraube@login.server.uni-frankfurt.de \"cd statistik && git pull\"";
pullds = "ssh tstraube@login.server.uni-frankfurt.de \"cd ds23 && git pull\"";
pullmla = "ssh tstraube@login.server.uni-frankfurt.de \"cd malta23 && git pull\"";
pulldkg = "ssh till@geocom.uni-frankfurt.de \"cd /var/www/dkg_lp && git pull\"";
pullgrid = "ssh till@geocom.uni-frankfurt.de \"cd /var/www/grid && git pull\"";
pullsneak = "ssh till@geocom.uni-frankfurt.de \"cd /var/www/dkg_lp_prev && git pull\"";
pullkhole = "ssh root@ktiu.net \"cd /var/www/karaoke && git pull\"";
buildfk = "curl -X POST -d '{}' https://api.netlify.com/build_hooks/61669ddfeaa3cccc44e752ea";
showbox = "chromium-browser -app=https://user.uni-frankfurt.de/~tstraube/box";
showc = "chromium-browser -app=https://user.uni-frankfurt.de/~tstraube/c/";
castget = "castget -pvC ~/.config/castget/castget.conf";
castsync = "mv -v ~/.local/share/podcasts/* /run/media/till/CLIP\\ JAM/Podcasts/";
univpn = "secret-tool lookup server uni-frankfurt.de account tstraube | sudo openconnect --config=/home/till/.config/openconnect/config --passwd-on-stdin";
};
shellAbbrs = {
openconnect = "openconnect --config=/home/till/.config/openconnect/config";
};
shellInit = ''
set -gx EDITOR "nvim"
set -gx VISUAL "nvim"
function fish_greeting; end
function startrloft --description 'Starts R with custom environment'
set -lx R_ENVIRON_USER "~/.config/rloft/RLoft_environ"
R -q
end
function vd --wraps vim --description 'vim with date in filename'
nvim (ymd)_$argv.md
end
function note --description 'Create a new note'
nvim -c "call CreateNote('$argv')"
end
set -U fish_prompt_pwd_dir_length 0
function fish_prompt --description "Write out the prompt"
echo -s (set_color brblack) (basename $PWD) (set_color normal) (set_color magenta) ' $ ' (set_color normal)
end
function fish_right_prompt --description "Display info to the right of the prompt"
echo -s (__fish_git_prompt)
end
function fish_mode_prompt; end
set fish_cursor_default line blink
set __fish_git_prompt_showdirtystate 'yes'
set __fish_git_prompt_showstashstate 'yes'
set __fish_git_prompt_showuntrackedfiles 'yes'
set __fish_git_prompt_showupstream 'yes'
set __fish_git_prompt_color_upstream_ahead green
set __fish_git_prompt_color_upstream_behind red
set __fish_git_prompt_char_dirtystate '*'
set __fish_git_prompt_char_stagedstate ''
set __fish_git_prompt_char_untrackedfiles ''
set __fish_git_prompt_char_stashstate ''
set __fish_git_prompt_char_upstream_ahead '+'
set __fish_git_prompt_char_upstream_behind '-'
test -f '/home/till/.config/netlify/helper/path.fish.inc' && source '/home/till/.config/netlify/helper/path.fish.inc'
'';
};
}