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";
|
|
};
|
|
};
|
|
}
|