Skip to content

Commit

Permalink
98 papercuts
Browse files Browse the repository at this point in the history
  • Loading branch information
Enzime committed Jul 12, 2024
1 parent f2a3f79 commit 5fa3894
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 1 deletion.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion modules/nextcloud.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
85 changes: 85 additions & 0 deletions overlays/joplin.nix
Original file line number Diff line number Diff line change
@@ -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) { };
}

0 comments on commit 5fa3894

Please # to comment.