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