nixos-configs/common/home-manager/fish/default.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";
};
};
}