aboutsummaryrefslogtreecommitdiffstats
path: root/home
diff options
context:
space:
mode:
authorPetri Hienonen <petri.hienonen@gmail.com>2025-12-03 16:45:48 +0200
committerPetri Hienonen <petri.hienonen@gmail.com>2025-12-03 16:49:04 +0200
commit2f5c76baab06227a7ed1636fb35175ea1f878b52 (patch)
treef926e0f6a39c586af913dd01e175ba2a9e20b86c /home
parent91630362e7807a788336f4f6708936dd7d9ef254 (diff)
downloadnixos-2f5c76baab06227a7ed1636fb35175ea1f878b52.tar.zst
Update nushell config
Diffstat (limited to 'home')
-rw-r--r--home/default.nix85
-rw-r--r--home/fish/default.nix47
2 files changed, 66 insertions, 66 deletions
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