summaryrefslogtreecommitdiff
path: root/pkgs/scripts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--pkgs/scripts/clip.nix54
-rw-r--r--pkgs/scripts/default.nix12
-rw-r--r--pkgs/scripts/merge-pdfs.nix18
3 files changed, 49 insertions, 35 deletions
diff --git a/pkgs/scripts/clip.nix b/pkgs/scripts/clip.nix
index b801ccf..3e16e3e 100644
--- a/pkgs/scripts/clip.nix
+++ b/pkgs/scripts/clip.nix
@@ -1,44 +1,50 @@
-{ lib
-, writeShellScriptBin
-, gnome-screenshot
-, xclip
-, file
-, imagemagick
-, toPDF
-, ...
+{
+ lib,
+ writeShellScriptBin,
+ gnome-screenshot,
+ xclip,
+ file,
+ imagemagick,
+ toPDF,
+ ...
}:
with lib; let
- name = if toPDF then "clip-pdf" else "clip";
+ name =
+ if toPDF
+ then "clip-pdf"
+ else "clip";
pdfCmdline = optionalString toPDF ''
if [ $# -lt 1 ]; then
echo "Usage: $0 <out.pdf> [opts...]" >&2
exit 1
fi
-
+
OUT="$1"
shift
'';
copyOut =
- if toPDF then ''
+ if toPDF
+ then ''
${imagemagick}/bin/convert "$CLIP" "$OUT"
- '' else ''
+ ''
+ else ''
${xclip}/bin/xclip -selection clipboard \
-t $(${file}/bin/file -b --mime-type $CLIP) <"$CLIP"
'';
in
-writeShellScriptBin name ''
- ${pdfCmdline}
+ writeShellScriptBin name ''
+ ${pdfCmdline}
+
+ OPTIONS=-a
+ if [ "x$@" != "x" ]; then
+ OPTIONS="$@"
+ fi
- OPTIONS=-a
- if [ "x$@" != "x" ]; then
- OPTIONS="$@"
- fi
-
- CLIP="$HOME/vtmp/$$.png"
- ${gnome-screenshot}/bin/gnome-screenshot "$OPTIONS" -f "$CLIP"
- ${copyOut}
+ CLIP="$HOME/vtmp/$$.png"
+ ${gnome-screenshot}/bin/gnome-screenshot "$OPTIONS" -f "$CLIP"
+ ${copyOut}
- rm "$CLIP"
-''
+ rm "$CLIP"
+ ''
diff --git a/pkgs/scripts/default.nix b/pkgs/scripts/default.nix
index 43eae89..ed18647 100644
--- a/pkgs/scripts/default.nix
+++ b/pkgs/scripts/default.nix
@@ -1,9 +1,13 @@
-{ callPackage, symlinkJoin, ... }:
+{
+ callPackage,
+ symlinkJoin,
+ ...
+}:
symlinkJoin {
name = "scripts";
paths = [
- (callPackage ./clip.nix { toPDF = false; })
- (callPackage ./clip.nix { toPDF = true; })
- (callPackage ./merge-pdfs.nix { })
+ (callPackage ./clip.nix {toPDF = false;})
+ (callPackage ./clip.nix {toPDF = true;})
+ (callPackage ./merge-pdfs.nix {})
];
}
diff --git a/pkgs/scripts/merge-pdfs.nix b/pkgs/scripts/merge-pdfs.nix
index 584505a..cb7d678 100644
--- a/pkgs/scripts/merge-pdfs.nix
+++ b/pkgs/scripts/merge-pdfs.nix
@@ -1,16 +1,20 @@
-{ writeShellScriptBin, pdftk, ... }:
+{
+ writeShellScriptBin,
+ pdftk,
+ ...
+}:
writeShellScriptBin "merge-pdfs" ''
set -e
export PATH="$PATH:${pdftk}/bin"
-
+
if [ $# -lt 3 ]; then
echo "Usage: $0 <output> <PDFs...>" >&2
exit 1
fi
-
+
OUTPUT="$1"
shift
-
+
WORKDIR="$HOME/vtmp/merge-pdfs.$$"
BOOKMARKS="$WORKDIR/bookmarks.txt"
FMT="BookmarkBegin
@@ -18,9 +22,9 @@ writeShellScriptBin "merge-pdfs" ''
BookmarkLevel: 1
BookmarkPageNumber: 1
"
-
+
mkdir "$WORKDIR"
-
+
N=0
for SOURCE in "$@"; do
BASE="$(basename "$SOURCE")"
@@ -28,7 +32,7 @@ writeShellScriptBin "merge-pdfs" ''
pdftk "$SOURCE" update_info "$BOOKMARKS" output "$WORKDIR/"$(printf "%04d" $N).pdf
N=$((N+1))
done
-
+
pdftk "$WORKDIR"/*.pdf cat output "$OUTPUT"
rm -r "$WORKDIR"
''