From 080b47b24fb5a329c184e2b25d7925269e43b240 Mon Sep 17 00:00:00 2001 From: randogoth Date: Sat, 3 Oct 2026 11:29:06 +0300 Subject: [PATCH] feat: package the app as a flatpak --- .gitignore | 2 + README.md | 15 +++++ com.randogoth.carrier.json | 69 +++++++++++++++++++++++ data/com.randogoth.carrier.desktop | 10 ++++ data/com.randogoth.carrier.metainfo.xml | 20 +++++++ data/icons/com.randogoth.carrier-128.png | Bin 0 -> 11022 bytes data/icons/com.randogoth.carrier-256.png | Bin 0 -> 18295 bytes data/icons/com.randogoth.carrier.png | Bin 0 -> 12945 bytes devbox.json | 8 ++- devbox.lock | 12 ++++ smolmail.png | Bin 5371 -> 0 bytes 11 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 com.randogoth.carrier.json create mode 100644 data/com.randogoth.carrier.desktop create mode 100644 data/com.randogoth.carrier.metainfo.xml create mode 100644 data/icons/com.randogoth.carrier-128.png create mode 100644 data/icons/com.randogoth.carrier-256.png create mode 100644 data/icons/com.randogoth.carrier.png delete mode 100644 smolmail.png diff --git a/.gitignore b/.gitignore index 50dfd81..88d9f7a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ /target +.flatpak +.flatpak-builder result result-* *.key diff --git a/README.md b/README.md index 6aa852f..afa3be6 100644 --- a/README.md +++ b/README.md @@ -38,3 +38,18 @@ The tests run offline against an in-memory store: seed and key parsing, a sealed ## Status Work in progress: the UI is unexercised against a live server — the store, crypto and address paths are covered by tests, the network flows (register, fetch, send, rotate) are wired to fumi-core's operations but only smoke-tested as far as launching the window. + +## Packaging + +`devbox run package` builds and installs the app as a Flatpak from +`com.randogoth.carrier.json` — the binary, the desktop file, the metainfo and +the icon all come from the repo, and the tooling (`flatpak`, `flatpak-builder`, +`appstreamcli`) lives in the devbox environment. The flatpak runtime is the one +dependency outside devbox; install it once: + + flatpak install --user flathub org.gnome.Sdk//51 org.freedesktop.Sdk.Extension.rust-stable//26.08 + +The result is installed into the user flatpak and runs as +`flatpak run com.randogoth.carrier`. Inside the sandbox the app keeps its +config under `~/.var/app/com.randogoth.carrier/config/carrier`, so a flatpak +install starts with a fresh identity rather than the dev build's account. diff --git a/com.randogoth.carrier.json b/com.randogoth.carrier.json new file mode 100644 index 0000000..0006ab6 --- /dev/null +++ b/com.randogoth.carrier.json @@ -0,0 +1,69 @@ +{ + "id": "com.randogoth.carrier", + "runtime": "org.gnome.Platform", + "runtime-version": "51", + "sdk": "org.gnome.Sdk", + "command": "carrier", + "finish-args": [ + "--socket=wayland", + "--socket=fallback-x11", + "--device=dri", + "--share=network" + ], + "add-extensions": { + "org.freedesktop.Sdk.Extension.rust-stable": { + "directory": "/usr/lib/sdk/rust-stable", + "version": "stable", + "bundle": false, + "autodelete": false, + "disable-filesystem": true + } + }, + "build-options": { + "append-path": "/usr/lib/sdk/rust-stable/bin", + "build-args": [ + "--share=network" + ] + }, + "cleanup": [ + "/share/doc" + ], + "modules": [ + { + "name": "carrier", + "buildsystem": "simple", + "build-commands": [ + "sed -i 's|../fumi/core|fumi/core|' Cargo.toml", + "cargo build --release --locked", + "install -Dm755 target/release/carrier /app/bin/carrier", + "install -Dm644 data/com.randogoth.carrier.desktop /app/share/applications/com.randogoth.carrier.desktop", + "install -Dm644 data/com.randogoth.carrier.metainfo.xml /app/share/metainfo/com.randogoth.carrier.metainfo.xml", + "install -Dm644 data/icons/com.randogoth.carrier.png /app/share/icons/hicolor/512x512/apps/com.randogoth.carrier.png", + "install -Dm644 data/icons/com.randogoth.carrier-256.png /app/share/icons/hicolor/256x256/apps/com.randogoth.carrier.png", + "install -Dm644 data/icons/com.randogoth.carrier-128.png /app/share/icons/hicolor/128x128/apps/com.randogoth.carrier.png" + ], + "sources": [ + { + "type": "dir", + "path": ".", + "skip": [ + "target", + ".git", + ".jj", + ".flatpak" + ] + }, + { + "type": "dir", + "path": "../fumi", + "dest": "fumi", + "skip": [ + ".jj", + ".git", + "target" + ] + } + ] + } + ] +} diff --git a/data/com.randogoth.carrier.desktop b/data/com.randogoth.carrier.desktop new file mode 100644 index 0000000..ca96261 --- /dev/null +++ b/data/com.randogoth.carrier.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=carrier +Comment=Minimalist smolmail client +Exec=carrier +Icon=com.randogoth.carrier +Terminal=false +Type=Application +Categories=Network;Email; +Keywords=mail;smolmail;fumi; +X-Purism-FormFactor=Workstation;Mobile; diff --git a/data/com.randogoth.carrier.metainfo.xml b/data/com.randogoth.carrier.metainfo.xml new file mode 100644 index 0000000..1ccb0e1 --- /dev/null +++ b/data/com.randogoth.carrier.metainfo.xml @@ -0,0 +1,20 @@ + + + com.randogoth.carrier + carrier + Minimalist smolmail client + CC0-1.0 + Apache-2.0 + +

