diff --git a/modules/common/shell/0_nushell.nix b/modules/common/shell/0_nushell.nix index 9810890..0ed2c58 100644 --- a/modules/common/shell/0_nushell.nix +++ b/modules/common/shell/0_nushell.nix @@ -18,7 +18,11 @@ let replaceStrings ; - package = pkgs.nushell; + unstable = import (builtins.fetchTarball { + url = "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz"; + sha256 = "sha256:16xi1yijq2ccbp8254zc0b5fgz0igxvyf4yn349wj2ggk4cl6dgn"; + }) { system = pkgs.system; }; + package = unstable.nushell; in { home-manager.sharedModules = [ diff --git a/modules/common/shell/0_nushell.nu b/modules/common/shell/0_nushell.nu index 41816c4..b49b6d5 100644 --- a/modules/common/shell/0_nushell.nu +++ b/modules/common/shell/0_nushell.nu @@ -346,6 +346,29 @@ def --env mcg [path: path]: nothing -> nothing { jj git init --colocate } +# ls files sorted by latest DESC +def latest [ + path: path = . + --all (-a) # show all files + number: int = 0 # optional number for head +]: nothing -> table { + let result = ( + if $all { + ls --all $path + } else { + ls $path + } + | sort-by modified + | reverse + ) + + if ($number != 0) { + $result | first $number + } else { + $result + } +} + # Open a file in nvim using fzf. def vff []: nothing -> nothing { nvim (fzf) diff --git a/modules/darwin/packages.nix b/modules/darwin/packages.nix index 5be9f24..6186e0d 100644 --- a/modules/darwin/packages.nix +++ b/modules/darwin/packages.nix @@ -1,5 +1,6 @@ { pkgs, ... }: { homebrew.enable = true; + # homebrew.brews = [ "mole" ]; homebrew.casks = [ "google-chrome" ]; environment.systemPackages = [ pkgs.iina ]; }