diff --git a/common.nix b/common.nix index dafa9d7..128ecb2 100644 --- a/common.nix +++ b/common.nix @@ -115,8 +115,6 @@ with builtins; { mtr.enable = true; }; - hardware.gpgSmartcards.enable = true; - time.timeZone = "Europe/Berlin"; home-manager.users.jade = { @@ -157,5 +155,5 @@ with builtins; { algorithm = "zstd"; }; - users.defaultUserShell = pkgs.nushell; + users.defaultUserShell = pkgs.nushellFull; } diff --git a/flake.lock b/flake.lock index 1b02b89..c245eab 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1718078026, - "narHash": "sha256-LbQabH6h86ZzTvDnaZHmMwedRZNB2jYtUQzmoqWQoJ8=", + "lastModified": 1714864355, + "narHash": "sha256-uXNW6bapWFfkYIkK1EagydSrFMqycOYEDSq75GmUpjk=", "owner": "ipetkov", "repo": "crane", - "rev": "a3f0c63eed74a516298932b9b1627dd80b9c3892", + "rev": "442a7a6152f49b907e73206dc8e1f46a61e8e873", "type": "github" }, "original": { @@ -28,11 +28,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1717827974, - "narHash": "sha256-ixopuTeTouxqTxfMuzs6IaRttbT8JqRW5C9Q/57WxQw=", + "lastModified": 1714976745, + "narHash": "sha256-SAYU6uaVcUmckp/RFxkndz7u7eX1D69piTIMmAAop6Y=", "owner": "nix-community", "repo": "fenix", - "rev": "ab655c627777ab5f9964652fe23bbb1dfbd687a8", + "rev": "a291b6ad30f4ec949e6c98dde43d73d2946515c3", "type": "github" }, "original": { @@ -45,24 +45,6 @@ "inputs": { "systems": "systems" }, - "locked": { - "lastModified": 1709126324, - "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "d465f4819400de7c8d874d50b982301f28a84605", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, "locked": { "lastModified": 1710146030, "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", @@ -92,32 +74,6 @@ "type": "github" } }, - "helix-inline-diags": { - "inputs": { - "crane": [ - "crane" - ], - "flake-utils": "flake-utils", - "nixpkgs": [ - "nixpkgs" - ], - "rust-overlay": "rust-overlay" - }, - "locked": { - "lastModified": 1717871542, - "narHash": "sha256-eUB9gt3Hva7atNOv/Vel1bchD/9Pziz0C/r9K0vh+qQ=", - "owner": "pascalkuthe", - "repo": "helix", - "rev": "418ac237bf1e162b866a873d6cd33bb69f5d1bb4", - "type": "github" - }, - "original": { - "owner": "pascalkuthe", - "ref": "inline-diagnostics", - "repo": "helix", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -125,11 +81,11 @@ ] }, "locked": { - "lastModified": 1717931644, - "narHash": "sha256-Sz8Wh9cAiD5FhL8UWvZxBfnvxETSCVZlqWSYWaCPyu0=", + "lastModified": 1714981474, + "narHash": "sha256-b3/U21CJjCjJKmA9WqUbZGZgCvospO3ArOUTgJugkOY=", "owner": "nix-community", "repo": "home-manager", - "rev": "3d65009effd77cb0d6e7520b68b039836a7606cf", + "rev": "6ebe7be2e67be7b9b54d61ce5704f6fb466c536f", "type": "github" }, "original": { @@ -157,7 +113,7 @@ }, "lix-module": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "flakey-profile": "flakey-profile", "lix": [ "lix" @@ -167,11 +123,11 @@ ] }, "locked": { - "lastModified": 1717647344, - "narHash": "sha256-m8XYt8NU2T4gvkien7H7LFGXHhSA5z4tHOeuXQ3DJi4=", + "lastModified": 1714868057, + "narHash": "sha256-Q9vGkxmuarySjPKO6yixjZ0tkaVIQS2wU9FpCpDA7+I=", "ref": "refs/heads/main", - "rev": "4e25f1ab68f2270f9cff59216056c21073db0164", - "revCount": 87, + "rev": "e31baf57680bab449ab5b40179cc4a08a99f5314", + "revCount": 62, "type": "git", "url": "https://git.lix.systems/lix-project/nixos-module" }, @@ -211,11 +167,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717974879, - "narHash": "sha256-GTO3C88+5DX171F/gVS3Qga/hOs/eRMxPFpiHq2t+D8=", + "lastModified": 1714906307, + "narHash": "sha256-UlRZtrCnhPFSJlDQE7M0eyhgvuuHBTe1eJ9N9AQlJQ0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c7b821ba2e1e635ba5a76d299af62821cbcb09f3", + "rev": "25865a40d14b3f9cf19f19b924e2ab4069b09588", "type": "github" }, "original": { @@ -226,11 +182,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1718060059, - "narHash": "sha256-9XKFni8VMXo81RTq9XygCyaO3I/7UKpwIlM/yn0MdcM=", + "lastModified": 1714782413, + "narHash": "sha256-tbg0MEuKaPcUrnmGCu4xiY5F+7LW2+ECPKVAJd2HLwM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a3c8d64ba846725f040582b2d3b875466d2115bd", + "rev": "651b4702e27a388f0f18e1b970534162dec09aff", "type": "github" }, "original": { @@ -241,11 +197,11 @@ }, "nixpkgs-unstable-small": { "locked": { - "lastModified": 1718083092, - "narHash": "sha256-EQsPXycAbmby4meQUNLYfFaGOiqz2J9AlwFRV4UiHnY=", + "lastModified": 1715010189, + "narHash": "sha256-VG/ax2TLmsF0G8M3Q/lE0P7U/pzky8NScim8ZGmIfAY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "aa1ebdaf49a606e21c06e0f6ed7aece9a41831c3", + "rev": "95269ee8dbc9daacad586e8ad87567369a7e1042", "type": "github" }, "original": { @@ -258,7 +214,6 @@ "inputs": { "crane": "crane", "fenix": "fenix", - "helix-inline-diags": "helix-inline-diags", "home-manager": "home-manager", "lix": "lix", "lix-module": "lix-module", @@ -272,11 +227,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1717583671, - "narHash": "sha256-+lRAmz92CNUxorqWusgJbL9VE1eKCnQQojglRemzwkw=", + "lastModified": 1714936835, + "narHash": "sha256-M+PpgfRMBfHo8Jb2ou/s3maAZbps0XnuHXQU9Hv9vL0=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "48bbdd6a74f3176987d5c809894ac33957000d19", + "rev": "c4618fe14d39992fbbb85c2d6cad028a232c13d2", "type": "github" }, "original": { @@ -286,31 +241,6 @@ "type": "github" } }, - "rust-overlay": { - "inputs": { - "flake-utils": [ - "helix-inline-diags", - "flake-utils" - ], - "nixpkgs": [ - "helix-inline-diags", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709604635, - "narHash": "sha256-le4fwmWmjGRYWwkho0Gr7mnnZndOOe4XGbLw68OvF40=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "e86c0fb5d3a22a5f30d7f64ecad88643fe26449d", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, @@ -325,21 +255,6 @@ "repo": "default", "type": "github" } - }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 52c8181..89bffb8 100644 --- a/flake.nix +++ b/flake.nix @@ -5,13 +5,6 @@ nixpkgs.url = "nixpkgs/nixos-unstable"; nixpkgs-stable.url = "nixpkgs/nixos-23.11"; nixpkgs-unstable-small.url = "nixpkgs/nixos-unstable-small"; - helix-inline-diags = { - url = "github:pascalkuthe/helix/inline-diagnostics"; - inputs = { - crane.follows = "crane"; - nixpkgs.follows = "nixpkgs"; - }; - }; lix = { url = "git+https://git@git.lix.systems/lix-project/lix?ref=refs/tags/2.90-beta.1"; flake = false; @@ -47,7 +40,6 @@ nixpkgs, nixpkgs-stable, nixpkgs-unstable-small, - helix-inline-diags, lix-module, home-manager, nixos-hardware, @@ -101,7 +93,7 @@ nixosConfigurations = { monosodium-glutamate-g = nixpkgs.lib.nixosSystem { specialArgs = { - inherit inputs pkgs-unstable-small pkgs-stable rs-programs lix-module helix-inline-diags; + inherit inputs pkgs-unstable-small pkgs-stable rs-programs lix-module; }; system = "x86_64-linux"; modules = [ @@ -126,7 +118,7 @@ }; catbook-j = nixpkgs.lib.nixosSystem { specialArgs = { - inherit inputs pkgs-unstable-small pkgs-stable rs-programs lix-module helix-inline-diags; + inherit inputs pkgs-unstable-small pkgs-stable rs-programs lix-module; }; system = "x86_64-linux"; modules = [ @@ -151,7 +143,7 @@ }; potatobook-g = nixpkgs.lib.nixosSystem { specialArgs = { - inherit inputs pkgs-unstable-small rs-programs lix-module helix-inline-diags; + inherit inputs pkgs-unstable-small rs-programs lix-module; }; system = "x86_64-linux"; modules = [ diff --git a/modules/desktop-environment/home/default.nix b/modules/desktop-environment/home/default.nix index b9f6429..6891b94 100644 --- a/modules/desktop-environment/home/default.nix +++ b/modules/desktop-environment/home/default.nix @@ -6,13 +6,6 @@ ./compositing.nix ./panels ./xmonad - ./sway ]; - - services.gpg-agent = { - enable = true; - enableNushellIntegration = true; - enableSshSupport = true; - }; }; } diff --git a/modules/desktop-environment/home/sway/default.nix b/modules/desktop-environment/home/sway/default.nix deleted file mode 100644 index 0aafe8e..0000000 --- a/modules/desktop-environment/home/sway/default.nix +++ /dev/null @@ -1,176 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: { - programs.wofi.enable = true; - programs.swaylock.enable = true; - - wayland.windowManager.sway = { - enable = true; - systemd = { - enable = true; - }; - wrapperFeatures = { - base = true; - gtk = true; - }; - config = { - modes = { - resize = { - Down = "resize grow height 10 px"; - Escape = "mode default"; - Left = "resize shrink width 10 px"; - Return = "mode default"; - Right = "resize grow width 10 px"; - Up = "resize shrink height 10 px"; - h = "resize shrink width 10 px"; - j = "resize grow height 10 px"; - k = "resize shrink height 10 px"; - l = "resize grow width 10 px"; - }; - }; - terminal = "kitty"; - output = { - "*" = { - bg = "${../xmonad/wallpaper/wallpaper.jpg} fill"; - }; - }; - input = { - "*" = { - xkb_layout = "us"; - xkb_variant = "altgr-intl"; - }; - }; - menu = "wofi -d"; - modifier = "Mod4"; - keybindings = with { - #mod = config.xsession.windowManager.i3.config.modifier; - # mod = "Mod1"; - mod = config.wayland.windowManager.sway.config.modifier; - }; - lib.mkOptionDefault { - # switch window focus - "${mod}+h" = "focus left"; - "${mod}+j" = "focus down"; - "${mod}+k" = "focus up"; - "${mod}+l" = "focus right"; - # move windows - "${mod}+Shift+h" = "move left"; - "${mod}+Shift+j" = "move down"; - "${mod}+Shift+k" = "move up"; - "${mod}+Shift+l" = "move right"; - # layout shit - "${mod}+shift+semicolon" = "split h"; - "${mod}+semicolon" = "split v"; - "${mod}+f" = "fullscreen toggle"; - "${mod}+Shift+w" = "layout tabbed"; - "${mod}+e" = "layout toggle split"; - "${mod}+Shift+space" = "floating toggle"; - # focus parents/children - # "${mod}+Shift+a" = "focus parent"; - # "${mod}+Shift+c" = "focus child"; - # screenshot - # "${mod}+w" = "exec window-screenshot.sh"; - # "${mod}+s" = "exec flameshot gui -c -p $HOME/Pictures/screenshots"; - # "${mod}+a" = "exec flameshot screen -c -p $HOME/Pictures/screenshots"; - # "${mod}+t" = "exec ocr-screenshot.sh"; - - # rofi fuckery - "${mod}+d" = "exec wofi -S drun --allow-images"; - "${mod}+i" = "exec rofimoji --selector wofi -f alchemical_symbols anatolian_hieroglyphs emojis braille_patterns box_drawing chess_symbols emoticons geometric_shapes gothic greek_extended math mathematical_alphanumeric_symbols mathematical_operators miscellaneous_symbols miscellaneous_mathematical_symbols-a miscellaneous_mathematical_symbols-b miscellaneous_symbols_and_arrows miscellaneous_symbols_and_pictographs miscellaneous_technical modi modifier_tone_letters musical_symbols nerd_font number_forms shorthand_format_controls specials variation_selectors vertical_forms -a copy"; - # TODO: wayland - # "${mod}+d" = "exec --no-startup-id rofi -show drun -theme ${../../other/rofi-themes/applauncher.rasi}"; - # "${mod}+space" = "exec --no-startup-id rofi -show combi -combi-show window#run -modes combi -theme ${../../other/rofi-themes/applauncher.rasi}"; - # "${mod}+i" = "exec --no-startup-id rofimoji -f alchemical_symbols anatolian_hieroglyphs emojis braille_patterns box_drawing chess_symbols emoticons geometric_shapes gothic greek_extended math mathematical_alphanumeric_symbols mathematical_operators miscellaneous_symbols miscellaneous_mathematical_symbols-a miscellaneous_mathematical_symbols-b miscellaneous_symbols_and_arrows miscellaneous_symbols_and_pictographs miscellaneous_technical modi modifier_tone_letters musical_symbols nerd_font number_forms shorthand_format_controls specials variation_selectors vertical_forms -a copy"; - # "${mod}+Shift+e" = "exec --no-startup-id rofi -show \"desktopctl\" -modes \"desktopctl:${desktop-ctl.outPath}/bin/desktopctl\" -theme ${../../other/rofi-themes/applauncher.rasi}"; - # "${mod}+m" = "exec --no-startup-id menu-qalc"; - - # "${mod}+o" = "exec --no-startup-id rofi -show searchwolf -modes \"searchwolf:${searchwolf.outPath}/bin/searchwolf\""; - - # audio - "XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status"; - "XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status"; - "XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status"; - "XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status"; - - "XF86AudioNext" = "exec playerctl next"; - "XF86AudioPrev" = "exec playerctl previous"; - "XF86AudioPause" = "exec playerctl pause"; - "XF86AudioPlay" = "exec playerctl play"; - "XF86AudioStop" = "exec playerctl stop"; - - "XF86MonBrightnessUp" = "exec brightnessctl set 5%+"; - "XF86MonBrightnessDown" = "exec brightnessctl set 5%-"; - - "XF86KbdBrightnessUp" = "exec brillo -kA 10.0"; - "XF86KbdBrightnessDown" = "exec brillo -kU 10.0"; - - # macros - # "${mod}+q" = "exec em-record.sh"; - # "${mod}+p" = "exec em-play.sh"; - # "${mod}+Shift+p" = "exec em-play-loop.sh"; - - # permaclip - # "${mod}+c" = "exec rofi -show register -modes \"register:${pc-set.outPath}/bin/pc-set.sh\" -theme gruvbox-dark"; - # "${mod}+v" = "exec rofi -show register -modes \"register:${pc-get.outPath}/bin/pc-get.sh\" -theme gruvbox-dark"; - }; - fonts = { - names = ["Atkinson Hyperlegible"]; - style = "Regular"; - size = 9.0; - }; - gaps = { - #top = 24; - inner = 15; - outer = 0; - smartGaps = true; - smartBorders = "on"; - }; - colors = { - background = "#1d2021"; - focused = { - background = "#282828"; - border = "#504945"; - childBorder = "#7c6f64"; - indicator = "#504945"; - text = "#ebdbb2"; - }; - focusedInactive = { - background = "#1d2021"; - border = "#504945"; - childBorder = "#665c54"; - indicator = "#664c54"; - text = "#d5c4a1"; - }; - placeholder = { - background = "#1d2021"; - border = "#00ff00"; - childBorder = "#504945"; - indicator = "#504945"; - text = "#928374"; - }; - unfocused = { - background = "#1d2021"; - border = "#3c3836"; - childBorder = "#504945"; - indicator = "#504945"; - text = "#bdae93"; - }; - urgent = { - background = "#9d0006"; - border = "#cc241d"; - childBorder = "#3c3836"; - indicator = "#fb4943"; - text = "#ebdbb2"; - }; - }; - - window = { - border = 2; - titlebar = true; - }; - }; - }; -} diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 152db4e..7f91df6 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -169,8 +169,6 @@ in mupdf inotify-tools - - logseq ]; xsession = { enable = true; diff --git a/modules/desktop/firefox.nix b/modules/desktop/firefox.nix index 37c5cd6..d28dc70 100644 --- a/modules/desktop/firefox.nix +++ b/modules/desktop/firefox.nix @@ -82,16 +82,12 @@ "Home manager Options" = { urls = [ { - template = "https://home-manager-options.extranix.com/"; + template = "https://mipmip.github.io/home-manager-option-search/"; params = [ { name = "query"; value = "{searchTerms}"; } - { - name = "release"; - value = "master"; - } ]; } ]; diff --git a/modules/desktop/x.nix b/modules/desktop/x.nix index 8ea697b..50f9666 100644 --- a/modules/desktop/x.nix +++ b/modules/desktop/x.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: { +{...}: { services.xserver = { enable = true; @@ -8,10 +8,6 @@ displayManager = { gdm.enable = true; - sessionPackages = [ - pkgs.sway - ]; - gdm.autoLogin.delay = 5; }; windowManager.xmonad = { @@ -19,9 +15,5 @@ }; }; - security.polkit.enable = true; - # programs.sway.enable = true; - - # services.displayManager.defaultSession = "none+xmonad"; - services.displayManager.defaultSession = "sway"; + services.displayManager.defaultSession = "none+xmonad"; } diff --git a/modules/shell/helix.nix b/modules/shell/helix.nix index 36d3e41..7f025b3 100644 --- a/modules/shell/helix.nix +++ b/modules/shell/helix.nix @@ -1,8 +1,4 @@ -{ - config, - helix-inline-diags, - ... -}: { +{config, ...}: { home-manager.users.jade = {pkgs, ...}: { home = { sessionVariables.EDITOR = "hx"; @@ -16,7 +12,7 @@ }; programs.helix = { enable = true; - package = helix-inline-diags.outputs.packages."x86_64-linux".default; + package = pkgs.helix; settings = { theme = "gruvbox"; editor = { @@ -26,11 +22,6 @@ cursorline = true; auto-save = true; auto-format = true; - end-of-line-diagnostics = "hint"; - inline-diagnostics = { - cursor-line = "hint"; - other-lines = "error"; - }; lsp = { display-messages = true; display-inlay-hints = true; @@ -57,7 +48,7 @@ "file-encoding" "file-type" ]; - idle-timeout = 50; + idle-timeout = 200; indent-guides = { render = true; character = "│"; diff --git a/modules/shell/nu.nix b/modules/shell/nu.nix index f338d7e..24d3e6a 100644 --- a/modules/shell/nu.nix +++ b/modules/shell/nu.nix @@ -11,11 +11,6 @@ }; home.packages = [ pkgs.pueue - pkgs.nushellPlugins.net - pkgs.nushellPlugins.query - pkgs.nushellPlugins.gstat - pkgs.nushellPlugins.polars - pkgs.nushellPlugins.formats ]; programs.nushell = { enable = true; diff --git a/other/config.nu b/other/config.nu index 9435b28..0f359b5 100644 --- a/other/config.nu +++ b/other/config.nu @@ -42,7 +42,6 @@ let dark_theme = { shape_directory: cyan shape_external: cyan shape_externalarg: green_bold - shape_external_resolved: light_cyan_bold shape_filepath: cyan shape_flag: blue_bold shape_float: purple_bold @@ -239,36 +238,7 @@ $env.config = { use_ansi_coloring: true bracketed_paste: true # enable bracketed paste, currently useless on windows edit_mode: vi # emacs, vi - shell_integration: { - # osc2 abbreviates the path if in the home_dir, sets the tab/window title, shows the running command in the tab/window title - osc2: true - # osc7 is a way to communicate the path to the terminal, this is helpful for spawning new tabs in the same directory - osc7: true - # osc8 is also implemented as the deprecated setting ls.show_clickable_links, it shows clickable links in ls output if your terminal supports it. show_clickable_links is deprecated in favor of osc8 - osc8: true - # osc9_9 is from ConEmu and is starting to get wider support. It's similar to osc7 in that it communicates the path to the terminal - osc9_9: false - # osc133 is several escapes invented by Final Term which include the supported ones below. - # 133;A - Mark prompt start - # 133;B - Mark prompt end - # 133;C - Mark pre-execution - # 133;D;exit - Mark execution finished with exit code - # This is used to enable terminals to know where the prompt is, the command is, where the command finishes, and where the output of the command is - osc133: true - # osc633 is closely related to osc133 but only exists in visual studio code (vscode) and supports their shell integration features - # 633;A - Mark prompt start - # 633;B - Mark prompt end - # 633;C - Mark pre-execution - # 633;D;exit - Mark execution finished with exit code - # 633;E - NOT IMPLEMENTED - Explicitly set the command line with an optional nonce - # 633;P;Cwd= - Mark the current working directory and communicate it to the terminal - # and also helps with the run recent menu in vscode - osc633: false - # reset_application_mode is escape \x1b[?1l and was added to help ssh work better - reset_application_mode: true - } - use_kitty_protocol: false - highlight_resolved_externals: true + shell_integration: true # enables terminal shell integration. Off by default, as some terminals have issues with this. render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt. hooks: { @@ -811,12 +781,6 @@ def start_zellij [] { start_zellij -# plugin add nu_plugin_net -# plugin add nu_plugin_gstat -# plugin add nu_plugin_query -# plugin add nu_plugin_polars -# plugin add nu_plugin_formats - def nsp [ ...programs: string ] {