1
0
Fork 0

Add Nushell

This commit is contained in:
Ethan Reece 2025-07-12 23:50:20 -05:00
parent 942ec251b6
commit b0d17ab917
Signed by: me
GPG key ID: DD8CE04D5D8FF832
3 changed files with 54 additions and 29 deletions

View file

@ -15,6 +15,8 @@ this Flake.
- **`treefmt`** (with Helix integration): Automatically formats this repository - **`treefmt`** (with Helix integration): Automatically formats this repository
when modifying it, with features to check the flake for formatting when modifying it, with features to check the flake for formatting
consistency. consistency.
- **Nushell**: Shell that uses structured data, with quality-of-life
integrations enabled.
- **Language Server Protocol (LSP)**: Has language servers for file formats used - **Language Server Protocol (LSP)**: Has language servers for file formats used
in this repository; integrates with Helix text editor and fully managed by Nix in this repository; integrates with Helix text editor and fully managed by Nix
with each language's configuration in its own file. with each language's configuration in its own file.

View file

@ -1,17 +1,26 @@
{ {
inputs,
config, config,
inputs,
lib,
pkgs, pkgs,
... ...
}: }:
let let
username = "sudoer777";
localFastModel = "qwen2.5-coder-num_ctx"; localFastModel = "qwen2.5-coder-num_ctx";
localReasoningModel = "deepseek-r1-num_ctx"; localReasoningModel = "deepseek-r1-num_ctx";
remoteFastModel = "deepseek/deepseek-chat-v3-0324:free"; # "qwen/qwen-2.5-coder-32b-instruct:free"; remoteFastModel = "deepseek/deepseek-chat-v3-0324:free"; # "qwen/qwen-2.5-coder-32b-instruct:free";
remoteReasoningModel = "deepseek/deepseek-r1-0528:free"; remoteReasoningModel = "deepseek/deepseek-r1-0528:free";
in in
{ {
sops = {
secrets = {
openrouter_api_key = { };
};
defaultSopsFile = ./secrets/secrets.yaml;
age.keyFile = /home/${username}/.config/sops/age/keys.txt;
};
nixGL = { nixGL = {
packages = import inputs.nixgl { packages = import inputs.nixgl {
inherit pkgs; inherit pkgs;
@ -24,7 +33,7 @@ in
}; };
home = { home = {
stateVersion = "24.11"; stateVersion = "24.11";
username = "sudoer777"; username = username;
homeDirectory = "/home/sudoer777"; homeDirectory = "/home/sudoer777";
language.base = "eo.utf8"; language.base = "eo.utf8";
packages = [ packages = [
@ -84,7 +93,11 @@ in
pkgs.xz pkgs.xz
]; ];
file = { }; file = { };
sessionVariables = { }; shell = {
enableNushellIntegration = true;
enableZshIntegration = true;
enableFishIntegration = true;
};
}; };
programs = { programs = {
home-manager = { home-manager = {
@ -157,32 +170,41 @@ in
}; };
}; };
}; };
# TODO: Disable Guix integration nushell = {
# nushell = { enable = true;
# enable = true; environmentVariables = {
# settings = { OPENROUTER_API_KEY = lib.hm.nushell.mkNushellInline "cat ${config.sops.secrets.openrouter_api_key.path}";
# completions = { };
# algorithm = "fuzzy"; settings = {
# external.enable = true; completions = {
# }; algorithm = "fuzzy";
# }; case_sensitive = false;
# shellAliases = { external = {
# aichat_reasoning_remote = "aichat --model openrouter:${remoteReasoningModel}"; enable = true;
# aichat_reasoning_local = "aichat --model ollama:${localReasoningModel}"; };
# aichat_fast_remote = "aichat --model openrouter:${remoteFastModel}"; };
# aichat_fast_local = "aichat --model ollama:${localFastModel}"; };
# codex_remote = "codex --provider openrouter --model ${remoteFastModel}"; # set -x ZATHURA_PLUGINS_PATH $GUIX_HOME/lib/zathura
# codex_local = "codex --provider ollama --model ${localFastModel}"; shellAliases = {
# }; aichat_reasoning_remote = "${pkgs.aichat}/bin/aichat --model openrouter:${remoteReasoningModel}";
# }; aichat_reasoning_local = "${pkgs.aichat}/bin/aichat --model ollama:${localReasoningModel}";
# TODO: Disable Guix integration aichat_fast_remote = "${pkgs.aichat}/bin/aichat --model openrouter:${remoteFastModel}";
# starship = { aichat_fast_local = "${pkgs.aichat}/bin/aichat --model ollama:${localFastModel}";
# enable = true; codex_remote = "${pkgs.codex}/bin/codex --provider openrouter --model ${remoteFastModel}";
# }; codex_local = "${pkgs.codex}/bin/codex --provider ollama --model ${localFastModel}";
# carapace = { hotspot = "sudo sysctl net.ipv4.ip_default_ttl=65";
# enable = true; };
# }; };
# TODO: Disable Guix integration starship = {
enable = true;
};
carapace = {
enable = true;
enableFishIntegration = false;
};
zoxide = {
enable = true;
};
kitty = { kitty = {
enable = true; enable = true;
package = (config.lib.nixGL.wrap pkgs.kitty); package = (config.lib.nixGL.wrap pkgs.kitty);

View file

@ -5,6 +5,7 @@ let
"LLMs" "LLMs"
"LTeX" "LTeX"
"NixOS" "NixOS"
"Nushell"
]; ];
tomlFormatter = pkgs.formats.toml { }; tomlFormatter = pkgs.formats.toml { };
vale = { vale = {