diff --git a/flake.lock b/flake.lock index b3fff81c..26d11697 100644 --- a/flake.lock +++ b/flake.lock @@ -53,14 +53,15 @@ "flake-parts": "flake-parts", "nixpkgs": [ "nixpkgs" - ] + ], + "systems": "systems_3" }, "locked": { - "lastModified": 1713259062, - "narHash": "sha256-WTO84hUL8IlNuHDK2yOCeJ38EewFzGt5E0kzBjNWxa8=", + "lastModified": 1717576207, + "narHash": "sha256-LU6d1xX7jN1zt10YU7Oym07MtzVfziSmUEznGFdbuaw=", "owner": "Kirottu", "repo": "anyrun", - "rev": "f9d30e34fa4ccb2797c6becec37e8bcff6585d39", + "rev": "7aabad8d5bb7d1bffae903ce86427b888ab824b4", "type": "github" }, "original": { @@ -212,11 +213,11 @@ "doomemacs": { "flake": false, "locked": { - "lastModified": 1713464448, - "narHash": "sha256-Fhir4WlcfEh70V8+oNS1LVAGBftiqtD2qaHzOC8BJUI=", + "lastModified": 1717446130, + "narHash": "sha256-fW+TA5AR9xwRhFHLB2frH3MGlZuL18aRQleg55XGqwA=", "owner": "doomemacs", "repo": "doomemacs", - "rev": "9620bb45ac4cd7b0274c497b2d9d93c4ad9364ee", + "rev": "517daa4ed9168855c202ba2fd28920f6ee17249f", "type": "github" }, "original": { @@ -281,11 +282,11 @@ ] }, "locked": { - "lastModified": 1696343447, - "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "c9afaba3dfa4085dbd2ccb38dfade5141e33d9d4", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "type": "github" }, "original": { @@ -392,7 +393,7 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_3" + "systems": "systems_4" }, "locked": { "lastModified": 1701680307, @@ -410,7 +411,7 @@ }, "flake-utils_3": { "inputs": { - "systems": "systems_4" + "systems": "systems_5" }, "locked": { "lastModified": 1685518550, @@ -428,7 +429,7 @@ }, "flake-utils_4": { "inputs": { - "systems": "systems_5" + "systems": "systems_6" }, "locked": { "lastModified": 1701680307, @@ -446,7 +447,7 @@ }, "flake-utils_5": { "inputs": { - "systems": "systems_7" + "systems": "systems_8" }, "locked": { "lastModified": 1681202837, @@ -464,7 +465,7 @@ }, "flake-utils_6": { "inputs": { - "systems": "systems_8" + "systems": "systems_9" }, "locked": { "lastModified": 1705309234, @@ -482,7 +483,7 @@ }, "flake-utils_7": { "inputs": { - "systems": "systems_9" + "systems": "systems_10" }, "locked": { "lastModified": 1701680307, @@ -500,7 +501,7 @@ }, "flake-utils_8": { "inputs": { - "systems": "systems_10" + "systems": "systems_11" }, "locked": { "lastModified": 1681202837, @@ -653,11 +654,11 @@ ] }, "locked": { - "lastModified": 1716736833, - "narHash": "sha256-rNObca6dm7Qs524O4st8VJH6pZ/Xe1gxl+Rx6mcWYo0=", + "lastModified": 1717527182, + "narHash": "sha256-vWSkg6AMok1UUQiSYVdGMOXKD2cDFnajITiSi0Zjd1A=", "owner": "nix-community", "repo": "home-manager", - "rev": "a631666f5ec18271e86a5cde998cba68c33d9ac6", + "rev": "845a5c4c073f74105022533907703441e0464bc3", "type": "github" }, "original": { @@ -683,11 +684,11 @@ ] }, "locked": { - "lastModified": 1711466786, - "narHash": "sha256-sArxGyUBiCA1in+q6t0QqT+ZJiZ1PyBp7cNPKLmREM0=", + "lastModified": 1713214463, + "narHash": "sha256-zAOOjqHAbccCRgJSuvTCA0FNLqKswN63LgVo43R7pxw=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "d3876f34779cc03ee51e4aafc0d00a4f187c7544", + "rev": "0a53b9957f0b17f1a0036b25198f569969ad43a0", "type": "github" }, "original": { @@ -704,7 +705,7 @@ "nixpkgs": [ "nixpkgs" ], - "systems": "systems_6", + "systems": "systems_7", "wlroots": "wlroots", "xdph": "xdph" }, @@ -760,11 +761,11 @@ ] }, "locked": { - "lastModified": 1711250455, - "narHash": "sha256-LSq1ZsTpeD7xsqvlsepDEelWRDtAhqwetp6PusHXJRo=", + "lastModified": 1713121246, + "narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "b3e430f81f3364c5dd1a3cc9995706a4799eb3fa", + "rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706", "type": "github" }, "original": { @@ -775,11 +776,11 @@ }, "impermanence": { "locked": { - "lastModified": 1708968331, - "narHash": "sha256-VUXLaPusCBvwM3zhGbRIJVeYluh2uWuqtj4WirQ1L9Y=", + "lastModified": 1717932370, + "narHash": "sha256-7C5lCpiWiyPoIACOcu2mukn/1JRtz6HC/1aEMhUdcw0=", "owner": "nix-community", "repo": "impermanence", - "rev": "a33ef102a02ce77d3e39c25197664b7a636f9c30", + "rev": "27979f1c3a0d3b9617a3563e2839114ba7d48d3f", "type": "github" }, "original": { @@ -824,11 +825,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1717281900, - "narHash": "sha256-NBwB16qOv8TKaPg62UXfy+RojsDC+DLZPtohUqUyIM4=", + "lastModified": 1718198940, + "narHash": "sha256-TKfQP+TYWQ2LGhO4UySZyFscVOA2WZ+2Cqo8GwkIgXE=", "owner": "astro", "repo": "microvm.nix", - "rev": "16ec47e1fae62bcc2a76e164b7101152ad98849c", + "rev": "02a1fe9237a6539ff83d15443d328e4b0b49a117", "type": "github" }, "original": { @@ -861,11 +862,11 @@ ] }, "locked": { - "lastModified": 1716993688, - "narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=", + "lastModified": 1718345812, + "narHash": "sha256-FJhA+YFsOFrAYe6EaiTEfomNf7jeURaPiG5/+a3DRSc=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4", + "rev": "ff988d78f2f55641efacdf9a585d2937f7e32a9b", "type": "github" }, "original": { @@ -901,11 +902,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1717291091, - "narHash": "sha256-mqIW9h5Nl4gupXMWf/0TOD+D6gTaiQ8dHsYVg5eCq5s=", + "lastModified": 1718328127, + "narHash": "sha256-2ldscRIlStuv/fRmifXbvjlMpyVuy8Z9zhiDBRM6oe0=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "26fb5cc81525a6ba2bb7bfd4b6ecd92cc161afdc", + "rev": "2c9a664875b410d12282fed9043f4703b6fdb029", "type": "github" }, "original": { @@ -974,11 +975,11 @@ ] }, "locked": { - "lastModified": 1716210724, - "narHash": "sha256-iqQa3omRcHGpWb1ds75jS9ruA5R39FTmAkeR3J+ve1w=", + "lastModified": 1718025593, + "narHash": "sha256-WZ1gdKq/9u1Ns/oXuNsDm+W0salonVA0VY1amw8urJ4=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "d14b286322c7f4f897ca4b1726ce38cb68596c94", + "rev": "35c20ba421dfa5059e20e0ef2343c875372bdcf3", "type": "github" }, "original": { @@ -1011,11 +1012,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1717248095, - "narHash": "sha256-e8X2eWjAHJQT82AAN+mCI0B68cIDBJpqJ156+VRrFO0=", + "lastModified": 1718349360, + "narHash": "sha256-SuPne4BMqh9/IkKIAG47Cu5qfmntAaqlHdX1yuFoDO0=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "7b49d3967613d9aacac5b340ef158d493906ba79", + "rev": "ae5c8dcc4d0182d07d75df2dc97112de822cb9d6", "type": "github" }, "original": { @@ -1082,11 +1083,11 @@ }, "nixpkgs-darwin": { "locked": { - "lastModified": 1717100421, - "narHash": "sha256-T+0Q1QHBDCoa4yBJrY7cG3vDEhqm4PwOLmNI6mzEwVc=", + "lastModified": 1718146371, + "narHash": "sha256-W3RNddq9jbuaLDzsXeCLrUXOm5U37ecPcuC4ifjmikM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "75000c2cf4422c8a1776284314921ac1289c02c9", + "rev": "2975732531b5fa6e728f837c6f090335cbef5285", "type": "github" }, "original": { @@ -1176,11 +1177,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1717258601, - "narHash": "sha256-gMvWwxNTVDcYWEpdW1YXiA3oKaMU4dFkUmUAEo3RNNU=", + "lastModified": 1718376599, + "narHash": "sha256-cTFGqLYTrIxORc673fUUCecQVXiXHDj6Z8vFQ5K4SDg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a66aecff8795337adf83e16be9dd070fab95c341", + "rev": "3bac01780f87646b70326db70920902bc4d49fab", "type": "github" }, "original": { @@ -1224,11 +1225,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1717112898, - "narHash": "sha256-7R2ZvOnvd9h8fDd65p0JnB7wXfUvreox3xFdYWd1BnY=", + "lastModified": 1717774105, + "narHash": "sha256-HV97wqUQv9wvptiHCb3Y0/YH0lJ60uZ8FYfEOIzYEqI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6132b0f6e344ce2fe34fc051b72fb46e34f668e0", + "rev": "d226935fd75012939397c83f6c385e4d6d832288", "type": "github" }, "original": { @@ -1272,11 +1273,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1717144377, - "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=", + "lastModified": 1718208800, + "narHash": "sha256-US1tAChvPxT52RV8GksWZS415tTS7PV42KTc2PNDBmc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "805a384895c696f802a9bf5bf4720f37385df547", + "rev": "cc54fb41d13736e92229c21627ea4f22199fee6b", "type": "github" }, "original": { @@ -1340,11 +1341,11 @@ "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1716254884, - "narHash": "sha256-hD81HKsakexq9d1au5bUr7zdt+hl2WphQfJzzZl1Z1I=", + "lastModified": 1717568000, + "narHash": "sha256-3VJ+LluCDykchp5J7saJkJLaQG9qxirxNaJIPWWDQTQ=", "owner": "ryan4yin", "repo": "nur-packages", - "rev": "91884156a05dca68fb2b30883af819c39a6ac910", + "rev": "b60cb5c4d0d11d0827ce24e0d5088654f1f95253", "type": "github" }, "original": { @@ -1378,11 +1379,11 @@ "polybar-themes": { "flake": false, "locked": { - "lastModified": 1716044464, - "narHash": "sha256-n5UcGHU/DQYezIma9w3zAQ2QZ7q6TmnbWYghT0EIETU=", + "lastModified": 1718031670, + "narHash": "sha256-cUr2XWVSYtwjRvSJJoCLAO2yNCUD3AghGMoAvrr4bQo=", "owner": "adi1090x", "repo": "polybar-themes", - "rev": "ebfc6eabdf68e9af0f160dc88df20e7a8813d3dd", + "rev": "12a5b207f058ccba865776153f3da40446775790", "type": "github" }, "original": { @@ -1490,11 +1491,11 @@ "nixpkgs-stable": "nixpkgs-stable_3" }, "locked": { - "lastModified": 1716213921, - "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=", + "lastModified": 1717664902, + "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0", + "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", "type": "github" }, "original": { @@ -1651,6 +1652,21 @@ "type": "github" } }, + "systems_11": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "systems_2": { "locked": { "lastModified": 1681028828, @@ -1668,16 +1684,16 @@ }, "systems_3": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "type": "github" } }, @@ -1712,21 +1728,6 @@ } }, "systems_6": { - "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", - "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default-linux", - "type": "github" - } - }, - "systems_7": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1741,6 +1742,21 @@ "type": "github" } }, + "systems_7": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, "systems_8": { "locked": { "lastModified": 1681028828, @@ -1846,11 +1862,11 @@ ] }, "locked": { - "lastModified": 1709299639, - "narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=", + "lastModified": 1713214484, + "narHash": "sha256-h1bSIsDuPk1FGgvTuSHJyiU2Glu7oAyoPMJutKZmLQ8=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "2d2fb547178ec025da643db57d40a971507b82fe", + "rev": "bb44921534a9cee9635304fdb876c1b3ec3a8f61", "type": "github" }, "original": { diff --git a/home/base/core/shells/config.nu b/home/base/core/shells/config.nu index 40bcaa54..f57efdd5 100644 --- a/home/base/core/shells/config.nu +++ b/home/base/core/shells/config.nu @@ -115,6 +115,33 @@ $env.config = { # buffer_editor: "emacs" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL bracketed_paste: true # enable bracketed paste, currently useless on windows edit_mode: emacs # emacs, vi - shell_integration: true # enables terminal markers and a workaround to arrow keys stop working issue + 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: true + # reset_application_mode is escape \x1b[?1l and was added to help ssh work better + reset_application_mode: true + } 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. } diff --git a/home/base/core/shells/default.nix b/home/base/core/shells/default.nix index 1a2dc205..93470796 100644 --- a/home/base/core/shells/default.nix +++ b/home/base/core/shells/default.nix @@ -1,4 +1,4 @@ -let +{pkgs-unstable, ...}: let shellAliases = { k = "kubectl"; @@ -11,6 +11,7 @@ in { programs.nushell = { enable = true; + package = pkgs-unstable.nushell; configFile.source = ./config.nu; inherit shellAliases; }; diff --git a/home/base/tui/editors/neovim/nvim/lua/plugins/treesitter.lua b/home/base/tui/editors/neovim/nvim/lua/plugins/treesitter.lua index 3d597783..b2e8080f 100644 --- a/home/base/tui/editors/neovim/nvim/lua/plugins/treesitter.lua +++ b/home/base/tui/editors/neovim/nvim/lua/plugins/treesitter.lua @@ -3,6 +3,10 @@ ---@type LazySpec return { "nvim-treesitter/nvim-treesitter", + dependencies = { + -- NOTE: additional parser + { "nushell/tree-sitter-nu" }, + }, opts = function(_, opts) opts.incremental_selection = { enable = true, diff --git a/home/base/tui/shell.nix b/home/base/tui/shell.nix index a5c2a79e..0cb23973 100644 --- a/home/base/tui/shell.nix +++ b/home/base/tui/shell.nix @@ -31,9 +31,9 @@ in { use ${nu_scripts}/share/nu_scripts/custom-completions/cargo/cargo-completions.nu * use ${nu_scripts}/share/nu_scripts/custom-completions/zellij/zellij-completions.nu * # alias - use ${nu_scripts}/share/nu_scripts/aliases/git/git-aliases.nu * + # use ${nu_scripts}/share/nu_scripts/aliases/git/git-aliases.nu * use ${nu_scripts}/share/nu_scripts/aliases/eza/eza-aliases.nu * - # use ${nu_scripts}/share/nu_scripts/aliases/bat/bat-aliases.nu * + use ${nu_scripts}/share/nu_scripts/aliases/bat/bat-aliases.nu * ''; }; } diff --git a/modules/darwin/apps.nix b/modules/darwin/apps.nix index 8b0b0a66..eaf765b8 100644 --- a/modules/darwin/apps.nix +++ b/modules/darwin/apps.nix @@ -2,6 +2,7 @@ config, lib, pkgs, + pkgs-unstable, ... }: ########################################################################## @@ -80,7 +81,7 @@ in { programs.zsh.enable = true; environment.shells = [ pkgs.zsh - pkgs.nushellFull # my custom shell + pkgs-unstable.nushell # my custom shell ]; # homebrew need to be installed manually, see https://brew.sh @@ -103,7 +104,7 @@ in { Wechat = 836500024; QQ = 451108668; WeCom = 1189898970; # Wechat for Work - TecentMetting = 1484048379; + TecentMeeting = 1484048379; QQMusic = 595615424; }; @@ -164,7 +165,7 @@ in { # Misc "shadowsocksx-ng" # proxy tool "iina" # video player - "raycast" # (HotKey: alt/option + space)search, caculate and run scripts(with many plugins) + "raycast" # (HotKey: alt/option + space)search, calculate and run scripts(with many plugins) "stats" # beautiful system status monitor in menu bar # "reaper" # audio editor "sonic-pi" # music programming diff --git a/modules/nixos/desktop/misc.nix b/modules/nixos/desktop/misc.nix index 333010d7..5838684d 100644 --- a/modules/nixos/desktop/misc.nix +++ b/modules/nixos/desktop/misc.nix @@ -2,12 +2,13 @@ config, lib, pkgs, + pkgs-unstable, ... }: { # add user's shell into /etc/shells environment.shells = with pkgs; [ bashInteractive - nushellFull + pkgs-unstable.nushell ]; # set user's default shell system-wide users.defaultUserShell = pkgs.bashInteractive;