Compare commits

..

No commits in common. "4901a1c6740c01aa94e2577de032bc70f2ddbc80" and "636dddce8153d92fb4a6521a8a935c36a43b36bb" have entirely different histories.

14 changed files with 259 additions and 312 deletions

107
flake.lock generated
View file

@ -30,12 +30,12 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1774669632, "lastModified": 1773953514,
"narHash": "sha256-OHRHymsM6sX0B7Xjpvf3m49vTgKzJGukJhw/O1O5bj4=", "narHash": "sha256-atjKtHHqf55Ycl7jYYzrt7w9B5qCi6mTuHJbVjIazN0=",
"rev": "2edae0b5150c83c07cf7b7e86e937ad956d78197", "rev": "f9f3419519e57b75f6b93f9d5f251695e8e22037",
"revCount": 410, "revCount": 409,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/0.1.410%2Brev-2edae0b5150c83c07cf7b7e86e937ad956d78197/019d3291-0e4f-7484-aaae-6a10dd00f832/source.tar.gz?rev=2edae0b5150c83c07cf7b7e86e937ad956d78197&revCount=410" "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/0.1.409%2Brev-f9f3419519e57b75f6b93f9d5f251695e8e22037/019d07e1-d8dc-7732-87e1-30bb3f3b7b30/source.tar.gz?rev=f9f3419519e57b75f6b93f9d5f251695e8e22037&revCount=409"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@ -45,37 +45,37 @@
"determinate-nixd-aarch64-darwin": { "determinate-nixd-aarch64-darwin": {
"flake": false, "flake": false,
"locked": { "locked": {
"narHash": "sha256-T5PoERn2FTupvCwGmQhbYO/oQ0w+51nRn+0QRbnA9tg=", "narHash": "sha256-ACbLiLuhp5YrkJfQXm1gIbaJkqYPtLKQPaRLCNNkSlU=",
"type": "file", "type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.2/macOS" "url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.1/macOS"
}, },
"original": { "original": {
"type": "file", "type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.2/macOS" "url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.1/macOS"
} }
}, },
"determinate-nixd-aarch64-linux": { "determinate-nixd-aarch64-linux": {
"flake": false, "flake": false,
"locked": { "locked": {
"narHash": "sha256-T0iRt3f+2Q+KUU1VzdGiG6GluViuxuKr+bMG5eVtPO0=", "narHash": "sha256-KjLRWlPpfz8RviOYW9U7jcNuCw0QOQg3xzcrGtduuSU=",
"type": "file", "type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.2/aarch64-linux" "url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.1/aarch64-linux"
}, },
"original": { "original": {
"type": "file", "type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.2/aarch64-linux" "url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.1/aarch64-linux"
} }
}, },
"determinate-nixd-x86_64-linux": { "determinate-nixd-x86_64-linux": {
"flake": false, "flake": false,
"locked": { "locked": {
"narHash": "sha256-FDeJY4hugYM0+vB2rvKY8WpYgPNH7kNS0M082Rnk/CI=", "narHash": "sha256-m+8yXaHlW45aA+6LpcaShQOt2UXEYWkrvwxadc9rENs=",
"type": "file", "type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.2/x86_64-linux" "url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.1/x86_64-linux"
}, },
"original": { "original": {
"type": "file", "type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.2/x86_64-linux" "url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.1/x86_64-linux"
} }
}, },
"disko": { "disko": {
@ -169,11 +169,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1775012637, "lastModified": 1774028838,
"narHash": "sha256-Now9n+9BD37KilctvSOy3GzAdvQLZtPfCcGnxmxtaig=", "narHash": "sha256-1zylMvReaWs4ICEq773PvJFXglsEq5BC2YKv0fNa81k=",
"owner": "helix-editor", "owner": "helix-editor",
"repo": "helix", "repo": "helix",
"rev": "daac117bbb4348a496bdf851a9a5c1d9612a2938", "rev": "3d68e0a32617d1844543219f6790a2b3fa169170",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -210,11 +210,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1774991950, "lastModified": 1774135471,
"narHash": "sha256-kScKj3qJDIWuN9/6PMmgy5esrTUkYinrO5VvILik/zw=", "narHash": "sha256-TVeIGOxnfSPM6JvkRkXHpJECnj1OG2dXkWMSA4elzzQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "f2d3e04e278422c7379e067e323734f3e8c585a7", "rev": "856b01ebd1de3f53c3929ce8082d9d67d799d816",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -231,11 +231,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1774991950, "lastModified": 1773422513,
"narHash": "sha256-kScKj3qJDIWuN9/6PMmgy5esrTUkYinrO5VvILik/zw=", "narHash": "sha256-MPjR48roW7CUMU6lu0+qQGqj92Kuh3paIulMWFZy+NQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "f2d3e04e278422c7379e067e323734f3e8c585a7", "rev": "ef12a9a2b0f77c8fa3dda1e7e494fca668909056",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -274,12 +274,12 @@
"nixpkgs-regression": "nixpkgs-regression" "nixpkgs-regression": "nixpkgs-regression"
}, },
"locked": { "locked": {
"lastModified": 1774642787, "lastModified": 1773945516,
"narHash": "sha256-5pg3HyPEUj/AXXwOQAwyieyDx0c1/1rf7+EsOCa1rJM=", "narHash": "sha256-1jyfMm6q7LY0mZQgN3TeHryTkT6XhtloOwuY0rNu1HQ=",
"rev": "cb9989b5b2329842fd7a2586429351d1ede16d04", "rev": "8483ea6d45bb8a0a7fffa28d1b2abc9fe098379b",
"revCount": 24851, "revCount": 24829,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.17.2/019d3110-f384-7933-a525-8f854039828f/source.tar.gz" "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.17.1/019d0787-b4b2-7dcd-a94a-2f9fd34dac4b/source.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@ -288,11 +288,11 @@
}, },
"nixos": { "nixos": {
"locked": { "locked": {
"lastModified": 1774799055, "lastModified": 1773964973,
"narHash": "sha256-Tsq9BCz0q47ej1uFF39m4tuhcwru/ls6vCCJzutEpaw=", "narHash": "sha256-NV/J+tTER0P5iJhUDL/8HO5MDjDceLQPRUYgdmy5wXw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "107cba9eb4a8d8c9f8e9e61266d78d340867913a", "rev": "812b3986fd1568f7a858f97fcf425ad996ba7d25",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -319,11 +319,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1774933469, "lastModified": 1774018263,
"narHash": "sha256-OrnCQeUO2bqaWUl0lkDWyGWjKsOhtCyd7JSfTedQNUE=", "narHash": "sha256-HHYEwK1A22aSaxv2ibhMMkKvrDGKGlA/qObG4smrSqc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "f4c4c2c0c923d7811ac2a63ccc154767e4195337", "rev": "2d4b4717b2534fad5c715968c1cece04a172b365",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -365,22 +365,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-last-building": {
"locked": {
"lastModified": 1754028485,
"narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "59e69648d345d6e8fef86158c555730fa12af9de",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "59e69648d345d6e8fef86158c555730fa12af9de",
"type": "github"
}
},
"nixpkgs-regression": { "nixpkgs-regression": {
"locked": { "locked": {
"lastModified": 1643052045, "lastModified": 1643052045,
@ -413,12 +397,12 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1774273680, "lastModified": 1773597492,
"narHash": "sha256-a++tZ1RQsDb1I0NHrFwdGuRlR5TORvCEUksM459wKUA=", "narHash": "sha256-hQ284SkIeNaeyud+LS0WVLX+WL2rxcVZLFEaK0e03zg=",
"rev": "fdc7b8f7b30fdbedec91b71ed82f36e1637483ed", "rev": "a07d4ce6bee67d7c838a8a5796e75dff9caa21ef",
"revCount": 968305, "revCount": 963717,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.968305%2Brev-fdc7b8f7b30fdbedec91b71ed82f36e1637483ed/019d1e65-315b-7c50-9232-ef9e46632115/source.tar.gz" "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.963717%2Brev-a07d4ce6bee67d7c838a8a5796e75dff9caa21ef/019cfa58-0a94-7ef5-9db4-b1ad28c57d49/source.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@ -427,11 +411,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1774709303, "lastModified": 1773821835,
"narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=", "narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685", "rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -453,7 +437,6 @@
"nixos-facter-modules": "nixos-facter-modules", "nixos-facter-modules": "nixos-facter-modules",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
"nixpkgs-last-building": "nixpkgs-last-building",
"zen-browser": "zen-browser" "zen-browser": "zen-browser"
} }
}, },
@ -501,11 +484,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775021133, "lastModified": 1774103303,
"narHash": "sha256-JB0u0evfSlmNg9HdGDxtXjaCcdKUpFPdSAMGxvJo5Pw=", "narHash": "sha256-ZKsQGY0D4DLe3071/RZSQHLqqmFvsA38PudjEvnPbZI=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "4bf1a6837064486c4f573a9d500c4cf3c1c075c0", "rev": "ae52b215dd66f73cb131106b7588f3a983617cee",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -4,7 +4,6 @@
inputs = { inputs = {
nixos.url = "github:NixOS/nixpkgs/nixos-25.11"; nixos.url = "github:NixOS/nixpkgs/nixos-25.11";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-last-building.url = "github:NixOS/nixpkgs/59e69648d345d6e8fef86158c555730fa12af9de";
nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; nixos-facter-modules.url = "github:numtide/nixos-facter-modules";
nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-hardware.url = "github:NixOS/nixos-hardware/master";
determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/0.1"; determinate.url = "https://flakehub.com/f/DeterminateSystems/determinate/0.1";
@ -41,7 +40,6 @@
nixos, nixos,
self, self,
nixpkgs, nixpkgs,
nixpkgs-last-building,
nixos-facter-modules, nixos-facter-modules,
nixos-hardware, nixos-hardware,
determinate, determinate,

View file

@ -1,5 +1,4 @@
{ {
config,
inputs, inputs,
lib, lib,
pkgs, pkgs,
@ -18,7 +17,7 @@
}) })
]; ];
nix.package = lib.mkIf (config.networking.hostName == "NOcomputer") pkgs.lixPackageSets.stable.lix; nix.package = pkgs.lixPackageSets.stable.lix;
programs.pmount.enable = true; programs.pmount.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View file

@ -55,7 +55,7 @@
]; ];
boot.kernelModules = ["amdgpu"]; boot.kernelModules = ["amdgpu"];
powerManagement.cpuFreqGovernor = "powersave"; powerManagement.cpuFreqGovernor = "powersave";
# systemd.sleep.extraConfig = "HibernateDelaySec=360m"; systemd.sleep.extraConfig = "HibernateDelaySec=360m";
nix.settings = { nix.settings = {
connect-timeout = 5; connect-timeout = 5;

View file

@ -4,85 +4,80 @@
pkgs, pkgs,
lib, lib,
... ...
}: let }: {
pkgs-last-building = inputs.nixpkgs-last-building.legacyPackages.${pkgs.system}; users.users.tao.packages = with pkgs; [
in { grayjay
users.users.tao.packages = # keep-sorted start sticky_comments=no
(with pkgs-last-building; [ # android-tools
oculante # https://nixpk.gs/pr-tracker.html?pr=502921 # boxxy
]) # carapace
++ (with pkgs; [ # davinci-resolve
# keep-sorted start sticky_comments=no # fractal
# android-tools # gurk-rs
# boxxy # jellyfin-media-player
# carapace # nixos-anywhere
# davinci-resolve # piper
# fractal # syncthingtray
# gurk-rs # taskwarrior3
# jellyfin-media-player # tectonic
# nixos-anywhere # texlab
# piper # thunderbird
# syncthingtray # wkhtmltopdf
# taskwarrior3 appimage-run
# tectonic aspell
# texlab aspellDicts.en
# thunderbird bitwarden-cli
# wkhtmltopdf bitwarden-desktop
appimage-run bottles
aspell calibre
aspellDicts.en darktable
bitwarden-cli deluge
bitwarden-desktop discord
bottles element-desktop
calibre forgejo-cli
darktable freecad-wayland
deluge gocryptfs
discord jellyfin-mpv-shim
element-desktop man-pages
forgejo-cli man-pages-posix
freecad-wayland miniserve
gocryptfs mousai
grayjay nix-output-monitor
jellyfin-mpv-shim nufmt
man-pages nushell
man-pages-posix nvd
miniserve obs-studio
mousai oculante
nix-output-monitor onlyoffice-desktopeditors
nufmt openscad
nushell pandoc
nvd pipe-rename
obs-studio printrun
onlyoffice-desktopeditors prusa-slicer
openscad qmk
pandoc qmk-udev-rules
pipe-rename qmk_hid
printrun ripgrep-all
prusa-slicer rqbit
qmk signal-desktop
qmk-udev-rules slack
qmk_hid snapper
ripgrep-all starship
rqbit syncplay
signal-desktop tinymist
slack toastify
snapper typst
starship usbutils
syncplay vial
tinymist wezterm
toastify wl-clipboard-rs
typst yt-dlp
usbutils zathura
vial zoom-us
wezterm zotero
wl-clipboard-rs zoxide
yt-dlp # keep-sorted end
zathura ];
zoom-us
zotero
zoxide
# keep-sorted end
]);
virtualisation.waydroid = { virtualisation.waydroid = {
enable = true; enable = true;
package = pkgs.waydroid-nftables; package = pkgs.waydroid-nftables;

View file

@ -22,6 +22,8 @@ in {
imports = [ imports = [
./boxxy.nix ./boxxy.nix
(import ./helix.nix {inherit pkgs inputs;}) (import ./helix.nix {inherit pkgs inputs;})
# ./plasma.nix
# ./firefox.nix
]; ];
# home.sessionPath = [ # home.sessionPath = [
@ -32,18 +34,8 @@ in {
source = ./autostart; source = ./autostart;
recursive = true; recursive = true;
}; };
home.file.".config/direnv/lib/" = { home.file.".config/direnv/lib/".source = ./direnv;
source = ./direnv; home.file.".config/direnv/lib/".recursive = true;
recursive = true;
};
home.file.".config/nushell/scripts" = {
source = ./nushell/extras;
recursive = true;
};
home.file.".config/nushell/completions" = {
source = ./nushell/completions;
recursive = true;
};
programs = { programs = {
bacon = { bacon = {
@ -88,7 +80,11 @@ in {
settings = { settings = {
color = "gruvbox"; color = "gruvbox";
flags = { flags = {
battery = true; battery =
# if lib.strings.hasPrefix "NOlaptop" (builtins.readFile /etc/hostname)
# then true
# else false;
true;
hide_time = true; hide_time = true;
enable_gpu = true; enable_gpu = true;
}; };
@ -97,6 +93,7 @@ in {
direnv = { direnv = {
enable = true; enable = true;
enableNushellIntegration = true;
nix-direnv.enable = true; nix-direnv.enable = true;
config = { config = {
load_dotenv = true; load_dotenv = true;
@ -130,17 +127,6 @@ in {
mpv = { mpv = {
config = { config = {
demuxer-max-bytes = "10GiB"; demuxer-max-bytes = "10GiB";
alang = "ja,jp,jpn,en,eng";
slang = "en,eng";
sub-scale = 0.5;
hr-seek = "yes";
hwdec = "auto";
vo = "gpu-next";
target-colorspace-hint = "auto";
}; };
}; };
@ -163,17 +149,12 @@ in {
configFile.source = ./nushell/config.nu; configFile.source = ./nushell/config.nu;
envFile.source = ./nushell/env.nu; envFile.source = ./nushell/env.nu;
# extraConfig = builtins.readFile ./nushell/stuff.nu; # extraConfig = builtins.readFile ./nushell/stuff.nu;
# extraConfig = lib.concatStrings (map builtins.readFile (map (x: ./nushell/extras/. + x) (map (x: "/" + x) (builtins.attrNames (builtins.readDir ./nushell/extras))))); extraConfig = lib.concatStrings (map builtins.readFile (map (x: ./nushell/extras/. + x) (map (x: "/" + x) (builtins.attrNames (builtins.readDir ./nushell/extras)))));
plugins = with pkgs.nushellPlugins; [ plugins = with pkgs.nushellPlugins; [
# skim
# desktop_notifications
# highlight
# units
]; ];
}; };
ssh = { ssh = {
enableDefaultConfig = false;
enable = true; enable = true;
matchBlocks = { matchBlocks = {
"*" = { "*" = {
@ -203,6 +184,7 @@ in {
starship = { starship = {
enable = true; enable = true;
enableNushellIntegration = true;
settings = builtins.fromTOML (builtins.readFile ./starship.toml); settings = builtins.fromTOML (builtins.readFile ./starship.toml);
}; };
@ -231,6 +213,7 @@ in {
zoxide = { zoxide = {
enable = true; enable = true;
enableNushellIntegration = true;
}; };
}; };
@ -308,5 +291,5 @@ in {
home.username = "tao"; home.username = "tao";
home.homeDirectory = "/home/tao"; home.homeDirectory = "/home/tao";
home.stateVersion = "26.05"; home.stateVersion = "23.11";
} }

View file

@ -825,8 +825,3 @@ $env.config = {
mkdir ($nu.data-dir | path join "vendor/autoload") mkdir ($nu.data-dir | path join "vendor/autoload")
starship init nu | save -f ($nu.data-dir | path join "vendor/autoload/starship.nu") starship init nu | save -f ($nu.data-dir | path join "vendor/autoload/starship.nu")
use std/dirs use std/dirs
use aliases.nu *
use nix.nu *
use stuff.nu *
use tailscale.nu *

View file

@ -0,0 +1,82 @@
alias b = btm
alias d = dirs
alias da = dirs add
alias dg = dirs goto
alias dn = dirs next
alias dp = dirs prev
alias dr = dirs drop
alias fetch = fastfetch
alias follow = readlink -f
alias p = pueue
alias snapper = snapper -c home
alias zl = zellij
alias cringe = sudo bootctl set-oneshot auto-windows
def h [query?: path] {
(if ($query != null) {sk -1 -q ($query | path basename)} else {sk -1})
| if ($in != "") {
hx $in
}
# | complete
# | if $in.exit_code == 0 {
# $in.stdout | str trim | hx $in
# }
}
def srg [] {
sk --ansi -i -c 'rg --color=always --line-number "{}"'
}
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 jp = jj git push
alias js = jj status
alias jw = jj workspace update-stale
alias jt = jj log -r @ -T `description`
alias jn = jj next --edit
def jm --wrapped [-r: string = "@", ...rest] {
mut r = $r
if (jj log -r @ --no-pager --no-graph --template 'if(empty,"empty")' | $in == "empty") {
$r = "@-"
}
jj bookmark set main -r $r ...$rest
jj git push
}
alias la = ls -a
alias ll = ls -l
alias lal = ls -la
alias ccp = cp -prv
alias mvp = mv-full -pv
def --env c [path: path = "~"] {
cd $path
l
}
def l --wrapped [path: path = ".", ...rest] {
ls -t $path ...$rest | insert ext {|row| $row.name | parse "{name}.{ext}" | get ext | get 0? } | sort-by --natural type ext name | reject type ext
}
alias list-automounts = systemctl list-units --type=automount
def remount [] {
let reload = list-automounts | detect columns --guess | drop 5 | get DESCRIPTION | input list --multi
for mount in $reload {
sudo systemctl restart $mount
}
}
def cpedit [file: path] {
mv $file $"($file).sym"; cp $"($file).sym" $file; chmod +w $file
}
alias core-job = job
alias job = job list

View file

@ -1,84 +0,0 @@
export alias b = btm
export alias d = dirs
export alias da = dirs add
export alias dg = dirs goto
export alias dn = dirs next
export alias dp = dirs prev
export alias dr = dirs drop
export alias fetch = fastfetch
export alias follow = readlink -f
export alias p = pueue
export alias snapper = snapper -c home
export alias zl = zellij
export def today-iso [] { date now | format date %F }
export alias cringe = sudo bootctl set-oneshot auto-windows
export alias la = ls -a
export alias ll = ls -l
export alias lla = ls -la
export def --env c [path: path = "~"] {
cd $path
l
}
export def l --wrapped [path: path = ".", ...rest] {
ls -t $path ...$rest | insert ext {|row| $row.name | parse "{name}.{ext}" | get ext | get 0? } | sort-by --natural type ext name | reject type ext
}
export def h [query?: path] {
(if ($query != null) {sk -1 -q ($query | path basename)} else {sk -1})
| if ($in != "") {
hx $in
}
# | complete
# | if $in.exit_code == 0 {
# $in.stdout | str trim | hx $in
# }
}
export def srg [] {
sk --ansi -i -c 'rg --color=always --line-number "{}"'
}
export alias j = jj
export alias ja = jj log -r 'all()'
export alias jc = jj desc
export alias jd = jj diff
export alias je = jj edit
export alias jf = jj git fetch
export alias jg = jj git clone --colocate
export alias jp = jj git push
export alias js = jj status
export alias jw = jj workspace update-stale
export alias jt = jj log -r @ -T `description`
export alias jn = jj next --edit
export def jm --wrapped [-r: string = "@", ...rest] {
mut r = $r
if (jj log -r @ --no-pager --no-graph --template 'if(empty,"empty")' | $in == "empty") {
$r = "@-"
}
jj bookmark set main -r $r ...$rest
jj git push
}
export alias list-automounts = systemctl list-units --type=automount
export def remount [] {
let reload = list-automounts | detect columns --guess | drop 5 | get DESCRIPTION | input list --multi
for mount in $reload {
sudo systemctl restart $mount
}
}
export def cpedit [file: path] {
mv $file $"($file).sym"; cp $"($file).sym" $file; chmod +w $file
}
export alias core-job = job
export alias job = job list
export alias mpv-hdr-dv = mpv --target-trc=pq --target-prim=bt.2020 --target-peak=800

View file

@ -1,4 +1,4 @@
export def "nu-complete just" [] { def "nu-complete just" [] {
(^just --dump --unstable --dump-format json | from json).recipes | transpose recipe data | flatten | where {|row| $row.private == false } | select recipe doc parameters | rename value description (^just --dump --unstable --dump-format json | from json).recipes | transpose recipe data | flatten | where {|row| $row.private == false } | select recipe doc parameters | rename value description
} }

View file

@ -1,11 +1,11 @@
export def --wrapped rebuild [--force (-f), subcommand, ...rest] { def --wrapped rebuild [--force (-f), subcommand, ...rest] {
if not ( if not (
df -h | detect columns --guess | where "Mounted on" == "/" or "Mounted on" == "/boot" | get Use% | each {parse "{usage}%" | get usage | into int} | flatten | all {$in < 99} df -h | detect columns --guess | where "Mounted on" == "/" or "Mounted on" == "/boot" | get Use% | each {parse "{usage}%" | get usage | into int} | flatten | all {$in < 99}
) and not $force { ) and not $force {
print "not enough disk space!" print "not enough disk space!"
return false return false
} }
mut builders = "" mut builders = ""
if (open /etc/hostname --raw) == "NOlaptop\n" and ($builders != "") { if (open /etc/hostname --raw) == "NOlaptop\n" and ($builders != "") {
if (ping -c1 -W1 nocomputer | complete | $in.exit_code == 0) { if (ping -c1 -W1 nocomputer | complete | $in.exit_code == 0) {
@ -27,9 +27,9 @@ export def --wrapped rebuild [--force (-f), subcommand, ...rest] {
} }
} }
export alias nd = nix develop alias nd = nix develop
export def ns [...packages: string] { def ns [...packages: string] {
let packages = $packages | each {$"nixpkgs#($in)"} let packages = $packages | each {$"nixpkgs#($in)"}
nix shell ...$packages nix shell ...$packages
} }
@ -38,17 +38,16 @@ export def ns [...packages: string] {
# nix search nixpkgs $package # nix search nixpkgs $package
# } # }
export def post-rebuild [] { def post-rebuild [] {
rm -r ~/.config/helix/runtime/grammars/ rm -r ~/.config/helix/runtime/grammars/
hx --grammar fetch; hx --grammar build hx --grammar fetch; hx --grammar build
rustup update rustup update
} }
export def get_gen [] { def get_gen [] {
sudo nix-env --profile /nix/var/nix/profiles/system --list-generations | detect columns --guess -n | last | get column0 sudo nix-env --profile /nix/var/nix/profiles/system --list-generations | detect columns --guess -n | last | get column0
} }
def bump [...rest] {
export def bump [...rest] {
cd /home/tao/projects/NOflake/ cd /home/tao/projects/NOflake/
mut r = "@" mut r = "@"
loop { loop {
@ -58,7 +57,7 @@ export def bump [...rest] {
} }
"empty" => { "empty" => {
$r = $r + "-" $r = $r + "-"
continue continue
} }
_ => { _ => {
jj new -r $r -m "bump (unbuilt)" jj new -r $r -m "bump (unbuilt)"
@ -74,17 +73,18 @@ export def bump [...rest] {
if ($build_status and ($curr_gen == $new_gen)) { if ($build_status and ($curr_gen == $new_gen)) {
jj desc -r $r -m $"bump (date now | format date "%Y-%m-%d")" jj desc -r $r -m $"bump (date now | format date "%Y-%m-%d")"
jj bookmark set main -r $r jj bookmark set main -r $r
jj git push --allow-empty-description jj git push --allow-empty-description
} else { } else {
jj desc -r $r -m "bump (failed)" jj desc -r $r -m "bump (failed)"
} }
nvd history nvd history
} }
export alias rb = rebuild boot alias rb = rebuild boot
export alias rs = rebuild switch alias rs = rebuild switch
export def gc [] { def gc [] {
sudo nix-collect-garbage -d sudo nix-collect-garbage -d
snapper clear snapper clear
} }

View file

@ -1,12 +1,12 @@
export def done [] { def done [] {
toastify send -a "" done toastify send -a "" done
} }
export def "config stuff" [] { def "config stuff" [] {
hx ~/projects/NOflake/users/tao/nushell/stuff.nu hx ~/projects/NOflake/users/tao/nushell/stuff.nu
} }
export def fixme [] { def fixme [] {
let items = rg "FIXME|TODO" --json let items = rg "FIXME|TODO" --json
| lines | lines
| each {from json} | each {from json}
@ -24,30 +24,26 @@ export def fixme [] {
hx ($items | get $sel | $"($in.text):($in.line_number)") hx ($items | get $sel | $"($in.text):($in.line_number)")
} }
# source ~/.zoxide.nu source ~/.zoxide.nu
export def --wrapped --env z [...rest] { def --wrapped --env z [...rest] {
zo ...$rest zo ...$rest
l l
} }
export def "snapper list" [] { def "snapper list" [] {
snapper --csvout list | from csv | reject config subvolume default user used-space userdata active snapper --csvout list | from csv | reject config subvolume default user used-space userdata active
} }
export def "snapper clear" [] { def "snapper clear" [] {
let list = snapper --csvout list | from csv | reject config subvolume default user used-space userdata active | skip 1 let list = snapper --csvout list | from csv | reject config subvolume default user used-space userdata active | skip 1
let first = $list | first let first = $list | first
let last = $list | last let last = $list | last
if $first != $last { snapper delete $"($first.number)-($last.number)"
snapper delete $"($first.number)-($last.number)"
} else {
snapper delete $first
}
} }
export def "fans" [duty?: int] { def "fans" [duty?: int] {
match (hostname) { match (hostname) {
"NOcomputer" => { "NOcomputer" => {
let mode_path: path = (glob "/sys/devices/platform/nct6775.656/hwmon/hwmon*/pwm2_enable" | get 0) let mode_path: path = (glob "/sys/devices/platform/nct6775.656/hwmon/hwmon*/pwm2_enable" | get 0)
@ -65,15 +61,15 @@ export def "fans" [duty?: int] {
} }
} }
export alias louder = fans 100 alias louder = fans 100
export alias loud = fans alias loud = fans
export alias quiet = fans 42 alias quiet = fans 42
export def asciicam [] { def asciicam [] {
$env.DISPLAY = null $env.DISPLAY = null
mpv -vo caca av://v4l2:/dev/video0 --demuxer-lavf-o=input_format=mjpeg --profile=low-latency e>| /dev/null mpv -vo caca av://v4l2:/dev/video0 --demuxer-lavf-o=input_format=mjpeg --profile=low-latency e>| /dev/null
} }
export def sunu [command] { def sunu [command] {
sudo nu --stdin --commands $command sudo nu --stdin --commands $command
} }

View file

@ -1,5 +1,5 @@
# see if others see us connecting from a mullvad exit node # see if others see us connecting from a mullvad exit node
export def check-mullvad [] { def check-mullvad [] {
print -n "checking mullvad status" print -n "checking mullvad status"
mut check = false mut check = false
mut j = null mut j = null
@ -13,7 +13,7 @@ export def check-mullvad [] {
} }
# switch to a specific exit node, or none # switch to a specific exit node, or none
export def te [exit_node: string = ""] { def te [exit_node: string = ""] {
if ($exit_node | is-empty) and (ps | find deluge | is-not-empty) { if ($exit_node | is-empty) and (ps | find deluge | is-not-empty) {
print "stop summoning first!" print "stop summoning first!"
return false return false
@ -25,12 +25,12 @@ export def te [exit_node: string = ""] {
check-mullvad check-mullvad
} else { } else {
print "exit node set" print "exit node set"
return true return true
} }
} }
# list all mullvad exit nodes # list all mullvad exit nodes
export def tx [] { def tx [] {
tailscale exit-node list tailscale exit-node list
| lines | lines
| drop 4 | drop 4
@ -42,7 +42,7 @@ tailscale exit-node list
} }
# sort mullvad exit nodes by fastest ping # sort mullvad exit nodes by fastest ping
export def tsp [] { def tsp [] {
tx tx
| where COUNTRY == USA | where COUNTRY == USA
| par-each { | par-each {
@ -66,18 +66,18 @@ tx
} }
# switch to a random mullvad exit node # switch to a random mullvad exit node
export def tr [] { def tr [] {
tx tx
| get (random int 0..($in | length)) | get (random int 0..($in | length))
| te $in.IP | te $in.IP
| return $in | return $in
} }
export alias t = tailscale alias t = tailscale
export alias ts = tailscale status alias ts = tailscale status
export alias tu = tailscale up alias tu = tailscale up
export alias td = tailscale down alias td = tailscale down
export alias ta = tailscale exit-node suggest alias ta = tailscale exit-node suggest
export alias tt = tailscale switch --list | detect columns | input list -d Tailnet | get ID | t switch $in alias tt = tailscale switch --list | detect columns | input list -d Tailnet | get ID | t switch $in
export alias wno = ssh root@whyfi "etherwake -i br-lan 04:42:1A:E7:62:C3" alias wno = ssh root@whyfi "etherwake -i br-lan 04:42:1A:E7:62:C3"