Skip to content

Commit cb31b1c

Browse files
feat(app): add initial flatpak support
1 parent cd5dd29 commit cb31b1c

8 files changed

Lines changed: 13531 additions & 1 deletion

File tree

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "apps/app/distribute/linux/flatpak/flatpak-builder-tools"]
2+
path = apps/app/distribute/linux/flatpak/flatpak-builder-tools
3+
url = https://github.com/flatpak/flatpak-builder-tools.git

apps/app/distribute/linux/flatpak/cargo-sources.json

Lines changed: 7600 additions & 0 deletions
Large diffs are not rendered by default.
Submodule flatpak-builder-tools added at 216a52e
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
id: io.github.keshav-writes-code.cherit
2+
3+
runtime: org.gnome.Platform
4+
runtime-version: '47'
5+
sdk: org.gnome.Sdk
6+
7+
command: cherit
8+
finish-args:
9+
- --socket=wayland
10+
- --socket=fallback-x11
11+
- --device=dri
12+
- --share=ipc
13+
- --share=network
14+
sdk-extensions:
15+
- org.freedesktop.Sdk.Extension.node20
16+
- org.freedesktop.Sdk.Extension.rust-stable
17+
build-options:
18+
append-path: /usr/lib/sdk/node20/bin:/usr/lib/sdk/rust-stable/bin
19+
20+
modules:
21+
- name: cherit
22+
buildsystem: simple
23+
env:
24+
HOME: /run/build/cherit
25+
CARGO_HOME: /run/build/cherit/src-tauri
26+
XDG_CACHE_HOME: /run/build/cherit/flatpak-node/cache
27+
yarn_config_offline: 'true'
28+
yarn_config_cache: /run/build/cherit/flatpak-node/yarn-cache
29+
sources:
30+
- type: git
31+
url: https://github.com/Keshav-writes-code/Cherit.git
32+
branch: main
33+
- cargo-sources.json
34+
- node-sources.json
35+
build-commands:
36+
- echo -e 'yarn-offline-mirror "/run/build/cherit/flatpak-node/yarn-mirror"\nyarn-offline-mirror-pruning true' > /run/build/cherit/.yarnrc
37+
- mkdir -p src-tauri/.cargo && echo -e '[source.crates-io]\nreplace-with = "vendored-sources"\n\n[source.vendored-sources]\ndirectory = "/run/build/cherit/cargo/vendor"' > src-tauri/.cargo/config.toml
38+
- yarn install --offline --immutable --immutable-cache --inline-builds
39+
- yarn run tauri build -- -b deb
40+
- ar -x src-tauri/target/release/bundle/deb/*.deb
41+
- tar -xf src-tauri/target/release/bundle/deb/your-app/data.tar.gz
42+
- install -Dm755 src-tauri/target/release/bundle/deb/your-app/data/usr/bin/your-command /app/bin/your-command
43+
- install -Dm644 src-tauri/target/release/bundle/deb/your-app/data/usr/share/applications/your-app.desktop /app/share/applications/org.your.id.desktop
44+
- install -Dm644 src-tauri/target/release/bundle/deb/your-app/data/usr/share/icons/hicolor/128x128/apps/your-app.png /app/share/icons/hicolor/128x128/apps/your-app.png
45+
- install -Dm644 src-tauri/target/release/bundle/deb/your-app/data/usr/share/icons/hicolor/32x32/apps/your-app.png /app/share/icons/hicolor/32x32/apps/your-app.png
46+
- install -Dm644 src-tauri/target/release/bundle/deb/your-app/data/usr/share/icons/hicolor/256x256@2/apps/your-app.png /app/share/icons/hicolor/512x512/apps/your-app.png
47+
- install -Dm644 src-tauri/target/release/bundle/deb/your-app/data/usr/share/icons/hicolor/scalable/apps/your-app.svg /app/share/icons/hicolor/scalable/apps/your-app.svg
48+
49+
- install -Dm644 src-tauri/target/release/bundle/deb/your-app/data/usr/share/metainfo/org.your.id /app/share/metainfo/org.your.id
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<component type="desktop-application">
3+
<id>io.github.keshav-writes-code.cherit</id>
4+
<launchable type="desktop-id">io.github.keshav-writes-code.cherit.desktop</launchable>
5+
<name>Cherit</name>
6+
<developer id="io.github.keshav-writes-code">
7+
<name>Keshav-writes-code</name>
8+
</developer>
9+
<content_rating type="oars-1.1">
10+
</content_rating>
11+
<keywords>
12+
<keyword>Markdown</keyword>
13+
<keyword>Editor</keyword>
14+
<keyword>Obsidian</keyword>
15+
<keyword>Note-taking</keyword>
16+
<keyword>Local-first</keyword>
17+
</keywords>
18+
<branding>
19+
<color type="primary" scheme_preference="light">#8f4bf6</color>
20+
<color type="primary" scheme_preference="dark">#8f4bf6</color>
21+
</branding>
22+
<recommends>
23+
<display_length compare="ge">360</display_length>
24+
</recommends>
25+
<summary>A WSYIWYG Markdown Editor Inspired by Obsidian</summary>
26+
27+
<metadata_license>MIT</metadata_license>
28+
<project_license>GPL-2.0</project_license>
29+
<url type="homepage">https://github.com/Keshav-writes-code/Cherit</url>
30+
31+
<supports>
32+
<control>pointing</control>
33+
<control>keyboard</control>
34+
<control>touch</control>
35+
</supports>
36+
37+
<description>
38+
<p>
39+
Cherit is a cross-platform (mobile &amp; desktop), local-first version of Obsidian with syncing functionality built-in. It is designed to work in a seamless, hassle-free way, providing a WYSIWYG Markdown editing experience.
40+
</p>
41+
</description>
42+
<screenshots>
43+
<screenshot type="default">
44+
<image>https://github.com/user-attachments/assets/920c3f9e-f2d0-498e-bcf4-a27b7117f71f</image>
45+
<caption>Cherit Interface</caption>
46+
</screenshot>
47+
<screenshot>
48+
<image>https://github.com/user-attachments/assets/a87a2221-1d46-4348-b382-880c9da05196</image>
49+
<caption>Cherit Editor</caption>
50+
</screenshot>
51+
</screenshots>
52+
<releases>
53+
<release version="0.0.1" date="2026-02-01" >
54+
<description>
55+
<ul>
56+
<li>Initial release</li>
57+
</ul>
58+
</description>
59+
</release>
60+
</releases>
61+
<update_contact>keshav-writes-code@users.noreply.github.com</update_contact>
62+
</component>

0 commit comments

Comments
 (0)