From c5283fe60bea7ef6261e89c24a4cd5c6f5c01476 Mon Sep 17 00:00:00 2001 From: Jo Date: Fri, 31 Jan 2025 01:09:10 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=F0=9F=9A=A7=20(homes/jo)=20add=20basi?= =?UTF-8?q?c=20nushell=20configuration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../x86_64-linux/jo@puzzlevision/default.nix | 63 +++++++++++++++++-- 1 file changed, 57 insertions(+), 6 deletions(-) diff --git a/homes/x86_64-linux/jo@puzzlevision/default.nix b/homes/x86_64-linux/jo@puzzlevision/default.nix index db665de..dfe391a 100644 --- a/homes/x86_64-linux/jo@puzzlevision/default.nix +++ b/homes/x86_64-linux/jo@puzzlevision/default.nix @@ -1,9 +1,7 @@ { - lib, pkgs, - namespace, ... -}: with lib; with lib.${namespace}; +}: { puzzlevision = { themes.catppuccin = { @@ -24,6 +22,60 @@ packages = []; }; + programs = { + nushell = { + enable = true; + + # for editing directly to config.nu + extraConfig = '' + let carapace_completer = {|spans| + carapace $spans.0 nushell $spans | from json + } + $env.config = { + 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 | + split row (char esep) | + prepend /home/myuser/.apps | + append /usr/bin/env + ) + ''; + + shellAliases = { + vi = "hx"; + vim = "hx"; + nano = "hx"; + }; + }; + + carapace.enable = true; + carapace.enableNushellIntegration = true; + + starship = { + enable = true; + settings = { + add_newline = true; + character = { + success_symbol = "[➜](bold green)"; + error_symbol = "[➜](bold red)"; + }; + }; + }; + }; + # TODO: look at git-sync for syncing stuff like obsidian vaults. programs.git-credential-oauth.enable = true; @@ -45,17 +97,16 @@ avra avrdude jetbrains.phpstorm - jetbrains-toolbox git - nodejs_22 bun devenv python39 - poetry + nixd nil zed-editor bruno deno + carapace ### Work teams-for-linux