diff --git a/.envrc b/.envrc deleted file mode 100644 index e6de847..0000000 --- a/.envrc +++ /dev/null @@ -1 +0,0 @@ -jj git fetch diff --git a/extras/dev.nix b/extras/dev.nix index a4b9db6..3418278 100644 --- a/extras/dev.nix +++ b/extras/dev.nix @@ -15,6 +15,7 @@ # }; programs.qgroundcontrol.enable = true; environment.systemPackages = with pkgs; [ + chromium claude-code # keep-sorted start sticky_comments=no # act @@ -157,11 +158,25 @@ services.udev.extraRules = '' SUBSYSTEM == "tty", GROUP="dialout", ATTRS{interface}=="Black Magic GDB Server", SYMLINK+="ttyBmpGdb" SUBSYSTEM == "tty", GROUP="dialout", ATTRS{interface}=="Black Magic UART Port", SYMLINK+="ttyBmpTarg" + + # mobili + KERNEL=="js[0-9]*", MODE="0666" ''; + boot.kernel.sysctl = { + "net.core.rmem_max" = 67108864; + "net.core.wmem_max" = 67108864; + "net.core.rmem_max_default" = 67108864; + "net.core.wmem_max_default" = 67108864; + }; + + hardware.nvidia-container-toolkit.enable = true; virtualisation.docker = { daemon.settings = { - features.buildkit = true; + features = { + buildkit = true; + cdi = true; + }; }; enable = true; # storageDriver = diff --git a/extras/gaming.nix b/extras/gaming.nix index 209156d..b27a99e 100644 --- a/extras/gaming.nix +++ b/extras/gaming.nix @@ -1,4 +1,10 @@ -{pkgs, ...}: { +{ + pkgs, + inputs, + ... +}: let + pkgs-last-building = inputs.nixpkgs-last-building.legacyPackages.${pkgs.system}; +in { # aagl.url = "github:ezKEa/aagl-gtk-on-nix"; # aagl.inputs.nixpkgs.follows = "nixpkgs"; @@ -9,24 +15,27 @@ ui.enable = true; }; - environment.systemPackages = with pkgs; [ - # keep-sorted start - # parsec-bin - # yuzu # nintendo can suck the shit out of my asshole - easyeffects - gamemode - graalvmPackages.graalvm-ce - heroic - lutris - mangohud - osu-lazer-bin - prismlauncher - protonup-qt - r2modman - temurin-jre-bin-17 - wine - # keep-sorted end - ]; + environment.systemPackages = + (with pkgs-last-building; [ + # lutris + ]) + ++ (with pkgs; [ + # keep-sorted start + # parsec-bin + # yuzu # nintendo can suck the shit out of my asshole + easyeffects + gamemode + graalvmPackages.graalvm-ce + heroic + mangohud + osu-lazer-bin + prismlauncher + protonup-qt + r2modman + temurin-jre-bin-17 + wine + # keep-sorted end + ]); networking.firewall.allowedTCPPorts = [25565]; diff --git a/extras/uwuraid.nix b/extras/uwuraid.nix index 6c8ad5b..4ab97d8 100644 --- a/extras/uwuraid.nix +++ b/extras/uwuraid.nix @@ -5,7 +5,7 @@ type = "cifs"; mountConfig = { # Options = "noauto,noatime,async,users,rw,x-systemd.automount,credentials=${config.age.secrets.uwuraid.path},file_mode=0777,dir_mode=0777"; - Options = "_netdev,noserverino,noauto,noatime,async,users,rw,x-systemd.automount,x-systemd.requires=network-online.target,nofail,soft,credentials=${config.age.secrets.uwuraid.path},file_mode=0777,dir_mode=0777"; + Options = "_netdev,noserverino,nounix,nobrl,noperm,noauto,noatime,async,users,rw,x-systemd.automount,x-systemd.requires=network-online.target,nofail,soft,credentials=${config.age.secrets.uwuraid.path},file_mode=0777,dir_mode=0777"; }; }; in [ diff --git a/flake.lock b/flake.lock index ec8a4a3..07dd841 100644 --- a/flake.lock +++ b/flake.lock @@ -30,12 +30,12 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1774669632, - "narHash": "sha256-OHRHymsM6sX0B7Xjpvf3m49vTgKzJGukJhw/O1O5bj4=", - "rev": "2edae0b5150c83c07cf7b7e86e937ad956d78197", - "revCount": 410, + "lastModified": 1778179392, + "narHash": "sha256-W6zorvjBYbzMNvqKIqCdpDF4rq3gj50Xximl56YM9/I=", + "rev": "efd54faa68be8cd777b5c28cab11e638998a0853", + "revCount": 416, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/0.1.410%2Brev-2edae0b5150c83c07cf7b7e86e937ad956d78197/019d3291-0e4f-7484-aaae-6a10dd00f832/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/0.1.416%2Brev-efd54faa68be8cd777b5c28cab11e638998a0853/019e03c3-8bbc-7443-bd6d-c787773c6154/source.tar.gz?rev=efd54faa68be8cd777b5c28cab11e638998a0853&revCount=416" }, "original": { "type": "tarball", @@ -45,37 +45,37 @@ "determinate-nixd-aarch64-darwin": { "flake": false, "locked": { - "narHash": "sha256-T5PoERn2FTupvCwGmQhbYO/oQ0w+51nRn+0QRbnA9tg=", + "narHash": "sha256-z4mCqKI3Qd6weuHrlfzGccJG0giym/VJhKv20ijRSs0=", "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.2/macOS" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.20.0/macOS" }, "original": { "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.2/macOS" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.20.0/macOS" } }, "determinate-nixd-aarch64-linux": { "flake": false, "locked": { - "narHash": "sha256-T0iRt3f+2Q+KUU1VzdGiG6GluViuxuKr+bMG5eVtPO0=", + "narHash": "sha256-yW+VNepSRytzfanSssPMJPvwioCcmlZYaBX8++UFkAk=", "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.2/aarch64-linux" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.20.0/aarch64-linux" }, "original": { "type": "file", - "url": "https://install.determinate.systems/determinate-nixd/tag/v3.17.2/aarch64-linux" + "url": "https://install.determinate.systems/determinate-nixd/tag/v3.20.0/aarch64-linux" } }, "determinate-nixd-x86_64-linux": { "flake": false, "locked": { - "narHash": "sha256-FDeJY4hugYM0+vB2rvKY8WpYgPNH7kNS0M082Rnk/CI=", + "narHash": "sha256-+L102C3Hhkd1GlXmRm2eLTLsZKBxEvooiQZFqQRlBf0=", "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.20.0/x86_64-linux" }, "original": { "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.20.0/x86_64-linux" } }, "disko": { @@ -85,11 +85,11 @@ ] }, "locked": { - "lastModified": 1773889306, - "narHash": "sha256-PAqwnsBSI9SVC2QugvQ3xeYCB0otOwCacB1ueQj2tgw=", + "lastModified": 1777713215, + "narHash": "sha256-8GzXDOXckDWwST8TY5DbwYFjdvQLlP7K9CLSVx6iTTo=", "owner": "nix-community", "repo": "disko", - "rev": "5ad85c82cc52264f4beddc934ba57f3789f28347", + "rev": "63b4e7e6cf75307c1d26ac3762b886b5b0247267", "type": "github" }, "original": { @@ -169,11 +169,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1775012637, - "narHash": "sha256-Now9n+9BD37KilctvSOy3GzAdvQLZtPfCcGnxmxtaig=", + "lastModified": 1778551011, + "narHash": "sha256-woJV7tJwwzjR0xWDNuGpwMENe/OEMAdSGg+nqWs9tUE=", "owner": "helix-editor", "repo": "helix", - "rev": "daac117bbb4348a496bdf851a9a5c1d9612a2938", + "rev": "8c41b11607924f7584b77c8a6e6b16439a2f559f", "type": "github" }, "original": { @@ -210,11 +210,11 @@ ] }, "locked": { - "lastModified": 1774991950, - "narHash": "sha256-kScKj3qJDIWuN9/6PMmgy5esrTUkYinrO5VvILik/zw=", + "lastModified": 1778681890, + "narHash": "sha256-RK4sTgei29wBzLu+e4ljeixKutWhbMygFsdxdFKpZOU=", "owner": "nix-community", "repo": "home-manager", - "rev": "f2d3e04e278422c7379e067e323734f3e8c585a7", + "rev": "7654d90b94bab7eba3a52fd6f73b3f5a4c544fa2", "type": "github" }, "original": { @@ -231,11 +231,11 @@ ] }, "locked": { - "lastModified": 1774991950, - "narHash": "sha256-kScKj3qJDIWuN9/6PMmgy5esrTUkYinrO5VvILik/zw=", + "lastModified": 1777594677, + "narHash": "sha256-h90sHwoRJLRvaTpZroTvU2JRHDFj0czUafM8eqLe1RI=", "owner": "nix-community", "repo": "home-manager", - "rev": "f2d3e04e278422c7379e067e323734f3e8c585a7", + "rev": "899c08a15beae5da51a5cecd6b2b994777a948da", "type": "github" }, "original": { @@ -274,12 +274,12 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1774642787, - "narHash": "sha256-5pg3HyPEUj/AXXwOQAwyieyDx0c1/1rf7+EsOCa1rJM=", - "rev": "cb9989b5b2329842fd7a2586429351d1ede16d04", - "revCount": 24851, + "lastModified": 1778177425, + "narHash": "sha256-oyHvP5HDRe59opmjTrq2ED9lh+R9FrHyaCGPPNfBqWM=", + "rev": "f0ccb960d3ad5bff28acd9cabf8bdef885b5d52f", + "revCount": 25858, "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.20.0/019e03bc-3f83-7833-aba3-b691ef4956c7/source.tar.gz" }, "original": { "type": "tarball", @@ -288,11 +288,11 @@ }, "nixos": { "locked": { - "lastModified": 1774799055, - "narHash": "sha256-Tsq9BCz0q47ej1uFF39m4tuhcwru/ls6vCCJzutEpaw=", + "lastModified": 1778430510, + "narHash": "sha256-Ti+ZBvW6yrWWAg2szExVTwCd4qOJ3KlVr1tFHfyfi8Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "107cba9eb4a8d8c9f8e9e61266d78d340867913a", + "rev": "8fd9daa3db09ced9700431c5b7ad0e8ba199b575", "type": "github" }, "original": { @@ -319,11 +319,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1774933469, - "narHash": "sha256-OrnCQeUO2bqaWUl0lkDWyGWjKsOhtCyd7JSfTedQNUE=", + "lastModified": 1778593042, + "narHash": "sha256-xYGrSg6354UK2K4WSQd4+TfyvfqmvFbSY+ZtGQUXK0c=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "f4c4c2c0c923d7811ac2a63ccc154767e4195337", + "rev": "9bd7c80d43e258aaa607d83b43661df11444d808", "type": "github" }, "original": { @@ -399,26 +399,26 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1761597516, - "narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=", - "rev": "daf6dc47aa4b44791372d6139ab7b25269184d55", - "revCount": 811874, + "lastModified": 1773222311, + "narHash": "sha256-BHoB/XpbqoZkVYZCfXJXfkR+GXFqwb/4zbWnOr2cRcU=", + "rev": "0590cd39f728e129122770c029970378a79d076a", + "revCount": 909248, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2505.811874%2Brev-daf6dc47aa4b44791372d6139ab7b25269184d55/019a3494-3498-707e-9086-1fb81badc7fe/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2511.909248%2Brev-0590cd39f728e129122770c029970378a79d076a/019ce32b-8ace-7339-b129-cceaa8dd10c6/source.tar.gz" }, "original": { "type": "tarball", - "url": "https://flakehub.com/f/NixOS/nixpkgs/0.2505" + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.2511" } }, "nixpkgs_3": { "locked": { - "lastModified": 1774273680, - "narHash": "sha256-a++tZ1RQsDb1I0NHrFwdGuRlR5TORvCEUksM459wKUA=", - "rev": "fdc7b8f7b30fdbedec91b71ed82f36e1637483ed", - "revCount": 968305, + "lastModified": 1777826146, + "narHash": "sha256-wQ/iN5Zp5VIa3ebBibijPnLyKhor+xEbDy4d0goa9Zs=", + "rev": "73c703c22422b8951895a960959dbbaca7296492", + "revCount": 991389, "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.991389%2Brev-73c703c22422b8951895a960959dbbaca7296492/019df6c8-934b-7d40-b402-027bb5def30f/source.tar.gz" }, "original": { "type": "tarball", @@ -427,11 +427,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1774709303, - "narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=", + "lastModified": 1778443072, + "narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685", + "rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32", "type": "github" }, "original": { @@ -465,11 +465,11 @@ ] }, "locked": { - "lastModified": 1759631821, - "narHash": "sha256-V8A1L0FaU/aSXZ1QNJScxC12uP4hANeRBgI4YdhHeRM=", + "lastModified": 1775358767, + "narHash": "sha256-f2eC+WIfhjevCPQILuV08i/kmKZzYZpUvkom/33VxCA=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "1d7cbdaad90f8a5255a89a6eddd8af24dc89cafe", + "rev": "20fd44bc663daa53a2575e01293e24e681d62244", "type": "github" }, "original": { @@ -501,11 +501,11 @@ ] }, "locked": { - "lastModified": 1775021133, - "narHash": "sha256-JB0u0evfSlmNg9HdGDxtXjaCcdKUpFPdSAMGxvJo5Pw=", + "lastModified": 1778585655, + "narHash": "sha256-yfxy9aTlIgU2Z36H8cJURgYLgjT4qvFeOzoAC/HXcKM=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "4bf1a6837064486c4f573a9d500c4cf3c1c075c0", + "rev": "42f41abcef13dc81c85407b57aa1fd1bde46e46c", "type": "github" }, "original": { diff --git a/systems/NOmom.nix b/systems/NOmom.nix index 6f14fc4..8e20673 100644 --- a/systems/NOmom.nix +++ b/systems/NOmom.nix @@ -20,7 +20,7 @@ environment.plasma6.excludePackages = with pkgs; [ kdePackages.elisa kdePackages.konsole - kdePackages.gwenview + # kdePackages.gwenview kdePackages.kate # kdePackages.xwaylandvideobridge xterm diff --git a/systems/disk-config.nix b/systems/disk-config.nix index d543dca..fef5d31 100644 --- a/systems/disk-config.nix +++ b/systems/disk-config.nix @@ -32,11 +32,7 @@ format = "bcachefs"; mountOptions = [ "noatime" - "compression=zstd" - "background_compression=zstd" "discard" - # "fsck" - # "fix_errors" ]; mountpoint = "/"; }; diff --git a/users/tao.nix b/users/tao.nix index 78f4fa2..456a0c7 100644 --- a/users/tao.nix +++ b/users/tao.nix @@ -9,11 +9,15 @@ in { users.users.tao.packages = (with pkgs-last-building; [ - oculante # https://nixpk.gs/pr-tracker.html?pr=502921 + # oculante # https://nixpk.gs/pr-tracker.html?pr=502921 ]) ++ (with pkgs; [ + feedr + sniffnet + oculante # keep-sorted start sticky_comments=no # android-tools + # bottles # boxxy # carapace # davinci-resolve @@ -33,7 +37,6 @@ in { aspellDicts.en bitwarden-cli bitwarden-desktop - bottles calibre darktable deluge @@ -72,6 +75,7 @@ in { tinymist toastify typst + typstyle usbutils vial wezterm @@ -91,6 +95,11 @@ in { environment.shells = with pkgs; [nushell]; fonts.packages = with pkgs; [ + nerd-fonts.iosevka-term + iosevka + libertine + inconsolata + linux-libertine-g # keep-sorted start cooper-hewitt ibm-plex @@ -168,6 +177,8 @@ in { useUserPackages = true; verbose = true; backupFileExtension = ".hm-bak"; - users.tao = import ./tao/HOME.nix {inherit inputs pkgs lib config;}; + overwriteBackup = true; + extraSpecialArgs = {inherit inputs;}; + users.tao = import ./tao/HOME.nix; }; } diff --git a/users/tao/HOME.nix b/users/tao/HOME.nix index c5ef942..cd9568e 100644 --- a/users/tao/HOME.nix +++ b/users/tao/HOME.nix @@ -107,6 +107,9 @@ in { enable = true; settings = { remotes.origin.auto-track-bookmarks = "glob:*"; + aliases = { + "init" = ["git" "init"]; + }; user = { name = "Tao Tien"; email = "29749622+taotien@users.noreply.github.com"; @@ -137,6 +140,8 @@ in { hr-seek = "yes"; + audio-device = "alsa"; + hwdec = "auto"; vo = "gpu-next"; @@ -166,7 +171,7 @@ in { # extraConfig = lib.concatStrings (map builtins.readFile (map (x: ./nushell/extras/. + x) (map (x: "/" + x) (builtins.attrNames (builtins.readDir ./nushell/extras))))); plugins = with pkgs.nushellPlugins; [ # skim - desktop_notifications + # desktop_notifications # highlight # units ]; diff --git a/users/tao/direnv/devenv.sh b/users/tao/direnv/devenv.sh deleted file mode 100644 index d53fcfd..0000000 --- a/users/tao/direnv/devenv.sh +++ /dev/null @@ -1,146 +0,0 @@ -# shellcheck shell=bash -# adapted from https://github.com/nix-community/nix-direnv/blob/master/direnvrc - -REQUIRED_DIRENV_VERSION="2.21.3" - -_nix_direnv_preflight () { - if [[ -z "$direnv" ]]; then - printf '%s\n' "\$direnv environment variable was not defined. Was this script run inside direnv?" - exit 1 - fi - - if [[ -z ${DEVENV_BIN:-} ]]; then - DEVENV_BIN=$(command -v devenv) - if [[ -z "${DEVENV_BIN}" ]]; then - log_error "command not found: devenv, see https://devenv.sh/getting-started/" - exit 1 - fi - fi - - if ! has direnv_version || ! direnv_version "$REQUIRED_DIRENV_VERSION" 2>/dev/null; then - log_error "base direnv version is older than the required v$REQUIRED_DIRENV_VERSION." - exit 1 - fi - - local layout_dir - layout_dir=$(direnv_layout_dir) - - if [[ ! -d "$layout_dir" ]]; then - mkdir -p "$layout_dir" - fi - - export DEVENV_DIRENVRC_VERSION=1 - export DEVENV_DIRENVRC_ROLLING_UPGRADE=1 -} - -_nix_export_or_unset() { - local key=$1 value=$2 - if [[ "$value" == __UNSET__ ]]; then - unset "$key" - else - export "$key=$value" - fi -} - -_nix_import_env() { - local env=$1 - - # Note which environments are active, but make sure we don't repeat them - if [[ ! "''${DIRENV_ACTIVE-}" =~ (^|:)"$PWD"(:|$) ]]; then - export DIRENV_ACTIVE="$PWD:''${DIRENV_ACTIVE-}" - fi - - local old_nix_build_top=${NIX_BUILD_TOP:-__UNSET__} - local old_tmp=${TMP:-__UNSET__} - local old_tmpdir=${TMPDIR:-__UNSET__} - local old_temp=${TEMP:-__UNSET__} - local old_tempdir=${TEMPDIR:-__UNSET__} - local old_xdg_data_dirs=${XDG_DATA_DIRS:-} - eval "$env" - # `nix print-dev-env` will create a temporary directory and use it as TMPDIR - # We cannot rely on this directory being available at all times, - # as it may be garbage collected. - # Instead - just remove it immediately. - # Use recursive & force as it may not be empty. - if [[ -n "${NIX_BUILD_TOP+x}" && "$NIX_BUILD_TOP" == */nix-shell.* && -d "$NIX_BUILD_TOP" ]]; then - rm -rf "$NIX_BUILD_TOP" - fi - - _nix_export_or_unset NIX_BUILD_TOP "$old_nix_build_top" - _nix_export_or_unset TMP "$old_tmp" - _nix_export_or_unset TMPDIR "$old_tmpdir" - _nix_export_or_unset TEMP "$old_temp" - _nix_export_or_unset TEMPDIR "$old_tempdir" - local new_xdg_data_dirs=${XDG_DATA_DIRS:-} - export XDG_DATA_DIRS= - local IFS=: - for dir in $new_xdg_data_dirs${old_xdg_data_dirs:+:}$old_xdg_data_dirs; do - dir="${dir%/}" # remove trailing slashes - if [[ :$XDG_DATA_DIRS: = *:$dir:* ]]; then - continue # already present, skip - fi - XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}$dir" - done -} - -nix_direnv_watch_file() { - log_error "nix_direnv_watch_file is deprecated. Use watch_file instead." - watch_file "$@" -} - -_devenv_watches() { - local path=$1 - local -n _watches=$2 - if [[ -f "$path" ]]; then - while IFS= read -r file; do - file=$(printf "$file") - _watches+=("$file") - done < "$path" - fi -} - -use_devenv() { - _nix_direnv_preflight - - flake_expr="${1:-.}" - flake_dir="${flake_expr%#*}" - env_deps_path="$flake_dir/.devenv/input-paths.txt" - - local default_watches - default_watches=(".envrc" "$HOME/.direnvrc" "$HOME/.config/direnv/direnvrc") - - if [[ -d "$flake_dir" ]]; then - default_watches+=("$flake_dir/devenv.nix" "$flake_dir/devenv.lock" "$flake_dir/devenv.yaml" "$flake_dir/devenv.local.nix") - - if [[ -f "$flake_dir/devenv.yaml" ]]; then - if ! devenv assemble; then - log_error "$(devenv version) failed to parse devenv.yaml, make sure to use version 0.6 or newer and fix the errors above." - exit 0 - fi - fi - fi - - # Watch the default files. - # Even if evaluation fails, these files should still trigger a reload. - watch_file "${default_watches[@]}" - - # Fetch and watch files that affect the env - local env_watches - _devenv_watches "$env_deps_path" env_watches - watch_file "${env_watches[@]}" - - # Build the environment - local env - if ! env=$("${DEVENV_BIN}" print-dev-env); then - log_error "failed to build the devenv environment. devenv.nix may contain errors. see above." - exit 0 - fi - - # Re-watch files that affect the env - local env_watches - _devenv_watches "$env_deps_path" env_watches - watch_file "${env_watches[@]}" - - # Import the environment - _nix_import_env "$env" -} diff --git a/users/tao/helix.nix b/users/tao/helix.nix index 000c023..b7b4390 100644 --- a/users/tao/helix.nix +++ b/users/tao/helix.nix @@ -242,14 +242,20 @@ { name = "typst"; language-servers = ["tinymist"]; - } - { - name = "typst"; text-width = 100; + auto-format = true; + formatter = { + command = "typstyle"; + }; } # keep-sorted end ]; language-server = { + nil = { + config = { + autoArchive = true; + }; + }; deno-lsp = { command = "deno"; args = ["lsp"]; @@ -311,6 +317,9 @@ }; }; }; + # niv.config = { + # autoArchive = true; + # }; }; use-grammars.only = [ # keep-sorted start diff --git a/users/tao/nushell/completions/completions-docker.nu b/users/tao/nushell/completions/completions-docker.nu new file mode 100644 index 0000000..e8e02cc --- /dev/null +++ b/users/tao/nushell/completions/completions-docker.nu @@ -0,0 +1,7 @@ +export def "nu-complete docker start" [] { + docker ps --all --format json | from json --objects | select Names Image | rename value description +} + +export extern "docker start" [ + ...recipe: string@"nu-complete docker start" +] diff --git a/users/tao/nushell/config.nu b/users/tao/nushell/config.nu index a5660d9..23b2d54 100644 --- a/users/tao/nushell/config.nu +++ b/users/tao/nushell/config.nu @@ -12,6 +12,7 @@ use tailscale.nu * source completions-jj.nu source completions-just.nu +source completions-docker.nu # External completer example # let carapace_completer = {|spans| @@ -767,8 +768,12 @@ $env.config = { mkdir ($nu.data-dir | path join "vendor/autoload") starship init nu | save -f ($nu.data-dir | path join "vendor/autoload/starship.nu") +zoxide init nushell --no-cmd | save --force ~/.zoxide.nu source ~/.zoxide.nu export def --wrapped --env z [...rest] { - zo ...$rest + __zoxide_z ...$rest l } + +devenv hook nu | save --force ~/.cache/devenv/hook.nu +source ~/.cache/devenv/hook.nu diff --git a/users/tao/nushell/env.nu b/users/tao/nushell/env.nu index b38d22c..d8f25b3 100644 --- a/users/tao/nushell/env.nu +++ b/users/tao/nushell/env.nu @@ -79,10 +79,14 @@ $env.NU_PLUGIN_DIRS = [ ] # To add entries to PATH (on Windows you might use Path), you can use the following pattern: -$env.PATH = ($env.PATH | split row (char esep)) +# $env.PATH = ($env.PATH | split row (char esep)) # $env.GOPATH = '/home/tao/.go' # $env.CARAPACE_BRIDGES mkdir ~/.cache/carapace # carapace _carapace nushell | save -f ~/.cache/carapace/init.nu + +use std/util "path add" +path add ~/.cargo/bin/ +path add ~/.local/bin/ diff --git a/users/tao/nushell/extras/aliases.nu b/users/tao/nushell/extras/aliases.nu index 8964ef3..fda7d06 100644 --- a/users/tao/nushell/extras/aliases.nu +++ b/users/tao/nushell/extras/aliases.nu @@ -10,6 +10,7 @@ export alias follow = readlink -f export alias p = pueue export alias snapper = snapper -c home export alias zl = zellij +export alias wssh = wezterm ssh export def today-iso [] { date now | format date %F } diff --git a/users/tao/nushell/extras/tailscale.nu b/users/tao/nushell/extras/tailscale.nu index 5f3df5d..83eb48a 100644 --- a/users/tao/nushell/extras/tailscale.nu +++ b/users/tao/nushell/extras/tailscale.nu @@ -13,7 +13,7 @@ export def check-mullvad [] { } # switch to a specific exit node, or none -export def te [exit_node: string = ""] { +export def te [exit_node: string = "", -n] { if ($exit_node | is-empty) and (ps | find deluge | is-not-empty) { print "stop summoning first!" return false @@ -21,7 +21,7 @@ export def te [exit_node: string = ""] { tailscale set --exit-node $exit_node - if ($exit_node | is-not-empty) { + if ($exit_node | is-not-empty) or not $n { check-mullvad } else { print "exit node set" @@ -73,11 +73,18 @@ export def tr [] { | return $in } +export def tw [] { + tailscale switch --list + | detect columns + | input list -d Tailnet + | get ID + | tailscale switch $in +} + export alias t = tailscale export alias ts = tailscale status export alias tu = tailscale up export alias td = tailscale down export alias ta = tailscale exit-node suggest -export 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" diff --git a/users/tao/wezterm.lua b/users/tao/wezterm.lua index 2e22096..85d8c81 100644 --- a/users/tao/wezterm.lua +++ b/users/tao/wezterm.lua @@ -1,6 +1,5 @@ -local wezterm = require 'wezterm'; local config = { - font = wezterm.font 'IBM Plex Mono', + font = wezterm.font 'IosevkaTerm Nerd Font', color_scheme = 'GruvboxDarkHard', window_decorations = "NONE", diff --git a/users/vy.nix b/users/vy.nix index 00543fe..0658936 100644 --- a/users/vy.nix +++ b/users/vy.nix @@ -29,9 +29,18 @@ in { programs.kdeconnect.enable = true; fonts.packages = with pkgs; [ + libertine + inconsolata + linux-libertine-g + adwaita-fonts + # keep-sorted start + cooper-hewitt + ibm-plex + nerd-fonts.fira-code noto-fonts-cjk-sans noto-fonts-cjk-serif noto-fonts-color-emoji + # keep-sorted end ]; services.flatpak.enable = true;