67 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   lib,
 | |
|   config,
 | |
|   osConfig,
 | |
|   ...
 | |
| }: let
 | |
|   inherit (lib) mkIf mkEnableOption;
 | |
|   inherit (osConfig.ooknet.host) admin;
 | |
| 
 | |
|   cfg = config.ooknet.home.fish;
 | |
| in {
 | |
|   imports = [
 | |
|     ./plugins.nix
 | |
|     ./binds.nix
 | |
|     ./aliases.nix
 | |
|     ./functions
 | |
|   ];
 | |
| 
 | |
|   options.ooknet.home.fish.enable = mkEnableOption "";
 | |
| 
 | |
|   config = mkIf (cfg.enable || admin.shell == "fish") {
 | |
|     programs.fish = {
 | |
|       enable = true;
 | |
|       # disable the default greeting
 | |
|       functions = {fish_greeting = "";};
 | |
|       interactiveShellInit =
 | |
|         # Use vim bindings and cursors
 | |
|         ''
 | |
|           fish_vi_key_bindings
 | |
|           set fish_cursor_default     block      blink
 | |
|           set fish_cursor_insert      line       blink
 | |
|           set fish_cursor_replace_one underscore blink
 | |
|           set fish_cursor_visual      block
 | |
|         ''
 | |
|         +
 | |
|         # Use terminal colors
 | |
|         ''
 | |
|           set -U fish_color_autosuggestion      brblack
 | |
|           set -U fish_color_cancel              -r
 | |
|           set -U fish_color_command             brgreen
 | |
|           set -U fish_color_comment             brmagenta
 | |
|           set -U fish_color_cwd                 green
 | |
|           set -U fish_color_cwd_root            red
 | |
|           set -U fish_color_end                 brmagenta
 | |
|           set -U fish_color_error               brred
 | |
|           set -U fish_color_escape              brcyan
 | |
|           set -U fish_color_history_current     --bold
 | |
|           set -U fish_color_host                normal
 | |
|           set -U fish_color_match               --background=brblue
 | |
|           set -U fish_color_normal              normal
 | |
|           set -U fish_color_operator            cyan
 | |
|           set -U fish_color_param               brblue
 | |
|           set -U fish_color_quote               yellow
 | |
|           set -U fish_color_redirection         bryellow
 | |
|           set -U fish_color_search_match        'bryellow' '--background=brblack'
 | |
|           set -U fish_color_selection           'white' '--bold' '--background=brblack'
 | |
|           set -U fish_color_status              red
 | |
|           set -U fish_color_user                brgreen
 | |
|           set -U fish_color_valid_path          --underline
 | |
|           set -U fish_pager_color_completion    normal
 | |
|           set -U fish_pager_color_description   yellow
 | |
|           set -U fish_pager_color_prefix        'white' '--bold' '--underline'
 | |
|           set -U fish_pager_color_progress      'brwhite' '--background=cyan'
 | |
|         '';
 | |
|     };
 | |
|   };
 | |
| }
 |