feat: introduce treefmt and fmt all
This commit is contained in:
parent
80250b0179
commit
27c6c4f9fa
237 changed files with 5440 additions and 5214 deletions
|
@ -4,20 +4,19 @@ this is pseudocode that serves as a reminder
|
|||
|
||||
1. podman build -f Containerfile -t logseq
|
||||
2. CONTAINER_ID=$(podman container create logseq)
|
||||
2. podman unshare
|
||||
3. podman mount $CONTAINER_ID
|
||||
4. copy and upload the AppImage. e.g.
|
||||
```
|
||||
cp /home/steveej/.local/share/containers/storage/overlay/f932ca9f11ea2bfd6b221118eb54775a623bc519bfe38188afcbad51dda2777f/merged/Logseq-0.10.9.AppImage .
|
||||
exit
|
||||
scp Logseq-0.10.9.AppImage root@www.stefanjunker.de:/var/lib/container-volumes/webserver/var-www/stefanjunker.de/htdocs/caddy/downloads/
|
||||
```
|
||||
5. podman unshare
|
||||
6. podman unmount
|
||||
|
||||
3. podman unshare
|
||||
4. podman mount $CONTAINER_ID
|
||||
5. copy and upload the AppImage. e.g.
|
||||
```
|
||||
cp /home/steveej/.local/share/containers/storage/overlay/f932ca9f11ea2bfd6b221118eb54775a623bc519bfe38188afcbad51dda2777f/merged/Logseq-0.10.9.AppImage .
|
||||
exit
|
||||
scp Logseq-0.10.9.AppImage root@www.stefanjunker.de:/var/lib/container-volumes/webserver/var-www/stefanjunker.de/htdocs/caddy/downloads/
|
||||
```
|
||||
6. podman unshare
|
||||
7. podman unmount
|
||||
|
||||
# resources
|
||||
|
||||
* https://github.com/logseq/logseq/blob/dc5127b48a7874627bd9ab63696f7ddf821b90a7/docs/develop-logseq.md?plain=1#L90
|
||||
* https://github.com/logseq/logseq/blob/master/Dockerfile
|
||||
* https://github.com/randomwangran/logseq-nix-flake
|
||||
- https://github.com/logseq/logseq/blob/dc5127b48a7874627bd9ab63696f7ddf821b90a7/docs/develop-logseq.md?plain=1#L90
|
||||
- https://github.com/logseq/logseq/blob/master/Dockerfile
|
||||
- https://github.com/randomwangran/logseq-nix-flake
|
||||
|
|
|
@ -14,85 +14,93 @@
|
|||
nix-update-script,
|
||||
overrideSrc ? null,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: let
|
||||
inherit (finalAttrs) pname version src appimageContents;
|
||||
in {
|
||||
pname = "logseq";
|
||||
version = "0.10.9";
|
||||
stdenv.mkDerivation (
|
||||
finalAttrs:
|
||||
let
|
||||
inherit (finalAttrs) pname version src;
|
||||
in
|
||||
{
|
||||
pname = "logseq";
|
||||
version = "0.10.9";
|
||||
|
||||
src =
|
||||
if overrideSrc != null
|
||||
then overrideSrc
|
||||
else
|
||||
(fetchurl {
|
||||
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
|
||||
hash = "sha256-F3YbqgvL04P0nXaIVkJlCq/z8hUE0M0UutkBs2omuBe=";
|
||||
name = "${pname}-${version}.AppImage";
|
||||
});
|
||||
src =
|
||||
if overrideSrc != null then
|
||||
overrideSrc
|
||||
else
|
||||
(fetchurl {
|
||||
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
|
||||
hash = "sha256-F3YbqgvL04P0nXaIVkJlCq/z8hUE0M0UutkBs2omuBe=";
|
||||
name = "${pname}-${version}.AppImage";
|
||||
});
|
||||
|
||||
nativeBuildInputs =
|
||||
[makeWrapper]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [autoPatchelfHook]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [unzip];
|
||||
buildInputs = [stdenv.cc.cc.lib];
|
||||
nativeBuildInputs =
|
||||
[ makeWrapper ]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ unzip ];
|
||||
buildInputs = [ stdenv.cc.cc.lib ];
|
||||
|
||||
dontUnpack = stdenv.hostPlatform.isLinux;
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
dontUnpack = stdenv.hostPlatform.isLinux;
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase =
|
||||
''
|
||||
runHook preInstall
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux (
|
||||
let
|
||||
appimageContents = appimageTools.extract {inherit pname src version;};
|
||||
in ''
|
||||
mkdir -p $out/bin $out/share/logseq $out/share/applications
|
||||
cp -a ${appimageContents}/{locales,resources} $out/share/logseq
|
||||
cp -a ${appimageContents}/Logseq.desktop $out/share/applications/logseq.desktop
|
||||
|
||||
# remove the `git` in `dugite` because we want the `git` in `nixpkgs`
|
||||
chmod +w -R $out/share/logseq/resources/app/node_modules/dugite/git
|
||||
chmod +w $out/share/logseq/resources/app/node_modules/dugite
|
||||
rm -rf $out/share/logseq/resources/app/node_modules/dugite/git
|
||||
chmod -w $out/share/logseq/resources/app/node_modules/dugite
|
||||
|
||||
mkdir -p $out/share/pixmaps
|
||||
ln -s $out/share/logseq/resources/app/icons/logseq.png $out/share/pixmaps/logseq.png
|
||||
|
||||
substituteInPlace $out/share/applications/logseq.desktop \
|
||||
--replace Exec=Logseq Exec=logseq \
|
||||
--replace Icon=Logseq Icon=logseq
|
||||
installPhase =
|
||||
''
|
||||
)
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
mkdir -p $out/{Applications/Logseq.app,bin}
|
||||
cp -R . $out/Applications/Logseq.app
|
||||
makeWrapper $out/Applications/Logseq.app/Contents/MacOS/Logseq $out/bin/logseq
|
||||
''
|
||||
+ ''
|
||||
runHook postInstall
|
||||
runHook preInstall
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isLinux (
|
||||
let
|
||||
appimageContents = appimageTools.extract { inherit pname src version; };
|
||||
in
|
||||
''
|
||||
mkdir -p $out/bin $out/share/logseq $out/share/applications
|
||||
cp -a ${appimageContents}/{locales,resources} $out/share/logseq
|
||||
cp -a ${appimageContents}/Logseq.desktop $out/share/applications/logseq.desktop
|
||||
|
||||
# remove the `git` in `dugite` because we want the `git` in `nixpkgs`
|
||||
chmod +w -R $out/share/logseq/resources/app/node_modules/dugite/git
|
||||
chmod +w $out/share/logseq/resources/app/node_modules/dugite
|
||||
rm -rf $out/share/logseq/resources/app/node_modules/dugite/git
|
||||
chmod -w $out/share/logseq/resources/app/node_modules/dugite
|
||||
|
||||
mkdir -p $out/share/pixmaps
|
||||
ln -s $out/share/logseq/resources/app/icons/logseq.png $out/share/pixmaps/logseq.png
|
||||
|
||||
substituteInPlace $out/share/applications/logseq.desktop \
|
||||
--replace Exec=Logseq Exec=logseq \
|
||||
--replace Icon=Logseq Icon=logseq
|
||||
''
|
||||
)
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
mkdir -p $out/{Applications/Logseq.app,bin}
|
||||
cp -R . $out/Applications/Logseq.app
|
||||
makeWrapper $out/Applications/Logseq.app/Contents/MacOS/Logseq $out/bin/logseq
|
||||
''
|
||||
+ ''
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
# set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs
|
||||
makeWrapper ${electron_27}/bin/electron $out/bin/logseq \
|
||||
--set "LOCAL_GIT_DIRECTORY" ${git} \
|
||||
--add-flags $out/share/logseq/resources/app \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
|
||||
'';
|
||||
|
||||
postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
# set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs
|
||||
makeWrapper ${electron_27}/bin/electron $out/bin/logseq \
|
||||
--set "LOCAL_GIT_DIRECTORY" ${git} \
|
||||
--add-flags $out/share/logseq/resources/app \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
|
||||
'';
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
passthru.updateScript = nix-update-script {};
|
||||
|
||||
meta = {
|
||||
description = "Local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base";
|
||||
homepage = "https://github.com/logseq/logseq";
|
||||
changelog = "https://github.com/logseq/logseq/releases/tag/${version}";
|
||||
license = lib.licenses.agpl3Plus;
|
||||
sourceProvenance = with lib.sourceTypes; [binaryNativeCode];
|
||||
maintainers = with lib.maintainers; [cheeseecake];
|
||||
platforms = ["x86_64-linux" "aarch64-linux"] ++ lib.platforms.darwin;
|
||||
mainProgram = "logseq";
|
||||
};
|
||||
})
|
||||
meta = {
|
||||
description = "Local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base";
|
||||
homepage = "https://github.com/logseq/logseq";
|
||||
changelog = "https://github.com/logseq/logseq/releases/tag/${version}";
|
||||
license = lib.licenses.agpl3Plus;
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
maintainers = with lib.maintainers; [ cheeseecake ];
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
] ++ lib.platforms.darwin;
|
||||
mainProgram = "logseq";
|
||||
};
|
||||
}
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue