From 54902ed7dbf08e77a0f3d6d5fa8d5e8302f19175 Mon Sep 17 00:00:00 2001 From: Kopatz <7265381+Kropatz@users.noreply.github.com> Date: Sat, 7 Mar 2026 10:53:17 +0100 Subject: [PATCH] nixdev alias, spacetimedb --- flake.lock | 98 ++++++++++++++++---------------- home-manager/zsh/default.nix | 39 +++++++++++-- systems/laptop/configuration.nix | 61 +++++++++++++------- 3 files changed, 124 insertions(+), 74 deletions(-) diff --git a/flake.lock b/flake.lock index f31bd16..4ef75dd 100644 --- a/flake.lock +++ b/flake.lock @@ -12,11 +12,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1762618334, - "narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=", + "lastModified": 1770165109, + "narHash": "sha256-9VnK6Oqai65puVJ4WYtCTvlJeXxMzAp/69HhQuTdl/I=", "owner": "ryantm", "repo": "agenix", - "rev": "fcdea223397448d35d9b31f798479227e80183f6", + "rev": "b027ee29d959fda4b60b57566d64c98a202e0feb", "type": "github" }, "original": { @@ -45,11 +45,11 @@ ] }, "locked": { - "lastModified": 1771610171, - "narHash": "sha256-+DeInuhbm6a6PpHDNUS7pozDouq2+8xSDefoNaZLW0E=", + "lastModified": 1772292445, + "narHash": "sha256-4F1Q7U313TKUDDovCC96m/Za4wZcJ3yqtu4eSrj8lk8=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "7f9eb087703ec4acc6b288d02fa9ea3db803cd3d", + "rev": "1dbbba659c1cef0b0202ce92cadfe13bae550e8f", "type": "github" }, "original": { @@ -155,11 +155,11 @@ ] }, "locked": { - "lastModified": 1768923567, - "narHash": "sha256-GVJ0jKsyXLuBzRMXCDY6D5J8wVdwP1DuQmmvYL/Vw/Q=", + "lastModified": 1772699110, + "narHash": "sha256-jkyo/9fZVB3F/PHk3fVK1ImxJBZ71DCOYZvAz4R4v4E=", "owner": "nix-community", "repo": "disko", - "rev": "00395d188e3594a1507f214a2f15d4ce5c07cb28", + "rev": "42affa9d33750ac0a0a89761644af20d8d03e6ee", "type": "github" }, "original": { @@ -222,11 +222,11 @@ ] }, "locked": { - "lastModified": 1765835352, - "narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=", + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "a34fae9c08a15ad73f295041fec82323541400a9", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "type": "github" }, "original": { @@ -380,11 +380,11 @@ ] }, "locked": { - "lastModified": 1768949235, - "narHash": "sha256-TtjKgXyg1lMfh374w5uxutd6Vx2P/hU81aEhTxrO2cg=", + "lastModified": 1772633058, + "narHash": "sha256-SO7JapRy2HPhgmqiLbfnW1kMx5rakPMKZ9z3wtRLQjI=", "owner": "nix-community", "repo": "home-manager", - "rev": "75ed713570ca17427119e7e204ab3590cc3bf2a5", + "rev": "080657a04188aca25f8a6c70a0fb2ea7e37f1865", "type": "github" }, "original": { @@ -401,11 +401,11 @@ ] }, "locked": { - "lastModified": 1768984719, - "narHash": "sha256-O6nXCW9FN39qw204e5Nl3qgaxKFcSvdpx0bULqfwyTA=", + "lastModified": 1772633327, + "narHash": "sha256-jl+DJB2DUx7EbWLRng+6HNWW/1/VQOnf0NsQB4PlA7I=", "owner": "nix-community", "repo": "home-manager", - "rev": "d6e3935ec6e43c8f54cd0132276c82d951e1453e", + "rev": "5a75730e6f21ee624cbf86f4915c6e7489c74acc", "type": "github" }, "original": { @@ -492,11 +492,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1772215399, - "narHash": "sha256-wfiduannx1mWvsGAfuMk8ipOU3AAFuJYPNV4D++dhPY=", + "lastModified": 1772719822, + "narHash": "sha256-sk+rEVu3/+/i5/Al761fmxlQQGLP0K5Vc6XuKvlskbI=", "ref": "refs/heads/main", - "rev": "0002f148c9a4fe421a9d33c0faa5528cdc411e62", - "revCount": 6935, + "rev": "b7dfb47566c3c111573ef9dc6293a764bc92c1e7", + "revCount": 6987, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -759,11 +759,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1768736227, - "narHash": "sha256-qgGq7CfrYKc3IBYQ7qp0Z/ZXndQVC5Bj0N8HW9mS2rM=", + "lastModified": 1771969195, + "narHash": "sha256-qwcDBtrRvJbrrnv1lf/pREQi8t2hWZxVAyeMo7/E9sw=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "d447553bcbc6a178618d37e61648b19e744370df", + "rev": "41c6b421bdc301b2624486e11905c9af7b8ec68e", "type": "github" }, "original": { @@ -775,11 +775,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1768773494, - "narHash": "sha256-XsM7GP3jHlephymxhDE+/TKKO1Q16phz/vQiLBGhpF4=", + "lastModified": 1772598333, + "narHash": "sha256-YaHht/C35INEX3DeJQNWjNaTcPjYmBwwjFJ2jdtr+5U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "77ef7a29d276c6d8303aece3444d61118ef71ac2", + "rev": "fabb8c9deee281e50b1065002c9828f2cf7b2239", "type": "github" }, "original": { @@ -791,11 +791,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1771369470, - "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", + "lastModified": 1772624091, + "narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0182a361324364ae3f436a63005877674cf45efb", + "rev": "80bdc1e5ce51f56b19791b52b2901187931f5353", "type": "github" }, "original": { @@ -831,11 +831,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1768960140, - "narHash": "sha256-iy2UleY4gdaz7AOKCVoWSBxuFaLZMPh2QVZJbZw+7gA=", + "lastModified": 1772676505, + "narHash": "sha256-7YAyJtnxtMfxn5/lU6nuLqiuACrCHYb7460b4/Vw3w8=", "owner": "nix-community", "repo": "nixpkgs-xr", - "rev": "17ca156becd777c9698ef45dbeca80223dbec87e", + "rev": "7fffd702dd41c750de408a70c530be85153045b4", "type": "github" }, "original": { @@ -846,11 +846,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1768564909, - "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", + "lastModified": 1772542754, + "narHash": "sha256-WGV2hy+VIeQsYXpsLjdr4GvHv5eECMISX1zKLTedhdg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", + "rev": "8c809a146a140c5c8806f13399592dbcb1bb5dc4", "type": "github" }, "original": { @@ -885,11 +885,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1768910181, - "narHash": "sha256-YRU0IHMzXluZxr0JDfq9jtblb4DV7MIB5wj2jYMFKQc=", + "lastModified": 1772402258, + "narHash": "sha256-3DmCFOdmbkFML1/G9gj8Wb+rCCZFPOQtNoMCpqOF8SA=", "owner": "nix-community", "repo": "nixvim", - "rev": "5b138edcb2f1c3ed4b29eca3658f04f0639b98b3", + "rev": "21ae25e13b01d3b4cdc750b5f9e7bad68b150c10", "type": "github" }, "original": { @@ -906,11 +906,11 @@ ] }, "locked": { - "lastModified": 1768987531, - "narHash": "sha256-OUuPCbbpt2TScCThL4xPByL5U7gOXQ83aJvXbtcnV9Y=", + "lastModified": 1772721384, + "narHash": "sha256-Oaf3HNzTSDA9CCnoN1vRTwAqfEvWiGv8qLJgYFqIVI0=", "owner": "nix-community", "repo": "NUR", - "rev": "8e6425272de3f758a3b7103b49d6b7edbfb01b40", + "rev": "d90a468b5d0ce54db18ac0f6e80b5c60f46292eb", "type": "github" }, "original": { @@ -984,11 +984,11 @@ ] }, "locked": { - "lastModified": 1771858127, - "narHash": "sha256-Gtre9YoYl3n25tJH2AoSdjuwcqij5CPxL3U3xysYD08=", + "lastModified": 1772024342, + "narHash": "sha256-+eXlIc4/7dE6EcPs9a2DaSY3fTA9AE526hGqkNID3Wg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "49bbbfc218bf3856dfa631cead3b052d78248b83", + "rev": "6e34e97ed9788b17796ee43ccdbaf871a5c2b476", "type": "github" }, "original": { @@ -1245,11 +1245,11 @@ ] }, "locked": { - "lastModified": 1768158989, - "narHash": "sha256-67vyT1+xClLldnumAzCTBvU0jLZ1YBcf4vANRWP3+Ak=", + "lastModified": 1772660329, + "narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "e96d59dff5c0d7fddb9d113ba108f03c3ef99eca", + "rev": "3710e0e1218041bbad640352a0440114b1e10428", "type": "github" }, "original": { diff --git a/home-manager/zsh/default.nix b/home-manager/zsh/default.nix index 554333b..846822e 100644 --- a/home-manager/zsh/default.nix +++ b/home-manager/zsh/default.nix @@ -24,6 +24,36 @@ [ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd" rm -f -- "$tmp" } + + nixdev() { + if [ -z "$1" ]; then + echo "Usage: nixdev " + return 1 + fi + + local package="$1" + local target_dir="''${package}-src" + + if [ -d "$target_dir" ]; then + echo "Source directory ''${target_dir} already exists, skipping copy..." + else + echo "Fetching source for nixpkgs#''${package}..." + local src_path=$(nix build "nixpkgs#''${package}.src" --no-link --print-out-paths 2>/dev/null) + + if [ $? -ne 0 ]; then + echo "Error: Failed to fetch source for ''${package}" + return 1 + fi + + echo "Copying source to ''${target_dir}..." + cp -r "$src_path" "$target_dir" + chmod -R u+w "$target_dir" + fi + + echo "Entering dev environment..." + cd "$target_dir" + nix develop "nixpkgs#''${package}" + } ''; history = { size = 100000; @@ -43,10 +73,11 @@ update = "sudo nixos-rebuild switch"; updateFancy = "nh os switch"; updateOffline = "sudo nixos-rebuild switch --option substitute false"; - goto = ''cd $(( - find -L ~/projects -maxdepth 2 -type d - find -L ~/projects/github/third-party/ -maxdepth 1 -type d -) | ${pkgs.fzf}/bin/fzf)''; + goto = '' + cd $(( + find -L ~/projects -maxdepth 2 -type d + find -L ~/projects/github/third-party/ -maxdepth 1 -type d + ) | ${pkgs.fzf}/bin/fzf)''; dev = "nix-shell --run zsh"; rmt = "trash put"; bat = "bat -P --style plain"; diff --git a/systems/laptop/configuration.nix b/systems/laptop/configuration.nix index ea6bacd..f32b828 100644 --- a/systems/laptop/configuration.nix +++ b/systems/laptop/configuration.nix @@ -28,6 +28,7 @@ in #../../modules/static-ip.nix #../../modules/wake-on-lan.nix #./modules/wireguard.nix + ../../modules/misc/tv-on-off.nix ./disk-config.nix inputs.nixos-hardware.nixosModules.framework-13-7040-amd ]; @@ -42,27 +43,27 @@ in # after suspend, do `cec-ctl -A | grep cec0 | wc -l`, if >0, do `cec-ctl --standby --to TV` # similar on wakeup, if present send `cec-ctl --user-control-pressed ui-cmd=power-on-function --to TV` - environment.etc."systemd/system-sleep/sleep-turn-tv-off-on.sh".source = - pkgs.writeShellScript "post-sleep-turn-tv-off.sh" '' - case $1/$2 in - pre/*) - if [ $(${cec} -A | ${pkgs.gnugrep}/bin/grep cec0 | ${pkgs.coreutils}/bin/wc -l) -gt 0 ]; then - ${cec} -C --skip-info - ${cec} --tv --skip-info - ${cec} --standby --skip-info --to TV - echo "Turning TV off!" - ${pkgs.coreutils}/bin/sleep 2 - fi - ;; - post/*) - if [ $(${cec} -A | ${pkgs.gnugrep}/bin/grep cec0 | ${pkgs.coreutils}/bin/wc -l) -gt 0 ]; then - ${cec} --tv --skip-info - ${cec} --skip-info --user-control-pressed ui-cmd=power-on-function --to TV - echo "Turning TV on!" - fi - ;; - esac - ''; + #environment.etc."systemd/system-sleep/sleep-turn-tv-off-on.sh".source = + # pkgs.writeShellScript "post-sleep-turn-tv-off.sh" '' + # case $1/$2 in + # pre/*) + # if [ $(${cec} -A | ${pkgs.gnugrep}/bin/grep cec0 | ${pkgs.coreutils}/bin/wc -l) -gt 0 ]; then + # ${cec} -C --skip-info + # ${cec} --tv --skip-info + # ${cec} --standby --skip-info --to TV + # echo "Turning TV off!" + # ${pkgs.coreutils}/bin/sleep 2 + # fi + # ;; + # post/*) + # if [ $(${cec} -A | ${pkgs.gnugrep}/bin/grep cec0 | ${pkgs.coreutils}/bin/wc -l) -gt 0 ]; then + # ${cec} --tv --skip-info + # ${cec} --skip-info --user-control-pressed ui-cmd=power-on-function --to TV + # echo "Turning TV on!" + # fi + # ;; + # esac + # ''; custom = { cli-tools.enable = true; @@ -120,6 +121,24 @@ in ryzenadj prismlauncher #fscrypt-experimental + (spacetimedb.overrideAttrs (old: { + version = "2.0.3"; + src = pkgs.fetchFromGitHub { + owner = "clockworklabs"; + repo = "spacetimedb"; + tag = "v2.0.3"; + hash = "sha256-QmzuXuFru/yt/32PXVydmLWpH9JnYD+sInorz9AqIMI="; + }; + cargoDeps = pkgs.rustPlatform.fetchCargoVendor { + src = pkgs.fetchFromGitHub { + owner = "clockworklabs"; + repo = "spacetimedb"; + tag = "v2.0.3"; + hash = "sha256-QmzuXuFru/yt/32PXVydmLWpH9JnYD+sInorz9AqIMI="; + }; + hash = "sha256-mUmFkMpJq25lao2B7Ggigx6vd3hg534XTpPJw48Jw5s="; + }; + })) ]; # don't think there is a way to unlock this with fingerprint #security.pam.enableFscrypt = true;