Nushell: Difference between revisions

imported>Schrottkatze
removed redundant sentence
imported>Vieta
autosuggestion with carapace
Line 15: Line 15:


====Examples====  
====Examples====  
Configuration with [https://starship.rs/ Startship] font.
Configuration with [https://starship.rs/ Starship] prompt and autosuggestion  support with [https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=carapace carapace]
{{file|~/.config/nixpkgs/home.nix|nix|<nowiki>
{{file|~/.config/nixpkgs/home.nix|nix|<nowiki>
programs = {
programs = {
     nushell = { enable = true;
     nushell = { enable = true;
      # The config.nu can be anywhere you want if you like to edit your Nushell with Nu
      # The config.nu can be anywhere you want if you like to edit your Nushell with Nu
      configFile.source = ./.../config.nu;
      configFile.source = ./.../config.nu;
      # If you like to add extra configuration for nu like adding execution paths
      # for editing directly to config.nu  
      extraConfig = ''
      extraConfig = ''
      let carapace_completer = {|spans|
      carapace $spans.0 nushell $spans | from json
      }
       $env.config = {
       $env.config = {
         show_banner: false,
         show_banner: false,
        completions: {
        case_sensitive: false # case-sensitive completions
        quick: true    # set to false to prevent auto-selecting completions
        partial: true    # set to false to prevent partial filling of the prompt
        algorithm: "fuzzy"    # prefix or fuzzy
        external: {
        # set to false to prevent nushell looking into $env.PATH to find more suggestions
            enable: true
        # set to lower can improve completion performance at the cost of omitting some options
            max_results: 100
            completer: $carapace_completer # check 'carapace_completer'
          }
        }
       }  
       }  
       $env.PATH = ($env.PATH |  
       $env.PATH = ($env.PATH |  
       split row (char esep) |
       split row (char esep) |
       prepend /home/myuser/.apps |
       prepend /home/vieta/.apps |
       append /usr/bin/env
       append /usr/bin/env
       )
       )
       '';
       '';
      shellAliases = {
      vi = hx;
      vim = hx;
      nano = hx;
      };
  }; 
  carapace.enable = true;
  carapace.enableNushellIntegration = true;


  };
   starship = { enable = true;
   starship = { enable = true;
       settings = {
       settings = {