it works
This commit is contained in:
commit
763d2110c8
4 changed files with 138 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
.direnv
|
||||
result
|
||||
61
flake.lock
generated
Normal file
61
flake.lock
generated
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1764915887,
|
||||
"narHash": "sha256-CeBCJ9BMsuzVgn8GVfuSRZ6xeau7szzG0Xn6O/OxP9M=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "42e29df35be6ef54091d3a3b4e97056ce0a98ce8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
33
flake.nix
Normal file
33
flake.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
description = "scan! and organize!";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
flake-utils,
|
||||
}:
|
||||
flake-utils.lib.eachDefaultSystem (
|
||||
system: let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in {
|
||||
packages.default = let
|
||||
name = "scansnapit";
|
||||
src = pkgs.lib.readFile ./scan.fish;
|
||||
script = pkgs.writeScriptBin name src;
|
||||
runtimeInputs = [pkgs.jq (pkgs.llm.withPlugins {llm-ollama = true;}) pkgs.ocrmypdf pkgs.imagemagick];
|
||||
in
|
||||
pkgs.symlinkJoin
|
||||
{
|
||||
inherit name;
|
||||
paths = [script] ++ runtimeInputs;
|
||||
buildInputs = [pkgs.makeWrapper];
|
||||
postBuild = "wrapProgram $out/bin/${name} --prefix PATH : $out/bin";
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
42
scan.fish
Executable file
42
scan.fish
Executable file
|
|
@ -0,0 +1,42 @@
|
|||
#!/usr/bin/env fish
|
||||
|
||||
set -x OLLAMA_HOST 100.70.78.2:11434
|
||||
|
||||
set date (date -I)
|
||||
set timestamp (date +%H:%M:%S)
|
||||
set basedir $HOME/scans/.in-progress/$date/$timestamp
|
||||
|
||||
mkdir -p $basedir
|
||||
|
||||
pushd $basedir
|
||||
|
||||
scanimage -d fujitsu -b -p --format=png --source='ADF Duplex' --page-width=219.428 --page-height=297 --mode=Color --resolution=300dpi --buffermode=On
|
||||
|
||||
echo "Creating pdf..."
|
||||
magick out*.png paper.pdf; or exit
|
||||
rm *.png
|
||||
ocrmypdf --clean-final --deskew --rotate-pages -l fra+eng+deu --sidecar paper.txt paper.pdf paper.pdf
|
||||
|
||||
echo "Now doing AI naming..."
|
||||
|
||||
head -n 100 paper.txt | llm -t docname
|
||||
llm logs -c --data >title.json
|
||||
set title (jq -r '"\(.date_creation) \(.createur) - \(.titre)"' < title.json)
|
||||
|
||||
echo $title
|
||||
|
||||
# cat paper.txt | OLLAMA_HOST=100.70.78.2:11434 llm -t doctask >"$title - task.txt"
|
||||
# cat "$title - task.txt"
|
||||
|
||||
mv paper.pdf $title.pdf
|
||||
mv paper.txt $title.txt
|
||||
|
||||
popd
|
||||
|
||||
echo "Moving files..."
|
||||
|
||||
set outdir "$HOME/scans/$date/$title"
|
||||
|
||||
mkdir -p $outdir
|
||||
mv $basedir/* $outdir
|
||||
rmdir $basedir
|
||||
Loading…
Add table
Add a link
Reference in a new issue