aboutsummaryrefslogtreecommitdiff
path: root/examples/by-type.conf
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-09-13 02:31:32 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-09-13 02:31:32 +0200
commit26c94eb3db62ec6eebbf8d22c11afe691d9520c4 (patch)
tree165e5bf69234b4f96c9b74deb4898d7143ddf120 /examples/by-type.conf
parenta6e442a645902011b2081c216daaec052cdc6ce6 (diff)
downloadkrino-26c94eb3db62ec6eebbf8d22c11afe691d9520c4.tar.gz
krino-26c94eb3db62ec6eebbf8d22c11afe691d9520c4.zip
krino: release 0.0.1 — man pages, install, examples, cross and release, README, changelogv0.0.1
Also: undo removes the directories its run created; a hardlink is never a duplicate of its own other name; a flag written before "undo" is honoured; --version prints no leading v. Duplicate conditions with different scopes not sharing an original is documented as a known limitation.
Diffstat (limited to 'examples/by-type.conf')
-rw-r--r--examples/by-type.conf55
1 files changed, 55 insertions, 0 deletions
diff --git a/examples/by-type.conf b/examples/by-type.conf
new file mode 100644
index 0000000..5b363df
--- /dev/null
+++ b/examples/by-type.conf
@@ -0,0 +1,55 @@
+;; -*- mode: lisp -*-
+;; vim: set ft=lisp :
+;;
+;; by-type.conf — file everything into one folder per type group.
+;;
+;; Demonstrates: (type ...) with the built-in type groups, (move ...), and
+;; (stop) so a file already claimed by one rule is never moved again by a
+;; later one. The six groups below happen not to overlap each other, but
+;; krino's type groups can (a .json file is both "code" and "text", for
+;; instance — see TYPE GROUPS in krino.conf(5)), so (stop) is worth keeping
+;; once you add rules of your own.
+;;
+;; To use: copy this to dirs/<name>.conf, fix (path ...) below, and add
+;; <name> to (include ...) in krino.conf — or just run:
+;; krino new <name> ~/wherever
+;; and paste the (rule ...) forms in below the generated header. A short
+;; tutorial on the syntax is docs/sexp-primer.md in the source repository,
+;; installed alongside this file at
+;; $PREFIX/share/doc/krino/sexp-primer.md; every form is described in
+;; krino.conf(5).
+
+(path "~/Downloads") ; CHANGE THIS to the directory to sort
+
+;; Leave partial downloads and dotfiles alone.
+(ignore "*.part" "*.crdownload" "*.aria2" ".*")
+
+(rule "images"
+ (when (type image))
+ (move "Filed/Images")
+ (stop))
+
+(rule "documents"
+ (when (type document))
+ (move "Filed/Documents")
+ (stop))
+
+(rule "spreadsheets"
+ (when (type spreadsheet))
+ (move "Filed/Spreadsheets")
+ (stop))
+
+(rule "presentations"
+ (when (type presentation))
+ (move "Filed/Presentations")
+ (stop))
+
+(rule "archives"
+ (when (type archive))
+ (move "Filed/Archives")
+ (stop))
+
+(rule "audio-video"
+ (when (or (type audio) (type video)))
+ (move "Filed/Media")
+ (stop))