From 15f70dce2cfd8b9d3d2e00e63504aa8da5b001a0 Mon Sep 17 00:00:00 2001 From: Noah Masur <7386960+nmasur@users.noreply.github.com> Date: Sat, 16 May 2026 08:39:01 -0400 Subject: [PATCH] fix nodePackages references in prometheus-actual-exporter --- .claude/settings.local.json | 7 ++- overlays/pkgs.nix | 3 + pkgs/applications/misc/volnoti/package.nix | 3 + pkgs/prometheus-actual-exporter/package.nix | 15 ++--- pkgs/slsk-batchdl/package.nix | 55 ++++++++-------- pkgs/tools/misc/installer/package.nix | 69 +++++++++++---------- 6 files changed, 85 insertions(+), 67 deletions(-) diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 2f398ec..429b64e 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -2,7 +2,12 @@ "permissions": { "allow": [ "WebFetch(domain:github.com)", - "WebFetch(domain:raw.githubusercontent.com)" + "WebFetch(domain:raw.githubusercontent.com)", + "Bash(gh run *)", + "Bash(jj status *)", + "Bash(jj new *)", + "Bash(jj describe *)", + "Bash(nix flake *)" ] } } diff --git a/overlays/pkgs.nix b/overlays/pkgs.nix index 2d6fce3..da0a9c2 100644 --- a/overlays/pkgs.nix +++ b/overlays/pkgs.nix @@ -21,6 +21,9 @@ let # [ package1.drv package2.drv ] (builtins.map (name: prev.callPackage name { })) + # Filter out packages that return null (e.g. platform-specific packages) + (builtins.filter (v: v != null)) + # Convert the list to an attrset # { package1 = package1.drv, package2 = package2.drv } listToAttrsByPnameOrName diff --git a/pkgs/applications/misc/volnoti/package.nix b/pkgs/applications/misc/volnoti/package.nix index 2efd0b7..27749bf 100644 --- a/pkgs/applications/misc/volnoti/package.nix +++ b/pkgs/applications/misc/volnoti/package.nix @@ -1,6 +1,9 @@ # Fix: Volnoti error: 'volnoti' has been removed due to lack of maintenance upstream. { pkgs, lib, ... }: +if !pkgs.stdenv.isLinux then + null +else pkgs.stdenv.mkDerivation { pname = "volnoti"; version = "2013-09-23"; diff --git a/pkgs/prometheus-actual-exporter/package.nix b/pkgs/prometheus-actual-exporter/package.nix index 86dc202..e9436b0 100644 --- a/pkgs/prometheus-actual-exporter/package.nix +++ b/pkgs/prometheus-actual-exporter/package.nix @@ -3,7 +3,8 @@ fetchFromGitHub, nodejs_20, buildNpmPackage, - nodePackages, + typescript, + node-gyp, python3, gcc, gnumake, @@ -30,9 +31,9 @@ buildNpmPackage (finalAttrs: rec { nativeBuildInputs = [ nodejs_20 - nodePackages.typescript + typescript python3 - nodePackages.node-gyp + node-gyp gcc gnumake ]; @@ -53,8 +54,8 @@ buildNpmPackage (finalAttrs: rec { # export npm_config_build_from_source=true # export npm_config_unsafe_perm=true # export BINARY_SITE=none - # export PATH=${nodePackages.node-gyp}/bin:$PATH - # export npm_config_node_gyp=${nodePackages.node-gyp}/bin/node-gyp + # export PATH=${node-gyp}/bin:$PATH + # export npm_config_node_gyp=${node-gyp}/bin/node-gyp # npm rebuild better-sqlite3 --build-from-source --verbose @@ -74,8 +75,8 @@ buildNpmPackage (finalAttrs: rec { export npm_config_build_from_source=true export npm_config_unsafe_perm=true export BINARY_SITE=none - export PATH=${nodePackages.node-gyp}/bin:$PATH - export npm_config_node_gyp=${nodePackages.node-gyp}/bin/node-gyp + export PATH=${node-gyp}/bin:$PATH + export npm_config_node_gyp=${node-gyp}/bin/node-gyp sed -i '/"install"/d' node_modules/better-sqlite3/package.json rm -f node_modules/better-sqlite3/build/Release/better_sqlite3.node || true diff --git a/pkgs/slsk-batchdl/package.nix b/pkgs/slsk-batchdl/package.nix index 4bd3d12..08a1e31 100644 --- a/pkgs/slsk-batchdl/package.nix +++ b/pkgs/slsk-batchdl/package.nix @@ -1,39 +1,42 @@ { lib, + stdenv, buildDotnetModule, fetchFromGitHub, dotnetCorePackages, }: -buildDotnetModule rec { - pname = "slsk-batchdl"; - version = "2.4.7"; +if !stdenv.isLinux then + null +else + buildDotnetModule rec { + pname = "slsk-batchdl"; + version = "2.4.7"; - src = fetchFromGitHub { - owner = "fiso64"; - repo = "slsk-batchdl"; - rev = "v${version}"; - sha256 = "sha256-P7V7YJUA1bkfp13Glb1Q+NJ7iTya/xgO1TM88z1Nddc="; - }; + src = fetchFromGitHub { + owner = "fiso64"; + repo = "slsk-batchdl"; + rev = "v${version}"; + sha256 = "sha256-P7V7YJUA1bkfp13Glb1Q+NJ7iTya/xgO1TM88z1Nddc="; + }; - projectFile = "slsk-batchdl/slsk-batchdl.csproj"; - nugetDeps = ./nuget-deps.nix; + projectFile = "slsk-batchdl/slsk-batchdl.csproj"; + nugetDeps = ./nuget-deps.nix; - dotnet-sdk = dotnetCorePackages.sdk_8_0; - dotnet-runtime = dotnetCorePackages.runtime_8_0; + dotnet-sdk = dotnetCorePackages.sdk_8_0; + dotnet-runtime = dotnetCorePackages.runtime_8_0; - # Patch the project file to use .NET 8 - postPatch = '' - substituteInPlace slsk-batchdl/slsk-batchdl.csproj \ - --replace-fail "net6.0" "net8.0" - ''; + postPatch = '' + substituteInPlace slsk-batchdl/slsk-batchdl.csproj \ + --replace-fail "net6.0" "net8.0" + ''; - doCheck = false; + doCheck = false; - meta = with lib; { - description = "A batch downloader for Soulseek"; - homepage = "https://github.com/fiso64/slsk-batchdl"; - platforms = platforms.linux; - mainProgram = "slsk-batchdl"; - }; -} + meta = with lib; { + description = "A batch downloader for Soulseek"; + homepage = "https://github.com/fiso64/slsk-batchdl"; + platforms = platforms.linux; + mainProgram = "slsk-batchdl"; + }; + } diff --git a/pkgs/tools/misc/installer/package.nix b/pkgs/tools/misc/installer/package.nix index 90c51de..7b9dda7 100644 --- a/pkgs/tools/misc/installer/package.nix +++ b/pkgs/tools/misc/installer/package.nix @@ -1,44 +1,47 @@ -{ pkgs, ... }: +{ pkgs, lib, ... }: # Inspired by https://github.com/cleverca22/nix-tests/blob/master/kexec/justdoit.nix # This script will partition and format drives; use at your own risk! -pkgs.writeShellScriptBin "installer" '' - set -e +if !pkgs.stdenv.isLinux then + null +else + pkgs.writeShellScriptBin "installer" '' + set -e - DISK=$1 - FLAKE=$2 - PARTITION_PREFIX="" + DISK=$1 + FLAKE=$2 + PARTITION_PREFIX="" - if [ -z "$DISK" ] || [ -z "$FLAKE" ]; then - ${pkgs.gum}/bin/gum style --width 50 --margin "1 2" --padding "2 4" \ - --foreground "#fb4934" \ - "Missing required parameter." \ - "Usage: installer -- " \ - "Example: installer -- nvme0n1 tempest" \ - "Flake example: nix run github:nmasur/dotfiles#installer -- nvme0n1 tempest" - echo "(exiting)" - exit 1 - fi + if [ -z "$DISK" ] || [ -z "$FLAKE" ]; then + ${pkgs.gum}/bin/gum style --width 50 --margin "1 2" --padding "2 4" \ + --foreground "#fb4934" \ + "Missing required parameter." \ + "Usage: installer -- " \ + "Example: installer -- nvme0n1 tempest" \ + "Flake example: nix run github:nmasur/dotfiles#installer -- nvme0n1 tempest" + echo "(exiting)" + exit 1 + fi - case "$DISK" in nvme*) - PARTITION_PREFIX="p" - esac + case "$DISK" in nvme*) + PARTITION_PREFIX="p" + esac - ${pkgs.gum}/bin/gum confirm \ - "This will ERASE ALL DATA on the disk /dev/''${DISK}. Are you sure you want to continue?" \ - --default=false + ${pkgs.gum}/bin/gum confirm \ + "This will ERASE ALL DATA on the disk /dev/''${DISK}. Are you sure you want to continue?" \ + --default=false - ${pkgs.parted}/bin/parted /dev/''${DISK} -- mklabel gpt - ${pkgs.parted}/bin/parted /dev/''${DISK} -- mkpart primary 512MiB 100% - ${pkgs.parted}/bin/parted /dev/''${DISK} -- mkpart ESP fat32 1MiB 512MiB - ${pkgs.parted}/bin/parted /dev/''${DISK} -- set 3 esp on - mkfs.ext4 -L nixos /dev/''${DISK}''${PARTITION_PREFIX}1 - mkfs.fat -F 32 -n boot /dev/''${DISK}''${PARTITION_PREFIX}2 + ${pkgs.parted}/bin/parted /dev/''${DISK} -- mklabel gpt + ${pkgs.parted}/bin/parted /dev/''${DISK} -- mkpart primary 512MiB 100% + ${pkgs.parted}/bin/parted /dev/''${DISK} -- mkpart ESP fat32 1MiB 512MiB + ${pkgs.parted}/bin/parted /dev/''${DISK} -- set 3 esp on + mkfs.ext4 -L nixos /dev/''${DISK}''${PARTITION_PREFIX}1 + mkfs.fat -F 32 -n boot /dev/''${DISK}''${PARTITION_PREFIX}2 - mount /dev/disk/by-label/nixos /mnt - mkdir --parents /mnt/boot - mount /dev/disk/by-label/boot /mnt/boot + mount /dev/disk/by-label/nixos /mnt + mkdir --parents /mnt/boot + mount /dev/disk/by-label/boot /mnt/boot - ${pkgs.nixos-install-tools}/bin/nixos-install --flake github:nmasur/dotfiles#''${FLAKE} -'' + ${pkgs.nixos-install-tools}/bin/nixos-install --flake github:nmasur/dotfiles#''${FLAKE} + ''