1
0
Fork 0
dotfiles/programs/fish.nix

138 lines
4 KiB
Nix
Raw Normal View History

2021-12-06 22:35:29 +00:00
{ pkgs, ... }:
{
programs.fish = {
enable = true;
plugins = [
{
name = "foreign-env";
src = pkgs.fetchFromGitHub {
owner = "oh-my-fish";
repo = "plugin-foreign-env";
rev = "dddd9213272a0ab848d474d0cbde12ad034e65bc";
sha256 = "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs";
};
}
{
name = "dracula";
src = pkgs.fetchFromGitHub {
owner = "dracula";
repo = "fish";
rev = "28db361b55bb49dbfd7a679ebec9140be8c2d593";
sha256 = "vdqYlEyYvlPVgTkwXbE8GVZo0UBBT88JyMSWYykhfx4=";
};
}
2022-01-10 11:28:26 +00:00
2022-01-22 23:14:12 +00:00
{
name = "ssh-agent-macos";
src = pkgs.fetchFromGitHub {
owner = "nifoc";
repo = "ssh-agent-macos.fish";
2022-02-10 21:18:45 +00:00
rev = "a9dde730a462b3b327cabf1a56a643a12b0aea3d";
sha256 = "e0YrQzcgkHvFiYuXluS+TZ/hjDneK33xcWbo7sjXWNA=";
2022-01-22 23:14:12 +00:00
};
}
2022-01-10 11:28:26 +00:00
{
name = "fzf-fish";
src = pkgs.fetchFromGitHub {
owner = "PatrickF1";
repo = "fzf.fish";
rev = "v.7.4";
sha256 = "dngAKzyD+lmqmxsCSOMViyCgA/+Ve35gLtPS+Lgs8Pc=";
};
}
{
name = "autopair-fish";
src = pkgs.fetchFromGitHub {
owner = "jorgebucaran";
repo = "autopair.fish";
rev = "1.0.3";
sha256 = "l6WJ2kjDO/TnU9FSigjxk5xFp90xl68gDfggkE/wrlM=";
};
}
{
name = "colored_man_pages";
src = pkgs.fetchFromGitHub {
owner = "PatrickF1";
repo = "colored_man_pages.fish";
rev = "8c4965b9be9433d12ba50c28452cab8c71c59a50";
sha256 = "jhvC9wTU/mUwEaKeepsUEJsvVuCiO/opcp09SzkItV8=";
};
}
2021-12-06 22:35:29 +00:00
];
shellAliases = {
2022-02-03 22:35:52 +00:00
drsw = "nix-darwin-switch";
2021-12-06 22:35:29 +00:00
j = "z";
ji = "zi";
la = "exa --long --all --group --header --group-directories-first --sort=type --icons";
lg = "exa --long --all --group --header --git";
lt = "exa --long --all --group --header --tree --level ";
2021-12-29 23:55:41 +00:00
docker = "podman";
2022-01-11 22:13:08 +00:00
sshfb = "env TERM=xterm-256color /usr/bin/ssh";
2021-12-12 18:19:28 +00:00
ytdl = "ytdl_with_options";
ytdl_mp4 = "ytdl_with_options -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]'";
yti = "ytdl_with_options -F";
upa = "nix flake update ~/.config/nixpkgs -v";
2021-12-06 22:35:29 +00:00
upn = "$HOME/.config/nixpkgs/programs/nvim/update-plugins.sh";
2022-02-08 09:09:44 +00:00
ucl = "nix-collect-garbage -d && sudo nix-collect-garbage -d";
2021-12-06 22:35:29 +00:00
};
2021-12-12 18:19:28 +00:00
functions = {
upp = ''
2021-12-29 23:55:41 +00:00
if rg --quiet '^use flake$' ./.envrc
nix flake update ./ -v
else
2021-12-29 23:55:41 +00:00
nix flake update (rg --no-line-number --color never '^use flake' ./.envrc | cut -d ' ' -f 3 | xargs -I {} sh -c 'echo {}') -v
end
'';
2021-12-12 18:19:28 +00:00
wget-browser = ''
set user_agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15"
wget -U "$user_agent" $argv
'';
2021-12-29 23:55:41 +00:00
aria-browser = ''
set user_agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15"
aria2c -U "$user_agent" --file-allocation none -x 2 $argv
'';
2021-12-12 18:19:28 +00:00
ytdl_with_options = ''
2022-01-01 00:06:58 +00:00
yt-dlp --config-location "$HOME/.config/yt-dlp/config" --download-archive "$HOME/.config/yt-dlp/archive" $argv
2021-12-12 18:19:28 +00:00
'';
};
2021-12-06 22:35:29 +00:00
shellInit = ''
2021-12-27 20:24:11 +00:00
# Disable greeting
set fish_greeting
2022-02-03 22:35:52 +00:00
if [ -z "$__NIX_DARWIN_SET_ENVIRONMENT_DONE" ]
set __nifoc_nix_darwin_set_env (cat /run/current-system/etc/bashrc | grep '-set-environment' | cut -d '.' -f 2)
fenv source "$__nifoc_nix_darwin_set_env"
2021-12-06 22:35:29 +00:00
end
2022-01-05 09:52:59 +00:00
if test -d "$HOME/.bin"
set -gx PATH "$HOME/.bin" $PATH
2021-12-06 22:35:29 +00:00
end
# Custom Scripts
if test -d "$HOME/.config/fish/custom-scripts"
for custom_script in $HOME/.config/fish/custom-scripts/*.fish
source "$custom_script"
end
end
'';
2021-12-14 19:33:07 +00:00
interactiveShellInit = ''
if [ "$TERM" = "xterm-kitty" ]
alias ssh "kitty +kitten ssh"
end
'';
2021-12-06 22:35:29 +00:00
};
}