carrier is a minimalist desktop client for Smol Mail: one compact + window — the list above, the article below — built on fumi-core, the + reference CLI's own library, with a Relm4 (GTK4) UI made from + libadwaita's own widgets. One 32-byte seed is the only secret; mail + stays sealed at rest and opens on demand.

+
+ com.randogoth.carrier.desktop + + + + +
diff --git a/data/icons/com.randogoth.carrier-128.png b/data/icons/com.randogoth.carrier-128.png new file mode 100644 index 0000000000000000000000000000000000000000..4f63fe25211b5077e4612676d9d6653037a02a8f GIT binary patch literal 11022 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+6p}rHd>I(3)EF2VS{N99 zf#hE>Fq9fFFuY1&V6d9Oz#v{QXIG#N0|NtFlDE4H!+#K5uy^@n1_lQ95>H=O_E%iY z9IBe_F*X(q3=FCzt`Q|Ei6yC4$wjG&C8-QX21aJOh6cI@#vuk4R>tO5CWhJu237_J zhKD5PqG-s?PsvQHMAKkoVP#?r(eS+0)RlpOK?80>NoH|VY5m))~@b7S8Xl&@{pE>iV+GHFVuspn)h&6~Rz zZf;O@*znhV8n0wqjsruk#J&`P2?>nLboDj6g!n&B@VR88Qgk%=MXoP4QO!PRAz{8MG+*kkOru}h!n~!dG^G{0532bsGTp8+> zWy+Kg!tA6KdM#=?XUOv&nUx{0h11V? z4rY1EsW*RI>va{8_SIlWzjlpp*X(byCD!_N-A<;Td)@x<3JZUn_93`W;O5E@t?2T- zGJ-{#r)OpS`nTig&m9ME%+OE0_QZzUDJWa^d5`LrYhGD*pSbugEOB)X_c`X}d;k3G zIpR~U{cL+K?w(Y(?~R4@zL2XqI$@Ua8fM2IZM+t=^_lJeQ<6X1-`DfUC^9ni3B*RF z?u$fk+?dTI(-Ck{@rpzC##q}Q4Us9(YD}NT=<4w(~VxGHdteLs5GJ<+_ibN%qL9cb~ zyY%1XEqqt~dVBjdDTPTFZcUEbuC$iv#iWA~J70G1$^B5eFl6J)-#-Pdx5X7jr7}oo zo?f+gTU^dFp^w*+mcFw8|MdK+{(p<_Gbk!7RAw=Y(tYxXbIsM)5$o<+uDx`X_5a7% z^M?|8LT&GBnM8k_ymMp4+0tO&`{(^sgl^7y{#0Uu_r0@DcdyIcwB42^$~22%*1izc z$(ttyWI1b0?Uy`Ob+z=m@43%v$xCY%N6zw5^LpKzR=hsyXbO+i0r7IjY3rW-dnN79 zd_ce8Slv~lo--ac(|RS{EquT1bvS8h)5!`MmIvSW{crweT++)VbHDw{FAe1?>z#UDXVoMG zEd(u+4J_L;3nJzmHsgu7(~w#)W6t3Oo*qL3C4mi|0oW~K+PN5+q!uaytjCn#)p_RiV4<(ib% zpNU?M8lr!u9n4=TvLq}c&J#OqlsssD#u->z7`#2#r8v@UQVkXZ0=yG^8U^K(Kjnrd+Qvb#qW%FaV*&4 zcE_NLg@Ylj+}dj9azRbbMIV;U+STD8>$T+bycUl%em=)ttapBjX?rYnKA5-f?7{PD zf@Y}(5eJ+#q*SL&nv?6?u;H@kA-*LZ96gQg^XyyWTJ%+IG!;`0crA5)@8HU$BJh&& z$&F7BY*{$%IyjV;G+loFXLqZD^~#rep?4LZyx_eSy|13z=^o!K!IinD4Louu%q^#D zo;C_Ll=eLBbjBpHkgu6tc13ByIu6eVT#Vry7W*2MYj!vtm@c&MO@@Zaf~GJ5jSB(~ z?_Y@C>azXYi#HOoLRwXEth@_F?)Y)GMRooXI?|BKqH>ehaTkjWXXMIlv-(exDLCP1!@-+k?cQupq(6wsw=}djm`P5KHjNc$G+_|!VA_?;@xn{;tA@Zn z#pq;a!^17I6Pt@?+;O;MHesPe2ZxlSyXVq}s~cqIO;FVQ^I*F`fonm|WSLdb1#_P; zG+I^7+19b(^0#gM*;(_~3(lGuF!|v3+xaz17;_FEh%mai_}Tj)MgD1a3Qxn{*J?9z zFmTH_+`PO(_n6fyi*TzjnN!`aNPRn$IAPJ>dfqL$3zS(Ncd;*A_>`9$`>SNA2G20Gr>nk%yd<|%w4~g{NWxIK?k^fyDwFJo+zilCZHfW@t)Q# zJ*J8vrUnDa&mF(M_w*h6zt^0jpZ~9e?UN7NZ$0W;sBz!uO!v%2=PcJJ2|R{}IsVMp z=C1dUi_`r_MwMMwUvtoAQH$I!4IXwa2P-S}=H_Yb0mQPFxKfE-w~tm%UlA zW7(E_*Sz=7cWjW^`1b8whoz=B`109W`-IbZdLnKwi~BTbg(lx@k)$OP6dEl&k0=N# zbIumwc{5icQMqc)mTksbF28^N-m1Wr{9deiUHN*)>=V;OX61`>JaT;CVvvwvmvA|I zS=mkR4#n48yIzG7JLw%`VvM8F1*gKaKzRD=`_AE_id9#Y_~<37T`Wbc%{w|B$0 zxXljV8+R5giTMAb+kVP>o2n(RKkG5+EV;~ZA<1RxTs;Ykgogrr4=;GX{#LQKIOJXP z!OJ|Q5**A8jlc4Qom-CxbhJwyZff#e)h=<-^tb)x2M#_WdvAB^yl3CMaO*UNfX}<` zzm?+^Fs)E$d1WHeuFaDC=>_kVhZ9x{|83DY@F2U*?YOTb10Qd3_puIVmSrqlZXP__ zo>pD?c)2p3_du|eudBeUgiEort@q?ADEVivoj-5(+h2QjD|vWXIK9}Cy0z>R>y~RB zTr>;X;x2vSRC`Ee8UxIc}T9m~g>hVS*;_Cy5x}4_DG0ytr6Z z8P9Pjuqk!^KD_m|YrRlr_$fL673m@j3$&TdIHY#X)!Ary{IaHSzeih_!W7kjsSe&s z0xY}UzF1pQYoFvHpkfh~^?8nlqce-ar9dV_m9&gSateGNOKqABWAvu(wtK&l{lfom zu?;LhmeF6XlT z?mg{aNB@4ErX1KM!9RiT0>i6)@e;hsE9SmXJfL6m=kW#$eZJy{=VsLNCK_q-Ja?OV z_%Yk@oI4EZJX}0|YFAVj>NN1mYy5WbWjY%Woulhv{W=>Dk&N9rwlA(SRPU&I ze*4-~j-tEk0@jJ9u}^Mm44nLU$yvr@53`+unL;JAxb3fq8C?)7lHck&;iJk6cK06) z3~qmutz%g%qBS0Mek`o;GW9vuw)+!9Nm+inhWNcSN4Joiq{6-#nF(FRIx0-UiyR6> z7HTo&27YSX#E`|5v2t%V_bv10;`a><6F03%+V7FEe^tVcplLkEzS)Lf6Me~T+`KO+ z4|f!2Bz-VhsK^;A_(N3CP)ev^dq(#IH}<=K%h?x2onQN6 zzuf`3q-WJfuYJg$9{+HWx^zZ+Da&TI}0Dw(UdnfAiV{6CKw)vg>&9 zjvC{)i15SK~q4=9lIn&;MY zr#b6VqhsdXTN#$3*V0$z=`%L%WK3l_{5`su<(uSRpAHURkCGnaYh@O>&B}QaCvM2N zKa%lc&JJyQ{Ql{??`Bi3t%_&)vo2EUS=a^7o)axQqJ2D4+-kl)Xl)b>VeYJZ_*agp zBFKqZx4U@$wljRYre8>Qa?1Uv&?LO|*rSa_`?r+!cja?6?s|WH%Qb6vX8A{Pjb@UU zj~PfUNbWnz{L1)#eLz(8yeW(BZRcuEK+Z#nayhb1c=mt|jWu`yl68&g?1+4`*p;P^7s&rn{Kn5F*psN#m^kC>LyZS^O;>h>7Rk&ts5)$A zD|O(RjM;NN^{N$&?}T?aiP(QT75UT4?tbwacjlI2W}B_-!W(Y?Y~(LYzj&TA<*(nR zi&}opP8o+>_1m=f^)51bkR=td{J%iCT+fM%_5YUF-ajqJ8&DX#W_#2t54B*^vOv+0 zDQsSo4lDFZWGPWoXzmC#=mFp|NY)~yo#e>Z`9G9kJ{$= zFV#9M)G)bCvMVIZDOUJZSE8sIPsR-&<-ZdI*tu*MoLHXkDUlagT)s5jF+;;CnL+VV zjFKytS@4TFU7sch{AOP`CE2J=JWubt%PyxoU2m3SnxiRFSXEOKUd|Er>cZRIdp~YewkS>F^FGb0vwrG^xD^Yc z@|`$#raP&4Djs&;d{8B4Sz^hS*NTd4PWj)BzWcHX3d$&+5_`V8jAaX-$$^Wlo-*@h zH%t)v+SdFvN%Zt;=^ZgbAZoTa}o zV%5T%MT$$g)N{+0Cv2bAx820q+em~>Ke`Df8)UX^l{+0vUdaSCo>pi~%ZiBPHaT*uit}m}_dfk!R#W!+e?E|Wdq&^J!{Y61 zuNS9ua%8_wt@(HQzI&NU=gyagXU_K|7bUU043SZLe(=#fS(c8lpL{Le9%?yDgbZco z&2JFk>Rr}+$W3(hPoZgHT@m_Wf%#h=a7(UB_5E$d`X)}FL-~NYWp?4MR<;Z-#3#6LK8$tv$oO#4B7#kpO{SxGFPjUUgLD|h%uhSbL$ zyvJ7bmvM+!TxLja@v&;0=)-iJ-~X_<&{sF^pH8gi;pQ7A=_~G!bKAVN{_C3WRiPrv zMMWPgaxZ+`$5PO2S{hw=SfWZOG~L`ZT5k)N7=Mb3g4jQWh+|u0RxS=%_xR7!*&A|& z7b|O?@##&fOOv@gdGU!pmBg9H`kplvx4rS;T6|MP&eD!uQDxuvORhCn})C!BYcDNN6uemSE+4D{5lGN9>=BT}`tIe+^%woHA(xUFoN#P$Gm;3R26yZO> zw`_My$f|7-Yb|$kv9t<0__NP;=V49umQe`0t2~qC-tW!%PD`&H`Sgk{PiJki<^D#m zrHt#}o-AK;`?4dSq6(LE=o-;e?05UWTb0>!-S|A)rQz|f53MZx+Z|1L`aW*tQ7e+1 zQ};z+mah2gqgr`)Vvb)bVtjoxOThYt@DIgB1t*rj@0R*&&Fgl>NaAPnv!mZs9Tr|? z65P6JTkON?7bUWL{?(ef@UYDCIyS-YXyKO&A~EOPcV0U1=@#2M{ihpug*h#~#?w~H zF=f|lTa^QGi3VZThE}f_4v6c;zqGyg-dprMGqcOFO?MJG6BIi3p0-=nEV#A3-C=ur z{!F%IYMW-vJM-wIxs2o9hYIl;$sf}gyBC&KXncPt_-65yt-Gyr)erAu=?J@ghqvN* zSI}Dv20@$i$FE9fpGcb|ae7%oWZLbAw_|3M1Y5g2{v+(3{&0t*$c56s?fL%&9&GD9 z^21_B>f)leSsS>!gRWlZVl@>Hss6q|pD}0}tJ@O^XB}zzg~irePp~sIU3J<2cklJU zb!G;pc1?#rPmY)&ecUCF<>QR2!hc?>wB^p6G5g$B`}^ES{@P7&e~}|^)pIz%R$EAT zvc|l6*{7=;cYR;Frsn6X(w|@6_}qX0P4z&C5+j3CrfrE>>g!*&Z~uNjbbgkvczFJk z!dyfC+h!9_FEg~a?mPThc*Z;#S1n2A=WFsGq@R~625pIN3|H!CPEWwy5{mQ;SplD7PKK}DTV zv9V=}vF8l7eEZYQUE7S$TE6jNJ9$#mb18~0D)IvT{=+ADQ# zZoG?@;NdSRV(rh=4ee(i{*l49E%(mJrQG}?6EDn6R4_AYy7Gl*lY5_%u|2=>)I+W3 z>)6&_a?AIcWA^mP_Nd(4#KO40caC~9zrQ}6;q_THseJ)KE3a)}d2uJ_g1Athw9ehM zXtsM_w#zwMZEd+)!@0F;wYt;|NzOIbX0Nz1YezvTYvJuf6?)CV$De;#>@SmlT=bp$ zi+~p&-)LOgy!nKjW!INGGHXhtdOjz}KT+_!{(0{?*$_qt@0*fU>P)|;wJ=-j3OF9V z9>RKhV=I3HpRrTRaevuEi`Ab6tTfxWBj~`_qc(Z#@)iW;I&}O?VQ854`r)r6xqbQ{ zjwH7y7Gxi1m@1l=Uar0Guq?aaF@M{x&g1g#SygOdMx2lKtmQ3{I2!2Wu*>iFW)JU_ zXU`_uR;|fjb7bl!DPy+oo$m$Rz5e`~?4NMBkn6C`ezzTSz1u6cS+(|TEYrLpEpOWs zwYPQYRHb$L&o*uea#<7cY-7+hLbs?R%c7ui z)ZA}={CD8O7t(T(4tpOaq~uWpr#y~*`nkN~otqBdQk5$WM`9+J zhQ{*6xcu?k|KNlFe%>-QX6wl>FA2@PAH2x8b#rb17u5qxi&*XLY4CdyIG1WqSDv(TM`Fl!-pIku&<2w=jL<=7muF)X35*XUqxxg{C{?RW8FKM zDFV^WuD83AmIoe?6Tf~n;MFzOvI$N72Y$KSJz*elI>qVzZ;hbK#v9z-m>f$v_P);c zV&#kDFrIke#Yf@TzL@3W@-sU9b!je}&BMebD))Gg z!@*4-cSrdLXzyL$I+MNo-8pI7I;LQMyVfUHMBbE0iS%9k%~|_dNQCdNnX znd5qY3XDS}0%ac5xxAYgEK&bvp7m$`c zdgJ8ejPTQJ>aMGV{%-l}x2&STH9+9R#GDfe0qF`awk_Vw{La9nq2vIk z1v@t~E)VIOq+X!?RN-5HM#PO+T~;NJ^RJEc1tlJ+`7A#6Er}^>AOF%)%j8I3w=J)O zqWALK9Z=|4ki=;tmi=C+>Ue>4-qMx>$6C2>>?mQpx>U8I_gLBoZJB#txf#trRZdwS zbL`mD(;2y6PV-N&Pr7|u>>Hm-15cBs(18n9db{>slF~iSEuT?e-P5t5@S~Df_<99n z^ZqY?WF|cpZq(g(RzayC`+aqW%R#v$o--zkyAS1?75<$a-yW>R>K7w_JXo7GZPtQ< zQ~RP>(ZI&I|ydl>( z=Xl+OMupb?W4ENFUcc6e+tu;-eT}%#&O3H7)yt!WcgWtpUB0zVvS0c83C$ik>%NPR zk5}v8_y6ItVUp&O=g$p3{*Z2dsLF6L>(J`!&C~N5KC}jHo%Gn^cIj^irX@Pu7j~WL zn8nccDz>ZamFl6XuUAJzX(m)9i5&0udHiCb=96Pa8+`5sf7w`VDR3Y{;OD2mw$@4I zJW7ga=M_sp*n;kN%dxg*{EAkX5}>x$Gh)<*wy zyBuE4$@1~Q!49*3azc0Ce6?xJ_O86MV`ty{KM$CmEi1Mt%wcPPu0G+c%I`1+-eT^& z<7V%-Jnh{XeO&I0fq=a9Ye_vJhKE)Y=CS9^=;(j`z+CD>*471=(vz4@p480Htj^MD zd#QUXaes5}V+IBj!IOz|t0$XCFzptsRsZB5?JNFV|NfDs*{4q|5wnU5D?f#C97e)GHW*zEOHl8t0CinbX=_`>@*(uM&3;x8u zcPh=~Jo~jYAVOo2X~Ha-ImQ)r&nLf?zxDD}!3{Ca)b$sllg;_AQ`bLf!Ov z?YGV@-6niz?$_6>>RGb#XMa^+VpumtL1}5ZA(w$?^0g0!xj!;A+L}xzinFcKx}hj@ z*WczmF#M+~*i?*x}ny`=kVP4;zo(da_R>LXl zVva4|reaxvhQGqZ8cBteFcIR!r~g z$eHq-TW6ifhAlw{zQ^tAn7Pt$j*V6G;m?yL&Mr%kxckrPi}j~2_Jh~A)LS`Z>+JoY z`=eLwj+bPZRqxO3Hk;$a-*>!XEK_TKGjXxwFLRacB{3TJ<)a=~1Wnst^mSHEQC86d zOJ+_3!Tx4O-*XX_{wclw-~=i?F)7I$Ms(%y)p+UsKvyXZA1w>KY}*m;K| zXM}=9V;Jmb%~#A?kITj_WZp~X*bqi*mkz^qy7HJZ+|?=Ue9lnuE4l1MC(Ul zUF^R9Pdc66n6*THPf}7c;!tchWeqp~@aXh(16#|k$L?tbe@>Vz+2ee8zd=j&$ItbA z+k@KfXKlTI=U%XN*6+4`Hr!kfr(~(`-*RWJ(X$@Q?u!LQ3~WLRY#09FONlDWRoW7vNL3zIW%TuX6b8R}meDN{3XzU~Wp3TLiz>i^rvu#7&!`r|9?*HO#zV({i zTSes^;%{!bFf1_Ok6mjXxYqppO_3b`#pkMLeyphWcy%>vg`Qs0<43F^d3PG-o=kXh zLDAsyD_JAAm$^zEVcg;SKc!C5i*Nf9vm`y;yuZAquUv{Pi^2E4{<889p4(IpwAVik zf57o^{+4U^w_5zK^!uVCc=iEb!g{r&{TpYOGEEg&p>yxRv8CP`@ti?h0u$5?4e#km za?6XkuspPwFppb%D&L_)ea)x7W`BtGmDnh;V{4=i7t7&$XAUtfdB1qumMyZJTlAmy zW!vO>Hyn5tbo9|5?r`m?`{#HsmpAVCrOz~h3blT7Vs5K2w3uZQPE$kF7b1Vi~dT@ zDU$T!IO4YXp=97gcZt21rLHbjT{GXh{nJ!!i%)N?4ay$57`PX-$FMURB}yHg8?!_9 z{(}w<3ix-$oj@-=q_-FRiQ}cU|Keo>*{^#iSrM%;X#odMbjdA7_4^|B=mQ^UdoUA1~_+e*d50Oa;^H^?SSi%nWCn$ITG*dN%L*YJKHj z2jBny@KpBq%V~vGHtoi*S#8SSXiQqxnXjY!(fs@wo3x^Tac*A@UdX&t?Rb~*!8SpK zIUgrmf7Jl>aK09&7e0=z=e@RGMTf%Ym<-v7TTzpv)m zA^YDS<*#l#*sS_<`@wy$x1C62X-Maf+_7&{)5i)M`Nw~RwR?{(51#f_Su9!JK%$yo z*{aj-xA^_*9NHDUr}O+5Prp~N`NMXuxXjq#sQn64e%%+n{`b?%&d#l?pBml!euA?i z=uzv^RGq6?x8pu<>wCOk%Bol0eRD-giHPg*Lf&I>Kd!9*dyD)1-xu!n=TqL?o%7=G zoEMo&UiZ$W@0@*rXK{Ab^$jc?3%2ajobrp?e^vi_bLskGli9f;vHbIQS8#rQX<}FX z@Y03ryObN}bT2j1n-<5!uqU;Q&A;}Evc;T}cOL}0J zFMPgag2JK&hr%^Yu3djP#jMQdW0r&F+W4Ol*)9O>uR zxPN@RboQ?OX~)t-FF(qh6YHw@c7e$)*{~+JaN_?XXU?pgk+`Q{xVAyi*6~22-oN_j zISy+RmtKzeadN&>X`$fM?C^)CQn%-%=LK`wbW>$!P)tSlD`GitE>g@Hb%<-wSHdK z!*t7a=|1}lKZB#5FTECD)>5(W+PRwxjjF3Pxgm53t88g zNzL$IKC%1w#)!31J1hQpHgDuNTJ*hOQSgptzsGNTn0XqeMa7GF)gGJtY4Y=KX?=T3 zQ%$XP-T!}nlH8M8mv{ThySRez$_Md#H+B>s<(;D~W+>UOoF^eCSo^+ze)YTUQv3dI zo;PK`+SY$v*LKxiIKONDg$C^@zqV;VwO_yU-tM~h%KLvuvs4x8hzTDJ;}-9dwtn{Y zd)IC+<}ZgY8(-GgttWRfZQ{mUovW``2HyV1Ie8<$@uK}_JH+y?@6F%N77#UkNl^U9 zslO_YmhP{sN?KI1H0IdPM{GvhTJ>Xg6}>jU$+*4V>#gpiw7q>vrw?Z6v^l>tIkoP! zs_*Ah;rVxd94ayTsmgG@Q^VOs`1jm-Y7B*^j~ECix4G`9I2O9_%Kxli|MK;(zy4oq zHq|QpbM5o}HQ#?r^d9~2Rl0k}j=){Yf2*$xD;zpoC9A*g>BSGVXO;(@xV5cM+AUFW z?!Rwdi$7*E#qqpORsXKNY{Pt(3k~b1{935~w0`ZbclrMhdat+n|K-h@MVF%NCP^P& zem>siWMRQpn=f2{e>d&E$CA@-e%9x4%)*B4=gudah#h_{Eq$#<>ubx=pX?GBe@k4{ z+{HTSeLLrcsPNWn_eH$^&Y$$S=Ih6gAHS}C$`$siRK-Vle%0SUjo%*HE@u4oFl{ei zyrxCagN+*vuh{sj`4s;Qm#_b`x_;}PKbCG^qy&#Ttxb6URIbxDi(%>4N$am1msR}# zHEZw3c(utVr_b7VzvkgHqesg+&&TZO2)91;jJ>rw3KByrcIfr>_9PtHw((Miit)6s zTTcGGZ`?62*`>Yxos7~GAl$viE>Bp9@V4;CnpGw^Q8xp?J*Ze;(SoZO4&x-eNPR`|6uq95|>u+notDj%f zKDR30%vpP-=);zu4TLT(oc@&#o-kTOdRa@{C*+$ zWVY`amB}aACLVLSwynNLxc0=OKRaWLCO+$_y(;+VXWRSw$3I?Vq^^uQ`aLYnaI)7U z{q-@{FVyY`$yG49RAdz~?f-Zs_{Wi-pCvZu)_gkTT6Mqk@p1RZA47sW!j}hou79-a z#|`cDk9R&M*KSYTEBj)&O0K!`dWQdU!)YDPSqh1>Dl&85Zc|C&6Z$Xz ZVb8p5i|XS`7#J8BJYD@<);T3K0RX$OmzDqk literal 0 HcmV?d00001 diff --git a/data/icons/com.randogoth.carrier-256.png b/data/icons/com.randogoth.carrier-256.png new file mode 100644 index 0000000000000000000000000000000000000000..bd0187058562332d136c3fe2449fbf0a72a2c79b GIT binary patch literal 18295 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%0AX{WeZdgL|w9T*Ozu`sx|G&V4{PF5CR*ucqn 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 Sta(EsLGqrielF{r5}E)8JEZOa literal 0 HcmV?d00001 diff --git a/devbox.json b/devbox.json index 5fc8e27..a517954 100644 --- a/devbox.json +++ b/devbox.json @@ -19,7 +19,10 @@ "nixpkgs#gdk-pixbuf", "nixpkgs#harfbuzz", "nixpkgs#libadwaita", - "nixpkgs#adwaita-icon-theme" + "nixpkgs#adwaita-icon-theme", + "nixpkgs#flatpak", + "nixpkgs#flatpak-builder", + "nixpkgs#appstream" ], "shell": { "init_hook": [ @@ -40,6 +43,9 @@ ], "check": [ "cargo fmt --check && cargo build && cargo test" + ], + "package": [ + "flatpak-builder --force-clean --user --install-deps-from=flathub --install .flatpak com.randogoth.carrier.json" ] } } diff --git a/devbox.lock b/devbox.lock index da92544..a6f3109 100644 --- a/devbox.lock +++ b/devbox.lock @@ -47,10 +47,22 @@ "last_modified": "1970-01-01T00:00:00Z", "resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#adwaita-icon-theme" }, + "nixpkgs#appstream": { + "last_modified": "1970-01-01T00:00:00Z", + "resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#appstream" + }, "nixpkgs#cairo": { "last_modified": "1970-01-01T00:00:00Z", "resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#cairo" }, + "nixpkgs#flatpak": { + "last_modified": "1970-01-01T00:00:00Z", + "resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#flatpak" + }, + "nixpkgs#flatpak-builder": { + "last_modified": "1970-01-01T00:00:00Z", + "resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#flatpak-builder" + }, "nixpkgs#gcc": { "last_modified": "1970-01-01T00:00:00Z", "resolved": "path:/nix/store/v8ynlbrldn7k8byb1kx0j0wka8dsbrw9-source?narHash=sha256-BZWCi9ZRJiARTuKTbbtvFTj7t1TK4G3UEckT3HyNfRg%3D#gcc" diff --git a/smolmail.png b/smolmail.png deleted file mode 100644 index b076ec730c3df05f1650d12237e8b23ecc4b13f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5371 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