home/downloads-sorter: sort more stuff
This commit is contained in:
@@ -1,13 +1,105 @@
|
||||
{ ... }:
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
cfg = config.services.downloads-sorter;
|
||||
in
|
||||
{
|
||||
services.downloads-sorter = {
|
||||
enable = true;
|
||||
mappings = {
|
||||
"pictures" = [
|
||||
"*.jpg"
|
||||
"*.png"
|
||||
"*.gif"
|
||||
"archives" = [
|
||||
"*.rar"
|
||||
"*.tar.*"
|
||||
"*.tgz"
|
||||
"*.zip"
|
||||
"*.gz"
|
||||
"*.xz"
|
||||
"*.bz2"
|
||||
];
|
||||
|
||||
"pictures" = {
|
||||
createDirIfNotExists = false;
|
||||
globs = [
|
||||
"*.gif"
|
||||
"*.jpeg"
|
||||
"*.jpg"
|
||||
"*.png"
|
||||
"*.svg"
|
||||
"*.webp"
|
||||
];
|
||||
};
|
||||
|
||||
"docs" = {
|
||||
createDirIfNotExists = false;
|
||||
globs = [
|
||||
"*.md"
|
||||
|
||||
"*.pdf"
|
||||
"*.PDF" # why do people do this
|
||||
|
||||
"*.docx"
|
||||
"*.doc"
|
||||
|
||||
"*.xlsx"
|
||||
"*.xls"
|
||||
|
||||
"*.ppt"
|
||||
"*.pptx"
|
||||
|
||||
"*.odt"
|
||||
"*.ods"
|
||||
"*.odp"
|
||||
"*.odg"
|
||||
"*.odf"
|
||||
];
|
||||
};
|
||||
|
||||
"books" = {
|
||||
createDirIfNotExists = false;
|
||||
globs = [ "*.epub" ];
|
||||
};
|
||||
|
||||
"videos" = {
|
||||
createDirIfNotExists = false;
|
||||
globs = [
|
||||
"*.mp4"
|
||||
"*.webm"
|
||||
"*.mov"
|
||||
];
|
||||
};
|
||||
|
||||
"isos" = [
|
||||
"*.iso"
|
||||
"*.img"
|
||||
];
|
||||
"jars" = [ "*.jar" ];
|
||||
"txt" = [ "*.txt" ];
|
||||
"patches" = [
|
||||
"*.patch"
|
||||
"*.diff"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.tmpfiles.settings."10-downloads-sorter-service" = let
|
||||
inherit (cfg) downloadsDirectory;
|
||||
inherit (config.xdg) userDirs;
|
||||
|
||||
symlink = link: target: {
|
||||
"${link}".L = {
|
||||
user = config.home.username;
|
||||
mode = "0770";
|
||||
argument = "${target}";
|
||||
};
|
||||
|
||||
"${target}".d = {
|
||||
user = config.home.username;
|
||||
mode = "0770";
|
||||
};
|
||||
};
|
||||
in lib.mkMerge [
|
||||
(symlink "${downloadsDirectory}/books" "${userDirs.documents}/books/downloads")
|
||||
(symlink "${downloadsDirectory}/docs" "${userDirs.documents}/downloads")
|
||||
(symlink "${downloadsDirectory}/pictures" "${userDirs.pictures}/downloads")
|
||||
(symlink "${downloadsDirectory}/videos" "${userDirs.videos}/downloads")
|
||||
];
|
||||
}
|
||||
|
Reference in New Issue
Block a user