To reproduce:
$ nix run nixpkgs/3b32825de172d0bc85664f495edb096b10862524#ast-grep \
-- scan --update-all --inline-rules '
id: nix-x86_64-darwin
language: nix
rule:
any:
- pattern: "\"x86_64-darwin\""
kind: list_expression > string_expression
- pattern:
context: "{ \"x86_64-darwin\" = $EXPR; }"
selector: binding
- pattern:
context: "{ x86_64-darwin = $EXPR; }"
selector: binding
fix:
template: ""
' pkgs
$ nix run nixpkgs/3b32825de172d0bc85664f495edb096b10862524#ast-grep \
-- scan --update-all --inline-rules '
id: json-first-x86_64-darwin
language: json
rule:
kind: object > pair:nth-child(1)
has:
pattern: "\"x86_64-darwin\""
field: key
fix:
template: ""
expandEnd: { regex: "," }
' pkgs
$ nix run nixpkgs/3b32825de172d0bc85664f495edb096b10862524#ast-grep \
-- scan --update-all --inline-rules '
id: json-x86_64-darwin
language: json
rule:
kind: object > pair
has:
pattern: "\"x86_64-darwin\""
field: key
fix:
template: ""
expandStart: { regex: "," }
' pkgs
$ git restore pkgs/by-name/om/omnix/package.nix
$ git diff --name-only -z \
| nix shell nixpkgs/3b32825de172d0bc85664f495edb096b10862524#gnused \
-c xargs -0 sed -i '/^$/N; /^\n\? \+$/d'
$ treefmt
71 lines
1.5 KiB
Nix
71 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchurl,
|
|
unzip,
|
|
jre,
|
|
makeDesktopItem,
|
|
copyDesktopItems,
|
|
}:
|
|
|
|
let
|
|
desktopItem = makeDesktopItem {
|
|
desktopName = "JDiskReport";
|
|
genericName = "A graphical utility to visualize disk usage";
|
|
categories = [ "Utility" ];
|
|
exec = "jdiskreport";
|
|
name = "jdiskreport";
|
|
};
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
pname = "jdiskreport";
|
|
version = "1.4.1";
|
|
|
|
src = fetchurl {
|
|
url = "https://www.jgoodies.com/download/jdiskreport/jdiskreport-${
|
|
lib.replaceStrings [ "." ] [ "_" ] version
|
|
}.zip";
|
|
sha256 = "0d5mzkwsbh9s9b1vyvpaawqc09b0q41l2a7pmwf7386b1fsx6d58";
|
|
};
|
|
|
|
nativeBuildInputs = [
|
|
copyDesktopItems
|
|
unzip
|
|
];
|
|
inherit jre;
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
unzip $src
|
|
|
|
jar=$(ls */*.jar)
|
|
|
|
mkdir -p $out/share/java
|
|
mv $jar $out/share/java
|
|
|
|
mkdir -p $out/bin
|
|
cat > $out/bin/jdiskreport <<EOF
|
|
#! $SHELL -e
|
|
exec $jre/bin/java -jar $out/share/java/$(basename $jar)
|
|
EOF
|
|
chmod +x $out/bin/jdiskreport
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
desktopItems = [ desktopItem ];
|
|
|
|
meta = {
|
|
homepage = "http://www.jgoodies.com/freeware/jdiskreport/";
|
|
description = "Graphical utility to visualize disk usage";
|
|
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
|
license = lib.licenses.unfreeRedistributable; # TODO freedist, libs under BSD-3
|
|
platforms = [
|
|
"x86_64-linux"
|
|
];
|
|
maintainers = with lib.maintainers; [ kylesferrazza ];
|
|
mainProgram = "jdiskreport";
|
|
};
|
|
}
|