{ user ? throw "user argument is required", home ? throw "home argument is required", }: { pkgs, ... }: { environment.persistence = { "/persist"."${home}/.config/darktable" = { }; "/cache"."${home}/.cache/darktable" = { }; }; home-manager.users.${user} = let hald-clut = pkgs.fetchFromGitHub { owner = "cedeber"; repo = "hald-clut"; rev = "3b3180f82d4dcea1e6e8c5648473539a910d7f49"; sha256 = "sha256-R8vyYmcsfk49QsSV3v0QblXcO6U0oIfDyxbHPLwSMdo="; }; in { home.packages = with pkgs; [ darktable ]; 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"; }; "darktable/luts".source = "${hald-clut}/HaldCLUT"; }; }; }