This commit is contained in:
Bryan Ramos 2025-01-11 23:15:34 -05:00
parent fc37abef96
commit b765ca1558
Signed by: bryan
GPG key ID: 6ABDCD144D6643C8
4 changed files with 90 additions and 53 deletions

115
justfile
View file

@ -36,13 +36,15 @@ out TYPE SYSTEM="desktop":
nix build --dry-run .#nixosConfigurations."{{SYSTEM}}".config.system.build.toplevel -L nix build --dry-run .#nixosConfigurations."{{SYSTEM}}".config.system.build.toplevel -L
exit 0 exit 0
else else
echo "Error: Unknown argument - '{{SYSTEM}}'" cat <<EOF
echo "Use one of:" Error: Unknown argument - '{{SYSTEM}}'
echo " desktop" Use one of:
echo " server" desktop
echo " laptop" server
echo " wsl" laptop
echo " vm" vm
wsl
EOF
exit 1 exit 1
fi fi
;; ;;
@ -52,10 +54,12 @@ out TYPE SYSTEM="desktop":
exit 0 exit 0
;; ;;
*) *)
echo "Invalid usage: {{TYPE}}."; cat<<EOF
echo "Use one of:" Error: Invalid usage: {{TYPE}}
echo " nix" Use one of:
echo " home" nix
home
EOF
exit 1 exit 1
;; ;;
esac esac
@ -77,13 +81,15 @@ test TYPE SYSTEM="desktop":
sudo nixos-rebuild test --flake .#{{SYSTEM}} sudo nixos-rebuild test --flake .#{{SYSTEM}}
exit 0 exit 0
else else
echo "Error: Unknown argument - '{{SYSTEM}}'" cat <<EOF
echo "Use one of:" Error: Unknown argument - '{{SYSTEM}}'
echo " desktop" Use one of:
echo " server" desktop
echo " laptop" server
echo " wsl" laptop
echo " vm" vm
wsl
EOF
exit 1 exit 1
fi fi
;; ;;
@ -93,16 +99,18 @@ test TYPE SYSTEM="desktop":
exit 0 exit 0
;; ;;
*) *)
echo "Invalid usage: {{TYPE}}."; cat<<EOF
echo "Use one of:" Error: Invalid usage: {{TYPE}}
echo " nix" Use one of:
echo " home" nix
home
EOF
exit 1 exit 1
;; ;;
esac esac
# Build the nix expression and hydrate the results directory # Build the nix expression and hydrate the results directory
make TYPE SYSTEM="desktop": build TYPE SYSTEM="desktop":
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail set -euo pipefail
case "{{TYPE}}" in case "{{TYPE}}" in
@ -114,17 +122,20 @@ make TYPE SYSTEM="desktop":
[ "{{SYSTEM}}" = "vm" ] || \ [ "{{SYSTEM}}" = "vm" ] || \
[ "{{SYSTEM}}" = "laptop" ] [ "{{SYSTEM}}" = "laptop" ]
then then
echo "Hydrating resulting NixOS configuration for {{SYSTEM}}..." echo "Building resulting NixOS configuration for {{SYSTEM}}..."
nix build .#nixosConfigurations."{{SYSTEM}}".config.system.build.toplevel -L nix build .#nixosConfigurations."{{SYSTEM}}".config.system.build.toplevel -L
echo "result directory hydrated"
exit 0 exit 0
else else
echo "Error: Unknown argument - '{{SYSTEM}}'" cat <<EOF
echo "Use one of:" Error: Unknown argument - '{{SYSTEM}}'
echo " desktop" Use one of:
echo " server" desktop
echo " laptop" server
echo " wsl" laptop
echo " vm" vm
wsl
EOF
exit 1 exit 1
fi fi
;; ;;
@ -134,10 +145,12 @@ make TYPE SYSTEM="desktop":
exit 0 exit 0
;; ;;
*) *)
echo "Invalid usage: {{TYPE}}." cat<<EOF
echo "Use one of:" Error: Invalid usage: {{TYPE}}
echo " nix" Use one of:
echo " home" nix
home
EOF
exit 1 exit 1
;; ;;
esac esac
@ -155,16 +168,24 @@ vm SYSTEM:
then then
echo "Building VM for {{SYSTEM}}..." echo "Building VM for {{SYSTEM}}..."
nixos-rebuild build-vm --flake .#{{SYSTEM}} nixos-rebuild build-vm --flake .#{{SYSTEM}}
if [[ -f result/bin/run-{{SYSTEM}}-vm ]]; then
result/bin/run-{{SYSTEM}}-vm result/bin/run-{{SYSTEM}}-vm
else
echo "Error: VM Build failed!"
exit 1
fi
exit 0 exit 0
else else
echo "Error: Unknown argument - '{{SYSTEM}}'" cat <<EOF
echo "Use one of:" Error: Unknown argument - '{{SYSTEM}}'
echo " desktop" Use one of:
echo " server" desktop
echo " laptop" server
echo " vm" laptop
echo " wsl" vm
wsl
EOF
exit 1 exit 1
fi fi
@ -207,17 +228,17 @@ gh COMMIT_MESSAGE:
git commit -m "{{COMMIT_MESSAGE}}" git commit -m "{{COMMIT_MESSAGE}}"
git push git push
#Fetch resources and compute sha256 hash # Fetch resources and compute sha256 hash
hash URL: hash URL:
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail set -euo pipefail
if echo "{{URL}}" | grep -E '\.(tar\.gz|tgz|zip)$'; then if [[ "{{URL}}" =~ \.(tar(\.gz)?|tgz|gz|zip)$ ]]; then
CONTENTS=$(nix-prefetch-url --unpack {{URL}} | tail -n 1) CONTENTS=$(nix-prefetch-url --unpack {{URL}})
else else
CONTENTS=$(nix-prefetch-url {{URL}} | tail -n 1) CONTENTS=$(nix-prefetch-url {{URL}})
fi fi
HASH=$(nix hash to-sri --type sha256 "$CONTENTS") HASH=$(nix hash convert --hash-algo sha256 "$CONTENTS")
echo -e "\033[32m$HASH\033[0m" echo -e "\033[32m$HASH\033[0m"

View file

@ -15,16 +15,24 @@ let
in in
{ options.modules.system.bitcoin.electrum = { enable = mkEnableOption "Electrs Server"; }; { options.modules.system.bitcoin.electrum = { enable = mkEnableOption "Electrs Server"; };
config = mkIf (cfg.enable && btc.enable) { config = mkIf (cfg.enable && btc.enable) {
#TODO: Fix the failing overlay due to `cargoHash/cargoSha256`
#nixpkgs.overlays = [ #nixpkgs.overlays = [
# (final: prev: { # (final: prev: {
# electrs = prev.electrs.overrideAttrs (old: rec { # electrs = prev.electrs.overrideAttrs (old: rec {
# version = "0.10.4"; # pname = "electrs";
# version = "0.10.8";
# src = pkgs.fetchFromGitHub { # src = pkgs.fetchFromGitHub {
# owner = "romanz"; # owner = "romanz";
# repo = pname;
# rev = "${version}"; # rev = "v${version}";
# hash = "sha256-4c+FGYM34LSfazzshfRPjA+0BvDL2tvkSr2rasUognc="; # hash = "sha256-L26jzAn8vwnw9kFd6ciyYS/OLEFTbN8doNKy3P8qKRE=";
# }; # };
# #cargoDeps = old.cargoDeps.overrideAttrs (const {
# # name = "electrs-${version}.tar.gz";
# # inherit src;
# # sha256 = "";
# #});
# cargoHash = "sha256-lBRcq73ri0HR3duo6Z8PdSjnC8okqmG5yWeHxH/LmcU=";
# }); # });
# }) # })
#]; #];

View file

@ -76,8 +76,11 @@ in
}; };
}; };
}; };
#"btc.ramos.codes" = mkIf module.bitcoin.enable { #"btc.ramos.codes" = mkIf module.bitcoin.electrum.enable {
# locations = { # locations = {
# "/" = {
# proxyPass = "";
# };
# }; # };
#}; #};
}; };

View file

@ -48,6 +48,11 @@ return {
end, end,
}, },
{
"folke/todo-comments.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
},
{ {
"fei6409/log-highlight.nvim" "fei6409/log-highlight.nvim"
} }