90 lines
2.7 KiB
Nix
90 lines
2.7 KiB
Nix
{
|
|
user ? throw "user argument is required",
|
|
home ? throw "home argument is required",
|
|
}:
|
|
{
|
|
config,
|
|
inputs,
|
|
pkgs,
|
|
system,
|
|
...
|
|
}:
|
|
let
|
|
selfPkgs = inputs.self.packages.${system};
|
|
hmConfig = config.home-manager.users.${user};
|
|
in
|
|
{
|
|
nixpkgs.overlays = [
|
|
(final: prev: {
|
|
darktable = prev.darktable.overrideAttrs (oldAttrs: {
|
|
patches = oldAttrs.patches or [ ] ++ [ ./better-copy-and-import.patch ];
|
|
});
|
|
})
|
|
];
|
|
|
|
environment.persistence = {
|
|
"/persist" = {
|
|
"${home}/.config/darktable/data.db" = { };
|
|
"${home}/.config/darktable/library.db" = { };
|
|
};
|
|
"/cache"."${home}/.cache/darktable" = { };
|
|
};
|
|
|
|
home-manager.users.${user} = {
|
|
home = {
|
|
packages =
|
|
with pkgs;
|
|
with selfPkgs;
|
|
[
|
|
darktable
|
|
exiftool
|
|
darktable-ghost-cms-publish
|
|
];
|
|
|
|
sessionVariables = {
|
|
GHOST_URL = "https://photos.karaolidis.com";
|
|
GHOST_ADMIN_API_KEY_PATH = hmConfig.sops.secrets."jupiter/photos.karaolidis.com/admin".path;
|
|
};
|
|
};
|
|
|
|
xdg.configFile = {
|
|
"darktable/darktablerc".source = (pkgs.formats.keyValue { }).generate "darktablerc" {
|
|
"compress_xmp_tags" = "never";
|
|
"database/create_snapshot" = "once a day";
|
|
"rating_one_double_tap" = true;
|
|
"run_crawler_on_start" = true;
|
|
"ui_last/theme" = "darktable-elegant-darker";
|
|
"ui_last/grouping" = true;
|
|
"plugins/darkroom/lut3d/def_path" = "${home}/.config/darktable/luts";
|
|
"opencl" = false;
|
|
"plugins/lighttable/overlays/1/0" = 0;
|
|
"plugins/lighttable/overlays/1/1" = 3;
|
|
"plugins/lighttable/overlays/1/2" = 3;
|
|
"plugins/darkroom/modulegroups/last_preset" = "modules: all";
|
|
"session/base_directory_pattern" = "${home}/Pictures/Darktable";
|
|
"session/filename_pattern" =
|
|
"$(EXIF.YEAR)-$(EXIF.MONTH)-$(EXIF.DAY)_$(EXIF.HOUR)-$(EXIF.MINUTE)-$(EXIF.SECOND)_$(CONFLICT_PADDING).$(FILE_EXTENSION)";
|
|
"session/sub_directory_pattern" = "";
|
|
"setup_import_directory" = true;
|
|
"lua/script_manager/check_update" = false;
|
|
};
|
|
|
|
"darktable/luarc".text = ''
|
|
require "tools/script_manager"
|
|
require "tools/publish"
|
|
'';
|
|
|
|
"darktable/lua/lib".source = "${selfPkgs.darktable-lua-scripts}/lib";
|
|
"darktable/lua/tools/script_manager.lua".source =
|
|
"${selfPkgs.darktable-lua-scripts}/tools/script_manager.lua";
|
|
"darktable/lua/tools/publish.lua".source =
|
|
"${selfPkgs.darktable-ghost-cms-publish}/lib/darktable-ghost-cms-publish/publish.lua";
|
|
|
|
"darktable/luts".source = selfPkgs.darktable-hald-clut;
|
|
};
|
|
|
|
sops.secrets."jupiter/photos.karaolidis.com/admin".sopsFile =
|
|
../../../../../../secrets/personal/secrets.yaml;
|
|
};
|
|
}
|