From 5fa3894b98961b6d9a7faf30dd3e6fc1fdf57979 Mon Sep 17 00:00:00 2001 From: Michael Hoang Date: Fri, 12 Jul 2024 11:57:42 +1000 Subject: [PATCH] 98 papercuts --- CHANGELOG.md | 2 + modules/nextcloud.nix | 2 +- overlays/joplin.nix | 85 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 overlays/joplin.nix diff --git a/CHANGELOG.md b/CHANGELOG.md index 77b3407..2338dbb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +- Updated `nextcloud` +- Fixed `joplin-desktop` not syncing by using the latest version - Fixed `joplin-desktop` on macOS by installing it outside of Nixpkgs - Use `discord` without OpenASAR on macOS - Changed `rectangle` and `aldente` to autostart diff --git a/modules/nextcloud.nix b/modules/nextcloud.nix index fbc4c04..a705755 100644 --- a/modules/nextcloud.nix +++ b/modules/nextcloud.nix @@ -5,7 +5,7 @@ let hostname = "nextcloud.enzim.ee"; in { services.nextcloud.enable = true; - services.nextcloud.package = pkgs.nextcloud28; + services.nextcloud.package = pkgs.nextcloud29; services.nextcloud.hostName = hostname; services.nextcloud.settings.trusted_domains = [ "reflector.enzim.ee" ]; services.nextcloud.https = true; diff --git a/overlays/joplin.nix b/overlays/joplin.nix new file mode 100644 index 0000000..c1a1be2 --- /dev/null +++ b/overlays/joplin.nix @@ -0,0 +1,85 @@ +self: super: { + joplin-desktop = + assert builtins.compareVersions super.joplin-desktop.version "3.0.12" == -1; + self.callPackage + ({ lib, stdenv, appimageTools, fetchurl, makeWrapper, _7zz }: + + let + pname = "joplin-desktop"; + version = "3.0.12"; + + inherit (stdenv.hostPlatform) system; + throwSystem = throw "Unsupported system: ${system}"; + + suffix = { + x86_64-linux = ".AppImage"; + x86_64-darwin = ".dmg"; + aarch64-darwin = "-arm64.dmg"; + }.${system} or throwSystem; + + src = fetchurl { + url = + "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}${suffix}"; + sha256 = { + x86_64-linux = + "sha256-vMz+ZeBHP+9Ugy8KO8lbp8zqC8VHtf1TWw10YytQFSs="; + x86_64-darwin = + "sha256-XZN1jTv/FhJXuFxZ6D6h/vFMdKi84Z9UWfj2CrMgBBA="; + aarch64-darwin = + "sha256-lsODOBkZ4+x5D6Er2/paTzAMKZvqIBVkKrWHh5iRvrk="; + }.${system} or throwSystem; + }; + + appimageContents = + appimageTools.extractType2 { inherit pname version src; }; + + meta = with lib; { + description = + "Open source note taking and to-do application with synchronisation capabilities"; + mainProgram = "joplin-desktop"; + longDescription = '' + Joplin is a free, open source note taking and to-do application, which can + handle a large number of notes organised into notebooks. The notes are + searchable, can be copied, tagged and modified either from the + applications directly or from your own text editor. The notes are in + Markdown format. + ''; + homepage = "https://joplinapp.org"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ hugoreeves qjoly ]; + platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; + }; + + linux = appimageTools.wrapType2 rec { + inherit pname version src meta; + + profile = '' + export LC_ALL=C.UTF-8 + ''; + + extraInstallCommands = '' + source "${makeWrapper}/nix-support/setup-hook" + wrapProgram $out/bin/${pname} \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations}}" + install -Dm444 ${appimageContents}/@joplinapp-desktop.desktop -t $out/share/applications + install -Dm444 ${appimageContents}/@joplinapp-desktop.png -t $out/share/pixmaps + substituteInPlace $out/share/applications/@joplinapp-desktop.desktop \ + --replace 'Exec=AppRun' 'Exec=${pname}' \ + --replace 'Icon=joplin' "Icon=@joplinapp-desktop" + ''; + }; + + darwin = stdenv.mkDerivation { + inherit pname version src meta; + + nativeBuildInputs = [ _7zz ]; + + sourceRoot = "Joplin.app"; + + installPhase = '' + mkdir -p $out/Applications/Joplin.app + cp -R . $out/Applications/Joplin.app + ''; + }; + in if stdenv.isDarwin then darwin else linux) { }; +}