72 lines
1.8 KiB
Nix
72 lines
1.8 KiB
Nix
|
{ lib, config, pkgs, ... }:
|
||
|
|
||
|
with lib;
|
||
|
|
||
|
let
|
||
|
dquot = "''";
|
||
|
cfg = config.within.fish;
|
||
|
in {
|
||
|
options.within.fish.enable = mkEnableOption "fish config";
|
||
|
|
||
|
config = mkIf cfg.enable {
|
||
|
programs.fish.enable = true;
|
||
|
|
||
|
home.file = {
|
||
|
".config/fish/functions/fish_greeting.fish".text = ''
|
||
|
function fish_greeting;end
|
||
|
'';
|
||
|
|
||
|
".config/fish/functions/fish_prompt.fish".source = ./fish_prompt.fish;
|
||
|
".config/fish/functions/fish_right_prompt.fish".source =
|
||
|
./fish_right_prompt.fish;
|
||
|
".config/fish/conf.d/ssh-agent.fish".source = ./ssh-agent.fish;
|
||
|
|
||
|
# global fish config
|
||
|
".config/fish/conf.d/cadey.fish".text = ''
|
||
|
alias edit "emacsclient -t -c -a ${dquot}"
|
||
|
alias e "edit"
|
||
|
|
||
|
set -gx GOPATH $HOME/go
|
||
|
set -gx PATH $PATH $HOME/go/bin $HOME/bin
|
||
|
|
||
|
set -gx GO111MODULE on
|
||
|
|
||
|
set -gx PATH $PATH $HOME/.local/bin
|
||
|
|
||
|
set -gx PATH $PATH $HOME/.luarocks/bin
|
||
|
|
||
|
set -gx PATH $PATH $HOME/.cargo/bin
|
||
|
|
||
|
set -gx WASMER_DIR $HOME/.wasmer
|
||
|
set -gx WASMER_CACHE_DIR $WASMER_DIR/cache
|
||
|
set -gx PATH $PATH $WASMER_DIR/bin $WASMER_DIR/globals/wapm_packages/.bin
|
||
|
|
||
|
set -gx EDITOR vim
|
||
|
'';
|
||
|
|
||
|
".config/fish/conf.d/colors.fish".text = ''
|
||
|
switch $TERM
|
||
|
case '*xte*'
|
||
|
set -gx TERM xterm-256color
|
||
|
case '*scree*'
|
||
|
set -gx TERM screen-256color
|
||
|
case '*rxvt*'
|
||
|
set -gx TERM rxvt-unicode-256color
|
||
|
end
|
||
|
'';
|
||
|
|
||
|
".config/fish/conf.d/gpg.fish".text = ''
|
||
|
# Set GPG TTY
|
||
|
set -x GPG_TTY (tty)
|
||
|
'';
|
||
|
};
|
||
|
|
||
|
home.packages = [ pkgs.fishPlugins.foreign-env ];
|
||
|
|
||
|
programs.fish.shellAliases = {
|
||
|
pbcopy = "${pkgs.xclip}/bin/xclip -selection clipboard";
|
||
|
pbpaste = "${pkgs.xclip}/bin/xclip -selection clipboard -o";
|
||
|
};
|
||
|
};
|
||
|
}
|