From c9a69def55f6e13ce13e60713b5369007fe4d7d0 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Fri, 28 Sep 2018 13:44:53 +0200 Subject: Separate desktop and server software --- fish.nix | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 fish.nix (limited to 'fish.nix') diff --git a/fish.nix b/fish.nix new file mode 100644 index 0000000..d1e46c9 --- /dev/null +++ b/fish.nix @@ -0,0 +1,76 @@ +{ pkgs, ... }: + +{ + programs.fish = { + enable = true; + + shellInit = '' + set fish_greeting "" + ''; + + interactiveShellInit = '' + eval (dircolors -c ${./asset/dir_colors}) + + set fish_color_normal white + set fish_color_command magenta --bold + set fish_color_param green + set fish_color_error brred + set fish_color_operator cyan + set fish_color_comment white + set fish_color_cwd green + set fish_color_quote brown + set fish_color_autosuggestion 555 + set fish_color_redirection white + ''; + + promptInit = '' + function fish_prompt + set last_status $status + + if not set -q __fish_prompt_normal + set -g __fish_prompt_normal (set_color normal) + end + + switch $USER + case root + if not set -q __fish_prompt_cwd + if set -q fish_color_cwd_root + set -g __fish_prompt_cwd (set_color $fish_color_cwd_root) + else + set -g __fish_prompt_cwd (set_color $fish_color_cwd) + end + end + + case '*' + if not set -q __fish_prompt_cwd + set -g __fish_prompt_cwd (set_color $fish_color_cwd) + end + end + + echo -n -s 'λ ' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" + + if test $IN_NIX_SHELL + if test $NIX_SHELL_NAME + echo -n -s ' (' $NIX_SHELL_NAME ')' + else + echo -n -s ' (nix-shell)' + end + end + + if test $last_status -gt 0 + set_color $fish_color_cwd_root + echo -n -s ' ● ' + set_color normal + else + echo -n -s ' ● ' + end + end + + function fish_right_prompt + set_color $fish_color_autosuggestion + date '+%H:%M:%S' + set_color normal + end + ''; + }; +} -- cgit v1.2.3