Refactor packages

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-02-23 23:52:29 +00:00
parent 3360e7f8c3
commit 0ae8128304
108 changed files with 11012 additions and 3025 deletions

View File

@@ -2,8 +2,15 @@
user ? throw "user argument is required",
home ? throw "home argument is required",
}:
{ config, pkgs, ... }:
{
config,
inputs,
pkgs,
system,
...
}:
let
selfPkgs = inputs.self.packages.${system};
hmConfig = config.home-manager.users.${user};
in
{
@@ -23,71 +30,60 @@ in
"/cache"."${home}/.cache/darktable" = { };
};
home-manager.users.${user} =
let
lua-scripts = pkgs.fetchFromGitHub {
owner = "darktable-org";
repo = "lua-scripts";
rev = "daa0877b4c25b91e4b71afc1ef8ffcba6018f7b2";
hash = "sha256-NNGAq1zgKqWLhKBPgm7kFZq4xwvescxnCAwovSF9r4k=";
};
hald-clut = pkgs.fetchFromGitHub {
owner = "cedeber";
repo = "hald-clut";
rev = "3b3180f82d4dcea1e6e8c5648473539a910d7f49";
hash = "sha256-R8vyYmcsfk49QsSV3v0QblXcO6U0oIfDyxbHPLwSMdo=";
};
in
{
home = {
packages = with pkgs; [
home-manager.users.${user} = {
home = {
packages =
with pkgs;
with selfPkgs;
[
darktable
exiftool
(pkgs.callPackage ./publish { })
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;
};
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 = "${lua-scripts}/lib";
"darktable/lua/tools/script_manager.lua".source = "${lua-scripts}/tools/script_manager.lua";
"darktable/lua/tools/publish.lua".source = ./publish/publish.lua;
"darktable/luts".source = "${hald-clut}/HaldCLUT";
};
sops.secrets."jupiter/photos.karaolidis.com/admin".sopsFile =
../../../../../../secrets/personal/secrets.yaml;
};
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;
};
}