From cde1d476aa9b847064ee2ee2292d4e2e6526ee91 Mon Sep 17 00:00:00 2001 From: Tao Tien <29749622+taotien@users.noreply.github.com> Date: Thu, 20 Feb 2025 14:55:55 -0800 Subject: [PATCH] sutff --- TESTING | 3 - extras/cosmic.nix | 8 +- users/tao.nix | 36 +++-- users/tao/HOME.nix | 11 +- users/tao/helix.nix | 5 + users/tao/nushell/env.nu | 4 + users/tao/nushell/extra/alias.nu | 34 +++++ users/tao/nushell/extra/nix.nu | 37 +++++ users/tao/nushell/extra/stuff.nu | 62 +++++++++ users/tao/nushell/extra/tailscale.nu | 65 +++++++++ users/tao/nushell/extras/alias.nu | 34 +++++ users/tao/nushell/extras/nix.nu | 37 +++++ users/tao/nushell/extras/stuff.nu | 62 +++++++++ users/tao/nushell/extras/tailscale.nu | 65 +++++++++ users/tao/nushell/stuff.nu | 189 -------------------------- 15 files changed, 435 insertions(+), 217 deletions(-) delete mode 100644 TESTING create mode 100644 users/tao/nushell/extra/alias.nu create mode 100644 users/tao/nushell/extra/nix.nu create mode 100644 users/tao/nushell/extra/stuff.nu create mode 100644 users/tao/nushell/extra/tailscale.nu create mode 100644 users/tao/nushell/extras/alias.nu create mode 100644 users/tao/nushell/extras/nix.nu create mode 100644 users/tao/nushell/extras/stuff.nu create mode 100644 users/tao/nushell/extras/tailscale.nu delete mode 100644 users/tao/nushell/stuff.nu diff --git a/TESTING b/TESTING deleted file mode 100644 index 3f8692a..0000000 --- a/TESTING +++ /dev/null @@ -1,3 +0,0 @@ -laptop gpu lag after time -laptop bcachefs corruption -laptop cosmic diff --git a/extras/cosmic.nix b/extras/cosmic.nix index 35dbbe9..aaab633 100644 --- a/extras/cosmic.nix +++ b/extras/cosmic.nix @@ -3,10 +3,12 @@ services.displayManager.cosmic-greeter.enable = false; services.desktopManager.cosmic.enable = true; + environment.sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1; + environment.cosmic.excludePackages = with pkgs; [ - cosmic-player - cosmic-wallpapers - cosmic-term cosmic-edit + cosmic-player + cosmic-term + cosmic-wallpapers ]; } diff --git a/users/tao.nix b/users/tao.nix index 66aca81..2b7a644 100644 --- a/users/tao.nix +++ b/users/tao.nix @@ -6,50 +6,47 @@ ... }: { users.users.tao.packages = with pkgs; [ - usbutils - freecad-wayland - piper - mousai - toastify - man-pages - man-pages-posix - gurk-rs + # calibre # davinci-resolve - nufmt - freerdp - nixos-anywhere - cloud-hypervisor # fractal - # kdeconnect + # inputs.plasma-manager.packages.${pkgs.system}.default + # jellyfin-mpv-shim # libsForQt5.kcharselect # mendeley # slack # tectonic # texlab - # toastify # wkhtmltopdf appimage-run aspell aspellDicts.en bottles boxxy - # calibre + carapace + cloud-hypervisor darktable deluge discord - # inputs.plasma-manager.packages.${pkgs.system}.default + freecad-wayland + freerdp + gurk-rs jellyfin-media-player - # jellyfin-mpv-shim kdePackages.plasma-vault keepassxc leetcode-cli + man-pages + man-pages-posix miniserve + mousai + nixos-anywhere + nufmt nushell obs-studio oculante onlyoffice-bin pandoc pipe-rename + piper prusa-slicer qmk qmk-udev-rules @@ -61,9 +58,10 @@ syncthingtray taskwarrior3 thunderbird - typst - # typst-fmt tinymist + toastify + typst + usbutils vial wezterm wl-clipboard-rs diff --git a/users/tao/HOME.nix b/users/tao/HOME.nix index 6c3fad2..00bf1b4 100644 --- a/users/tao/HOME.nix +++ b/users/tao/HOME.nix @@ -26,8 +26,8 @@ in { source = ./autostart; recursive = true; }; - home.file.".config/direnv/lib/uv.sh".source = ./direnv/uv.sh; - home.file.".config/direnv/lib/devenv.sh".source = ./direnv/devenv.sh; + home.file.".config/direnv/lib/".source = ./direnv; + home.file.".config/direnv/lib/".recursive = true; programs = { bacon = { @@ -115,7 +115,12 @@ in { enable = true; configFile.source = ./nushell/config.nu; envFile.source = ./nushell/env.nu; - extraConfig = builtins.readFile ./nushell/stuff.nu; + # extraConfig = builtins.readFile ./nushell/stuff.nu; + extraConfig = lib.concatStrings ( + map ( + builtins.readFile builtins.readDir ./nushell/extra + ) + ); }; ssh = { diff --git a/users/tao/helix.nix b/users/tao/helix.nix index 177d64f..0d21bac 100644 --- a/users/tao/helix.nix +++ b/users/tao/helix.nix @@ -7,6 +7,11 @@ settings = { theme = "gruvbox_dark_hard"; editor = { + auto-save = { + focus-lost = true; + after-delay.enable = true; + after-delay.timeout = 1000; + }; shell = ["nu" "--stdin" "-c"]; # rainbow-brackets = true; line-number = "relative"; diff --git a/users/tao/nushell/env.nu b/users/tao/nushell/env.nu index 1f90b31..c08ac06 100644 --- a/users/tao/nushell/env.nu +++ b/users/tao/nushell/env.nu @@ -82,3 +82,7 @@ $env.NU_PLUGIN_DIRS = [ $env.PATH = ($env.PATH | split row (char esep) | prepend '/home/tao/.cargo/bin') $env.GOPATH = '/home/tao/.go' + +# $env.CARAPACE_BRIDGES +mkdir ~/.cache/carapace +carapace _carapace nushell | save -f ~/.cache/carapace/init.nu diff --git a/users/tao/nushell/extra/alias.nu b/users/tao/nushell/extra/alias.nu new file mode 100644 index 0000000..b67271e --- /dev/null +++ b/users/tao/nushell/extra/alias.nu @@ -0,0 +1,34 @@ +alias xo = xdg-open +# alias h = hx (sk) +alias b = btm +alias cringe = sudo bootctl set-oneshot auto-windows +alias fetch = fastfetch +alias ff = firefox +alias pu = pueue +alias t = task +alias zl = zellij +alias snapper = snapper -c home +alias follow = readlink -f +alias la = ls -a + +alias quiet = sudo ectool fanduty 42 +alias loud = sudo ectool autofanctrl + +alias cp-full = cp +alias cp = cp -prv +alias mv-full = mv +alias mv = mv -pv + +alias j = jj +alias ja = jj log -r 'all()' +alias jc = jj desc +alias jd = jj diff +alias je = jj edit +alias jf = jj git fetch +alias jg = jj git clone --colocate +alias jm = jj bookmark set main +alias jp = jj git push +alias js = jj status +alias jw = jj workspace update-stale + + diff --git a/users/tao/nushell/extra/nix.nu b/users/tao/nushell/extra/nix.nu new file mode 100644 index 0000000..4aae58d --- /dev/null +++ b/users/tao/nushell/extra/nix.nu @@ -0,0 +1,37 @@ +alias nd = nix develop +def ns [package] { + nix shell $"nixpkgs#($package)" +} +def nr [package] { + nix search nixpkgs $package +} + +def rebuild --wrapped [subcommand, --builders: string, ...rest] { + if (open /etc/hostname --raw) == "NOlaptop\n" and ($builders != "") { + sudo nix store info --store ssh://nocomputer + } + if ($builders == "") { + sudo systemd-inhibit nice -n19 nixos-rebuild $subcommand --flake . --impure --verbose --builders "" + } else { + sudo systemd-inhibit nice -n19 nixos-rebuild $subcommand --flake . --impure --verbose ...$rest + } + toastify send rebuild done! +} +def post-rebuild [] { + rm -r ~/.config/helix/runtime/grammars/ + hx --grammar fetch; hx --grammar build + rustup update +} +def bump --wrapped [...rest] { + cd /home/tao/projects/NOflake/ + jj new -m "bump" + nix flake update + # rc2nix | save -f /home/tao/projects/NOflake/users/tao/plasma.nix; + # sudo nix store ping --store ssh://nocomputer + rebuild boot ...$rest + jj new +} +alias rb = rebuild boot +alias rs = rebuild switch +alias gc = nh clean all + diff --git a/users/tao/nushell/extra/stuff.nu b/users/tao/nushell/extra/stuff.nu new file mode 100644 index 0000000..bfd2145 --- /dev/null +++ b/users/tao/nushell/extra/stuff.nu @@ -0,0 +1,62 @@ +# task + +def h [query?: path] { + (if ($query != null) {sk -1 -q ($query | path basename)} else {sk -1}) + | complete + | if $in.exit_code == 0 { + $in.stdout | str trim | hx $in + } +} + +def --env c [path: path = "~"] { + cd $path + l +} + +def l [ + --all (-a) + --long (-l) + path: path = "." +] { + if $all and $long { + ls -la $path + } else if $all { + ls -a $path + } else if $long { + ls -l $path + } else { + ls $path + } + | sort-by type name -i -n +} + +def srg [] { + sk --ansi -i -c 'rg --color=always --line-number "{}"' +} + + +def "config stuff" [] { + hx ~/projects/NOflake/users/tao/nushell/stuff.nu +} +def deluge-gtk [] { + tsr + deluge-gtk +} +alias deluge = deluge-gtk +def fixme [] { + rg TODO --json + | lines + | each {from json} + | where type == "match" + | get data + | flatten + | each {$"($in.text):($in.line_number)"} + | hx ...$in +} +source ~/.cache/starship/init.nu +# source ~/.cache/carapace/init.nu +source ~/.zoxide.nu +def --env z [path: string = "~"] { + zo $path + l +} diff --git a/users/tao/nushell/extra/tailscale.nu b/users/tao/nushell/extra/tailscale.nu new file mode 100644 index 0000000..193b162 --- /dev/null +++ b/users/tao/nushell/extra/tailscale.nu @@ -0,0 +1,65 @@ +def check-mullvad [] { + loop { + print "checking connection status" + http get https://am.i.mullvad.net/json + | if $in.mullvad_exit_ip == true {break} else {print $in} + sleep 1sec + } +} +def tse [exit_node: string = ""] { + if ($exit_node | is-empty) and (ps | find deluge | is-not-empty) { + return "stop summoning first!" + } else { + tailscale set --exit-node $exit_node + } + if ($exit_node | is-not-empty) { + check-mullvad + } + return "exit node set" +} +def tsp [] { + tailscale exit-node list + | split row "\n" + | each {str trim} + | filter {is-not-empty} + | skip 1 + | last 19 + | first 17 + | split column -r '\s{2,}' + | reject column5 column3 + | rename ip addr city + | par-each { + insert ping { + |row| $row.addr + | str replace "mullvad.ts.net" "relays.mullvad.net" + | ping -c5 -q $in + | split row "\n" + | last + | split column "/" + | get column6? + | get 0 + } + } + | sort-by ping -n -r + } +def tsr [] { + tailscale status --json + | from json + | get Peer + | transpose nodekey node + | get node + | filter {$in.Location?.Country == USA} + | get TailscaleIPs + | each {get 0} + | select (random int 0..($in | length)) + | tse $in.0 + # tailscale status + check-mullvad +} +alias ts = tailscale +alias tss = tailscale status +alias tsu = tailscale up +alias tsd = tailscale down +alias tsx = tailscale exit-node list +alias tsa = tailscale exit-node suggest + diff --git a/users/tao/nushell/extras/alias.nu b/users/tao/nushell/extras/alias.nu new file mode 100644 index 0000000..b67271e --- /dev/null +++ b/users/tao/nushell/extras/alias.nu @@ -0,0 +1,34 @@ +alias xo = xdg-open +# alias h = hx (sk) +alias b = btm +alias cringe = sudo bootctl set-oneshot auto-windows +alias fetch = fastfetch +alias ff = firefox +alias pu = pueue +alias t = task +alias zl = zellij +alias snapper = snapper -c home +alias follow = readlink -f +alias la = ls -a + +alias quiet = sudo ectool fanduty 42 +alias loud = sudo ectool autofanctrl + +alias cp-full = cp +alias cp = cp -prv +alias mv-full = mv +alias mv = mv -pv + +alias j = jj +alias ja = jj log -r 'all()' +alias jc = jj desc +alias jd = jj diff +alias je = jj edit +alias jf = jj git fetch +alias jg = jj git clone --colocate +alias jm = jj bookmark set main +alias jp = jj git push +alias js = jj status +alias jw = jj workspace update-stale + + diff --git a/users/tao/nushell/extras/nix.nu b/users/tao/nushell/extras/nix.nu new file mode 100644 index 0000000..4aae58d --- /dev/null +++ b/users/tao/nushell/extras/nix.nu @@ -0,0 +1,37 @@ +alias nd = nix develop +def ns [package] { + nix shell $"nixpkgs#($package)" +} +def nr [package] { + nix search nixpkgs $package +} + +def rebuild --wrapped [subcommand, --builders: string, ...rest] { + if (open /etc/hostname --raw) == "NOlaptop\n" and ($builders != "") { + sudo nix store info --store ssh://nocomputer + } + if ($builders == "") { + sudo systemd-inhibit nice -n19 nixos-rebuild $subcommand --flake . --impure --verbose --builders "" + } else { + sudo systemd-inhibit nice -n19 nixos-rebuild $subcommand --flake . --impure --verbose ...$rest + } + toastify send rebuild done! +} +def post-rebuild [] { + rm -r ~/.config/helix/runtime/grammars/ + hx --grammar fetch; hx --grammar build + rustup update +} +def bump --wrapped [...rest] { + cd /home/tao/projects/NOflake/ + jj new -m "bump" + nix flake update + # rc2nix | save -f /home/tao/projects/NOflake/users/tao/plasma.nix; + # sudo nix store ping --store ssh://nocomputer + rebuild boot ...$rest + jj new +} +alias rb = rebuild boot +alias rs = rebuild switch +alias gc = nh clean all + diff --git a/users/tao/nushell/extras/stuff.nu b/users/tao/nushell/extras/stuff.nu new file mode 100644 index 0000000..bfd2145 --- /dev/null +++ b/users/tao/nushell/extras/stuff.nu @@ -0,0 +1,62 @@ +# task + +def h [query?: path] { + (if ($query != null) {sk -1 -q ($query | path basename)} else {sk -1}) + | complete + | if $in.exit_code == 0 { + $in.stdout | str trim | hx $in + } +} + +def --env c [path: path = "~"] { + cd $path + l +} + +def l [ + --all (-a) + --long (-l) + path: path = "." +] { + if $all and $long { + ls -la $path + } else if $all { + ls -a $path + } else if $long { + ls -l $path + } else { + ls $path + } + | sort-by type name -i -n +} + +def srg [] { + sk --ansi -i -c 'rg --color=always --line-number "{}"' +} + + +def "config stuff" [] { + hx ~/projects/NOflake/users/tao/nushell/stuff.nu +} +def deluge-gtk [] { + tsr + deluge-gtk +} +alias deluge = deluge-gtk +def fixme [] { + rg TODO --json + | lines + | each {from json} + | where type == "match" + | get data + | flatten + | each {$"($in.text):($in.line_number)"} + | hx ...$in +} +source ~/.cache/starship/init.nu +# source ~/.cache/carapace/init.nu +source ~/.zoxide.nu +def --env z [path: string = "~"] { + zo $path + l +} diff --git a/users/tao/nushell/extras/tailscale.nu b/users/tao/nushell/extras/tailscale.nu new file mode 100644 index 0000000..193b162 --- /dev/null +++ b/users/tao/nushell/extras/tailscale.nu @@ -0,0 +1,65 @@ +def check-mullvad [] { + loop { + print "checking connection status" + http get https://am.i.mullvad.net/json + | if $in.mullvad_exit_ip == true {break} else {print $in} + sleep 1sec + } +} +def tse [exit_node: string = ""] { + if ($exit_node | is-empty) and (ps | find deluge | is-not-empty) { + return "stop summoning first!" + } else { + tailscale set --exit-node $exit_node + } + if ($exit_node | is-not-empty) { + check-mullvad + } + return "exit node set" +} +def tsp [] { + tailscale exit-node list + | split row "\n" + | each {str trim} + | filter {is-not-empty} + | skip 1 + | last 19 + | first 17 + | split column -r '\s{2,}' + | reject column5 column3 + | rename ip addr city + | par-each { + insert ping { + |row| $row.addr + | str replace "mullvad.ts.net" "relays.mullvad.net" + | ping -c5 -q $in + | split row "\n" + | last + | split column "/" + | get column6? + | get 0 + } + } + | sort-by ping -n -r + } +def tsr [] { + tailscale status --json + | from json + | get Peer + | transpose nodekey node + | get node + | filter {$in.Location?.Country == USA} + | get TailscaleIPs + | each {get 0} + | select (random int 0..($in | length)) + | tse $in.0 + # tailscale status + check-mullvad +} +alias ts = tailscale +alias tss = tailscale status +alias tsu = tailscale up +alias tsd = tailscale down +alias tsx = tailscale exit-node list +alias tsa = tailscale exit-node suggest + diff --git a/users/tao/nushell/stuff.nu b/users/tao/nushell/stuff.nu deleted file mode 100644 index fec4ce6..0000000 --- a/users/tao/nushell/stuff.nu +++ /dev/null @@ -1,189 +0,0 @@ -# task - -alias xo = xdg-open -# alias h = hx (sk) -alias b = btm -alias cringe = sudo bootctl set-oneshot auto-windows -alias fetch = fastfetch -alias ff = firefox -alias pu = pueue -alias t = task -alias zl = zellij -alias snapper = snapper -c home -alias follow = readlink -f -alias la = ls -a - -alias quiet = sudo ectool fanduty 42 -alias loud = sudo ectool autofanctrl - -alias cp-full = cp -alias cp = cp -prv -alias mv-full = mv -alias mv = mv -pv - -alias j = jj -alias ja = jj log -r 'all()' -alias jc = jj desc -alias jd = jj diff -alias je = jj edit -alias jf = jj git fetch -alias jg = jj git clone --colocate -alias jm = jj bookmark set main -alias jp = jj git push -alias js = jj status -alias jw = jj workspace update-stale - -def h [] { - sk | complete | - if $in.exit_code == 0 { - $in.stdout | str trim | hx $in - } -} - -def --env c [path: path = "~"] { - cd $path - l -} -def l [ - --all (-a) - --long (-l) - path: path = "." -] { - if $all and $long { - ls -la $path - } else if $all { - ls -a $path - } else if $long { - ls -l $path - } else { - ls $path - } - | sort-by type name -i -n -} -def srg [] { - sk --ansi -i -c 'rg --color=always --line-number "{}"' -} -alias nd = nix develop -def ns [package] { - nix shell $"nixpkgs#($package)" -} -def nr [package] { - nix search nixpkgs $package -} - def rebuild --wrapped [subcommand, --builders: string, ...rest] { - if (open /etc/hostname --raw) == "NOlaptop\n" and ($builders != "") { - sudo nix store info --store ssh://nocomputer - } - - if ($builders == "") { - sudo systemd-inhibit nice -n19 nixos-rebuild $subcommand --flake . --impure --verbose --builders "" - } else { - sudo systemd-inhibit nice -n19 nixos-rebuild $subcommand --flake . --impure --verbose ...$rest - } - toastify send rebuild done! -} -def post-rebuild [] { - rm -r ~/.config/helix/runtime/grammars/ - hx --grammar fetch; hx --grammar build - rustup update -} -def bump --wrapped [...rest] { - cd /home/tao/projects/NOflake/ - jj new -m "bump" - nix flake update - # rc2nix | save -f /home/tao/projects/NOflake/users/tao/plasma.nix; - # sudo nix store ping --store ssh://nocomputer - rebuild boot ...$rest - jj new -} -alias rb = rebuild boot -alias rs = rebuild switch -alias gc = nh clean all -def check-mullvad [] { - loop { - print "checking connection status" - http get https://am.i.mullvad.net/json - | if $in.mullvad_exit_ip == true {break} else {print $in} - sleep 1sec - } -} -def tse [exit_node: string = ""] { - if ($exit_node | is-empty) and (ps | find deluge | is-not-empty) { - return "stop summoning first!" - } else { - tailscale set --exit-node $exit_node - } - if ($exit_node | is-not-empty) { - check-mullvad - } - return "exit node set" -} -def tsp [] { - tailscale exit-node list - | split row "\n" - | each {str trim} - | filter {is-not-empty} - | skip 1 - | last 19 - | first 17 - | split column -r '\s{2,}' - | reject column5 column3 - | rename ip addr city - | par-each { - insert ping { - |row| $row.addr - | str replace "mullvad.ts.net" "relays.mullvad.net" - | ping -c5 -q $in - | split row "\n" - | last - | split column "/" - | get column6? - | get 0 - } - } - | sort-by ping -n -r - } -def tsr [] { - tailscale status --json - | from json - | get Peer - | transpose nodekey node - | get node - | filter {$in.Location?.Country == USA} - | get TailscaleIPs - | each {get 0} - | select (random int 0..($in | length)) - | tse $in.0 - # tailscale status - check-mullvad -} -alias ts = tailscale -alias tss = tailscale status -alias tsu = tailscale up -alias tsd = tailscale down -alias tsx = tailscale exit-node list -alias tsa = tailscale exit-node suggest -def "config stuff" [] { - hx ~/projects/NOflake/users/tao/nushell/stuff.nu -} -def deluge-gtk [] { - tsr - deluge-gtk -} -alias deluge = deluge-gtk -def fixme [] { - rg TODO --json - | lines - | each {from json} - | where type == "match" - | get data - | flatten - | each {$"($in.text):($in.line_number)"} - | hx ...$in -} -source ~/.cache/starship/init.nu -source ~/.zoxide.nu -def --env z [path: string = "~"] { - zo $path - l -}