diff --git a/.github/workflows/cachix.yaml b/.github/workflows/cachix.yaml index c14e1ea..ee0f60a 100644 --- a/.github/workflows/cachix.yaml +++ b/.github/workflows/cachix.yaml @@ -46,6 +46,7 @@ jobs: fail-fast: false matrix: name: + - ansel - grafanaDashboards/nginx - grafanaDashboards/node-exporter - kaleidoscope-udev-rules diff --git a/flake.lock b/flake.lock index 6c45879..6f16111 100644 --- a/flake.lock +++ b/flake.lock @@ -125,11 +125,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1724878143, - "narHash": "sha256-UjpKo92iZ25M05kgSOw/Ti6VZwpgdlOa73zHj8OcaDk=", + "lastModified": 1723310128, + "narHash": "sha256-IiH8jG6PpR4h9TxSGMYh+2/gQiJW9MwehFvheSb5rPc=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "95c3dfe6ef2e96ddc1ccdd7194e3cda02ca9a8ef", + "rev": "c54cf53e022b0b3c1d3b8207aa0f9b194c24f0cf", "type": "github" }, "original": { @@ -189,11 +189,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1725001927, - "narHash": "sha256-eV+63gK0Mp7ygCR0Oy4yIYSNcum2VQwnZamHxYTNi+M=", + "lastModified": 1723400035, + "narHash": "sha256-WoKZDlBEdMhP+hjquBAh0BhUJbcH2+U8g2mHOr1mv8I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6e99f2a27d600612004fbd2c3282d614bfee6421", + "rev": "a731b45590a5169542990c36ffcde6cebd9a3356", "type": "github" }, "original": { diff --git a/hosts/talos/home.nix b/hosts/talos/home.nix index f445684..0f547f1 100644 --- a/hosts/talos/home.nix +++ b/hosts/talos/home.nix @@ -23,13 +23,13 @@ home.packages = builtins.attrValues { inherit (pkgs) - ansel chromium # some websites only work there :( zotero ; inherit (pkgs.packages) + ansel spot ; }; diff --git a/pkgs/ansel/default.nix b/pkgs/ansel/default.nix new file mode 100644 index 0000000..43f5998 --- /dev/null +++ b/pkgs/ansel/default.nix @@ -0,0 +1,155 @@ +{ + cmake, + colord, + colord-gtk, + curl, + dav1d, + desktop-file-utils, + exiftool, + exiv2, + fetchFromGitHub, + glib, + gmic, + graphicsmagick, + gtk3, + icu, + intltool, + isocodes, + jasper, + json-glib, + lcms, + lensfun, + lib, + libXdmcp, + libXtst, + libaom, + libavif, + libdatrie, + libde265, + libepoxy, + libffi, + libgcrypt, + libgpg-error, + libheif, + libjpeg, + libpsl, + librsvg, + libsecret, + libselinux, + libsepol, + libsoup, + libsysprof-capture, + libthai, + libwebp, + libxkbcommon, + libxml2, + libxslt, + llvmPackages, + openexr_3, + openjpeg, + osm-gps-map, + pcre, + pcre2, + perlPackages, + pkg-config, + pugixml, + python3Packages, + rav1e, + sqlite, + stdenv, + util-linux, + wrapGAppsHook, + x265, +}: +stdenv.mkDerivation { + pname = "ansel"; + version = "unstable-2024-01-05"; + + src = fetchFromGitHub { + owner = "aurelienpierreeng"; + repo = "ansel"; + rev = "e2c4a0a60cd80f741dd3d3c6ab72be9ac11234fb"; + hash = "sha256-Kg020MHy9fn1drCk+66f25twqczvD/5evutDODqOjYM="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + cmake + desktop-file-utils + exiftool + intltool + libxml2 + llvmPackages.clang + llvmPackages.llvm + pkg-config + perlPackages.perl + python3Packages.jsonschema + wrapGAppsHook + ]; + + buildInputs = [ + colord + colord-gtk + curl + dav1d + exiv2 + json-glib + glib + gmic + graphicsmagick + gtk3 + icu + isocodes + jasper + lcms + lensfun + libaom + libavif + libdatrie + libde265 + libepoxy + libffi + libgcrypt + libgpg-error + libheif + libjpeg + libpsl + librsvg + libsecret + libselinux + libsepol + libsoup + libsysprof-capture + libthai + libwebp + libXdmcp + libxkbcommon + libxslt + libXtst + openexr_3 + openjpeg + osm-gps-map + pcre + pcre2 + perlPackages.Po4a + pugixml + rav1e + sqlite + util-linux + x265 + ]; + + preFixup = '' + gappsWrapperArgs+=( + --prefix LD_LIBRARY_PATH ":" "$out/lib/ansel" + ) + ''; + + meta = { + description = "A darktable fork minus the bloat plus some design vision"; + homepage = "https://ansel.photos/"; + license = lib.licenses.gpl3Plus; + mainProgram = "ansel"; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 19307a1..fc7fdd0 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,4 +1,5 @@ {pkgs}: { + ansel = pkgs.callPackage ./ansel {}; sddm-sugar-candy = pkgs.callPackage ./sddm-sugar-candy {}; kaleidoscope-udev-rules = pkgs.callPackage ./kaleidoscope-udev-rules {}; grafanaDashboards = pkgs.recurseIntoAttrs (pkgs.callPackage ./grafana-dashboards {});