From 2f5c76baab06227a7ed1636fb35175ea1f878b52 Mon Sep 17 00:00:00 2001 From: Petri Hienonen Date: Wed, 3 Dec 2025 16:45:48 +0200 Subject: Update nushell config --- home/default.nix | 85 ++++++++++++++++++++++++++++++++++++++------------- home/fish/default.nix | 47 ++-------------------------- 2 files changed, 66 insertions(+), 66 deletions(-) (limited to 'home') diff --git a/home/default.nix b/home/default.nix index 0a7a1a6..cf05d16 100644 --- a/home/default.nix +++ b/home/default.nix @@ -101,6 +101,22 @@ in }; programs = { + nix-search-tv = { + enable = true; + enableTelevisionIntegration = true; + settings = { + indexes = [ + "nixpkgs" + "home-manager" + "nixos" + ]; + experimental = { }; + }; + }; + television = { + enable = true; + enableFishIntegration = true; + }; rbw = { enable = true; settings = { @@ -240,34 +256,61 @@ in ]; }; }; + nushell = { enable = true; + shellAliases = { + browser = "${pkgs.chawan}/bin/cha"; + cat = "${pkgs.gat}/bin/gat"; + fj = "${pkgs.forgejo-cli}/bin/fj --host git.relesoft.io"; + gmail = "${pkgs.himalaya}/himalaya envelope list --account gmail --folder gmail/Inbox 'not flag Seen'"; + grep = "${pkgs.ripgrep}/bin/rg"; + http = "${pkgs.xh}/bin/xh"; + journalctl = "${pkgs.systemd}/bin/journalctl --output=short-iso"; + l = "${pkgs.eza}/bin/eza -l --icons --git -a"; + llm = "${pkgs.tenere}/bin/tenere"; + ls = "${pkgs.eza}/bin/eza -a --group-directories-first"; + lt = "${pkgs.eza}/bin/eza --tree --level=2 --long --icons --git"; + relesoft = "${pkgs.himalaya}/himalaya envelope list --account relesoft --folder relesoft/Inbox 'not flag Seen'"; + ssh = "TERM=xterm-256color ${pkgs.openssh}/bin/ssh"; + stocks = "${pkgs.ticker}/bin/ticker --config /home/petri/.config/ticker/config.yaml"; + weather = "${pkgs.wthrr}/bin/wthrr --forecast d"; + wifi = "${pkgs.impala}/bin/impala"; + youtube = "${pkgs.pipe-viewer}/bin/pipe-viewer"; + }; extraConfig = '' - $env.config.hooks.command_not_found = source ${pkgs.nix-index}/etc/profile.d/command-not-found.nu - let carapace_completer = {|spans| - carapace $spans.0 nushell ...$spans | from json + def ns [] { + ${pkgs.nix-search-tv}/bin/nix-search-tv print | ${pkgs.fzf}/bin/fzf --preview "${pkgs.nix-search-tv}/bin/nix-search-tv preview {}" --scheme history } - $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: { - enable: true - max_results: 100 - completer: $carapace_completer # check 'carapace_completer' - } - } + + def doc [file: path] { + ${pkgs.asciidoctor}/bin/asciidoctor --backend xhtml5 --out-file - $file | + ${pkgs.chawan}/bin/cha -T application/xhtml+xml + } + + def share [file: path] { + ${pkgs.curl}/bin/curl -X PUT --data-binary @$file https://bin.tammi.cc + } + + def import [...files] { + ${pkgs.grim}/bin/grim -g ${pkgs.slurp}/bin/slurp $files + } + + def readdoc [...args] { + ${pkgs.reader}/bin/reader $args --markdown-output | ${pkgs.moor}/bin/moor --wrap --lang markdown } - $env.PATH = ($env.PATH | - split row (char esep) | - prepend /home/petri/.apps | - append /usr/bin/env - ) ''; + settings = { + show_banner = false; + completions = { + case_sensitive = false; + quick = true; + partial = true; + algorithm = "fuzzy"; + }; + }; }; + carapace = { enable = true; enableNushellIntegration = true; diff --git a/home/fish/default.nix b/home/fish/default.nix index c02a848..65e033a 100644 --- a/home/fish/default.nix +++ b/home/fish/default.nix @@ -6,6 +6,7 @@ shellAliases = { browser = "${pkgs.chawan}/bin/cha"; cat = "${pkgs.gat}/bin/gat"; + fj = "${pkgs.forgejo-cli}/bin/fj --host git.relesoft.io"; gmail = "${pkgs.himalaya}/himalaya envelope list --account gmail --folder gmail/Inbox 'not flag Seen'"; grep = "${pkgs.ripgrep}/bin/rg"; http = "${pkgs.xh}/bin/xh"; @@ -14,13 +15,13 @@ llm = "${pkgs.tenere}/bin/tenere"; ls = "${pkgs.eza}/bin/eza -a --group-directories-first"; lt = "${pkgs.eza}/bin/eza --tree --level=2 --long --icons --git"; + ns = "nix-search-tv print | fzf --preview 'nix-search-tv preview {}' --scheme history"; relesoft = "${pkgs.himalaya}/himalaya envelope list --account relesoft --folder relesoft/Inbox 'not flag Seen'"; ssh = "TERM=xterm-256color ${pkgs.openssh}/bin/ssh"; stocks = "${pkgs.ticker}/bin/ticker --config /home/petri/.config/ticker/config.yaml"; weather = "${pkgs.wthrr}/bin/wthrr --forecast d"; wifi = "${pkgs.impala}/bin/impala"; youtube = "${pkgs.pipe-viewer}/bin/pipe-viewer"; - fj = "${pkgs.forgejo-cli}/bin/fj --host git.relesoft.io"; }; functions = { doc = '' @@ -39,50 +40,6 @@ ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" $argv ''; readdoc = "${pkgs.reader}/bin/reader $argv --markdown-output | ${pkgs.moor}/bin/moor --wrap --lang markdown"; - extract = '' - function extract - switch $argv[1] - case "*.tar.bz2" - tar xjf $argv[1] - - case "*.tar.gz" - tar xzf $argv[1] - - case "*.tar.xz" - tar xJf $argv[1] - - case "*.bz2" - bunzip2 $argv[1] - - case "*.rar" - unrar e $argv[1] - - case "*.gz" - gunzip $argv[1] - - case "*.tar" - tar xf $argv[1] - - case "*.tbz2" - tar xjf $argv[1] - - case "*.tgz" - tar xzf $argv[1] - - case "*.zip" - unzip $argv[1] - - case "*.Z" - uncompress $argv[1] - - case "*.7z" - 7z x $argv[1] - - case "*" - echo "unknown extension: $argv[1]" - end - end - ''; }; interactiveShellInit = '' set -g fish_key_bindings fish_vi_key_bindings -- cgit v1.2.3-70-g09d2