Hacker Newsnew | past | comments | ask | show | jobs | submit | haskman's commentslogin

I have been building cross platform QT desktop apps with PureScript and NodeGUI. PureScript is truly underrated as a language and as a gateway to the entire JS ecosystem!

Also, being KDE native means using QT which is a good cross platform toolkit anyways.

Tbh Qt is so big you've still got a few minutes of decision making after you've decided to use it. What parts will you use and how will you use them?

...but then feeling out of place on GNOME / GTK4 / LibAdwaita-land

Linux is a mess, but at least it's unapologetically so.


They've got unified themes that make GTK and Qt applications look nice alongside each other. Users who care will be using those. Users who really care might refuse to use your application because it isn't the toolkit they like, but you shouldn't lose sleep over satisfying such particular and demanding users. They're not paying you anyway.

Vim/Neovim users should look at LazyGIT. https://www.youtube.com/watch?v=CPLdltN7wgE

The best part - it's a TUI program that's usable independently, that also happens to embed really well within vim.


PSA: For folks looking for a swipe enabled keyboard on GrapheneOS without using Google's gboard, try Heliboard - https://f-droid.org/packages/helium314.keyboard/. It's 100% FOSS, but can also use the binary blob from google's gesture typing library "swypelibs" to provide swipe typing. Since helium can't access the internet, I am okay with that.


I think they recently finished reimplementing the swipe library so now it no longer requires blobs.


Sounds more like "recently started", https://github.com/Helium314/HeliBoard/issues/2226


How does this compare to FlorisBoard?


Florisboard does not have swipe gesture typing which is basically a deal breaker for me


It has had it for a few years.


Also try the Urik Keyboard APP from f-droid


I just tried it out, it looks great! The swipe typing is a little less predictable than heliboard, but that might be because I am used to that one


I use GBoard without internet permission.


Google apps can talk to each other even without internet permissions. So even one app having internet permissions is enough to leak your data


There's also FUTO Keyboard (https://keyboard.futo.org/). Nothing against Heliboard (I actually don't even remember why I chose it over Heliboard). Just another good option.


FUTO, unlike everything else discussed here, is not FOSS.

https://gitlab.futo.org/keyboard/latinime/-/blob/master/LICE...


>You may distribute the software or any part of its source code only if you do so free of charge for non-commercial purposes.

Semantic arguments over what "FOSS" means aside, for most people, calling it "not FOSS" probably makes them more confused than if you just said "it's FOSS", even if the latter might not be technically correct.


It's not just a technicality. FUTO not being FOSS means that the community cannot fork and maintain the keyboard in case of a rug pull. In addition, not being FOSS means that FUTO is not on fdroid, and requires a payment on other stores.


>FUTO not being FOSS means that the community cannot fork and maintain the keyboard in case of a rug pull

But they can? It literally says anyone can do it as long as it's non-commercial.

>not being FOSS means that FUTO [...] requires a payment on other stores.

What are you talking about? It's free on google play.


> FUTO not being FOSS means that the community cannot fork and maintain the keyboard in case of a rug pull

> But they can? It literally says anyone can do it as long as it's non-commercial.

Commercial use doesn't only mean payment. If you modify FUTO, you can't use it at work for example.

In addition, FUTO License says this -

"Notwithstanding the above, you may not remove or obscure any functionality in the software related to payment to the Licensor in any copy you distribute to others. You may not alter, remove, or obscure any licensing, copyright, or other notices of the Licensor in the software. Any use of the Licensor’s trademarks is subject to applicable law."

> It's free on google play.

You are right. I had confused it with the donation link.


Do they support the ClearFlow layout?


Looks like someone created clearflow support - https://github.com/Helium314/HeliBoard/discussions/2315


> Being able to install browser extensions in Vanadium.

You can use IronFox - available in Accrescent store that comes with GrapheneOS, and install firefox extensions


So uh… why not just use Firefox directly?

Yes, I already do that but: - Vanadium is said to be safer. - The reality is that websites often don't work in Firefox anymore. - I want to be able to block social media at certain times. (Today I often circumvent such blocking in FF by just opening Vanadium…)


IronFox is Firefox with different settings. IronFox is security focused and hardens gecko preferences - https://ironfoxoss.org/docs/features/

Using a Chrome based browser (i.e. Vanadium) is not an option for me because I need my extensions and generally prefer using firefox everywhere.


Been running GrapheneOS for a while on a Pixel 9, and extremely happy with it! Apart from the usual perks of the FOSS ecosystem, there are a few things specific to GrapheneOS that are not immediately apparent but have turned out to work very well -

1. The Pixel camera app works, including all modes and settings. A camera that takes good photos was absolutely a requirement for me, and the FOSS camera apps are not quite as good yet.

2. I don't have Google Photos and the pixel camera app tries to launch google photos when you want to review the picture you just took. But there is a FOSS app called GPhotosShim that uses the same namespace as google photos and thus fools the camera into launching that app instead. Once launched, it just launches whatever media management app you actually have configured, so it's seamless.

3. Android Auto works!

4. Android QuickShare works!

5. NFC tags / Yubikey integration works!

6. Screencasting works!

7. Sensor access and internet access can be disabled for apps by default (and I do).


8. External storage works. This is the only mobile OS I've found that has stable support for an External SSD.

I bought a second hand Pixel 7 to test this and an exFat SanDisk Extreme Portable 2TB works with reads/writes perfectly.


> This is the only mobile OS I've found that has stable support for an External SSD.

My Librem 5 running PureOS also supports external storage just fine.


Very good to know!


> 3. Android Auto works!

Does this require installing google play and other google services to work?

Edit: https://grapheneos.org/usage#android-auto


>4. Android QuickShare works!

Does that require being logged into a Google account? How to ensure Google knows nothing about your shares?

I have Graphene w/ Google Play Services (required for my job) and would love a easy way to share files/info with various devices (incl. iOS/macOS which I remember should work with QuickShare in the future) but will avoid a service that shares data with Google.


Unfortunately yes, and I am signed into my Google account for it.


That's a hard pass.


> 2. I don't have Google Photos and the pixel camera app tries to launch google photos when you want to review the picture you just took. But there is a FOSS app called GPhotosShim that uses the same namespace as google photos and thus fools the camera into launching that app instead. Once launched, it just launches whatever media management app you actually have configured, so it's seamless.

There's also GCam https://github.com/lukaspieper/Gcam-Services-Provider

I don't know if it matters, but GPhotosShim doesn't seem to get updated.


I originally wanted to get the Pixel camera app working when I got started with GOS a few years ago, but then I found Open Camera and haven't looked back. Does it do something cool that Open Camera doesn't?


You can select the different cameras and avoid digital zoom.


Open Camera does that though. It's right next to the main "take photo" button. At least on the version I have.


I hadn't seen that button, but at least for me it's not enough: I want to be able to select the camera directly. And in Open Camera I can only select two out of the three cameras.


A quick question from potential buyer of next generation of pixel phones, since samsung keeps disappointing hard with their top line - is there any difference in quality between default photo app and what graphene os bundles with?

Pixel are supposed to be very good in photography, part hardware and part software, and my concern would be degradation of that software part. With small kids, there is nothing more important on phone for me than photos/video quality these days (apart from never going into apple ecosystem, I am just incompatible with that company' philosophy).

Or its just about slapping some commercial photo app (like I heard from other photographers is often done on apple to get most out of it, but forgot the name of the app) and not caring about this?


Yes, it's a huge difference. However, you can install the very latest Google Camera app through the Aurora app (or Play Market), and it works perfectly except you don't get photo preview within that app; to fix that minor issue, you can install the Gphotoshim which someone else mentioned in the comments.

On the other hand, if you switch to the latest Google camera app, you will not really be participating in making the open source version better.

https://play.google.com/store/apps/details?id=com.google.and...


Duckduckgo's only hit for "Gphotoshim" is your comment. Any hint at what to look for?



Thank you! Double s in the middle was the fix I see :)


If photos are important for you GCam is a must, you can download it


wish my yubikey would work with bitwarden


My Yubikey works with bitwarden on GrapheneOS using NFC.


ooo you must be special. which app store did you use to download bitwarden?


From the Play store.


And once you are on GrapheneOS, break free from your proprietary watch ecosystem and switch to GadgetBridge (https://gadgetbridge.org/)

I run a Thinkpad with NixOS and KDE, a Pixel 9 with GrapheneOS, and an Amazfit watch paired with GadgetBridge on my phone.

It's a testament to the hard work of the FOSS maintainers of these projects, and the spirit of open source, that everything works flawlessly together without any cloud service sucking up my data. For example, I can control youtube and music playback on my laptop with my watch because KDE Connect syncs my laptop and my phone, and gadgetbridge syncs the phone and the watch. The breezy weather app on my phone can automatically push its data to gadgetbridge which in turn pushes the data to the watch. And so on. So many little things, developed independently, working like a single well oiled machine.


I tried GadgetBridge because it cannot sync the activity files (.fit and/or .gpx) so I still had to plug the watch into a computer to keep the actual data.

So I ended installing ActivityLog2[0] to do something with the files I had to have on desktop and GadgetBridge was of little use because relying on GadgetBridge without actually syncing the files might make me forget about doing the backup to a device I control (GrapheneOS or a computer).

As soon as GadgetBridge support syncing the files from the watch to the app (or any local folder on Android), I'll install it again and stop doing the manual backups over USB. Syncthing will do it automatically.

[0] https://github.com/alex-hhh/ActivityLog2


Under settings->automations->auto export, you have "Auto export zip" where you can specify export interval. The zip file includes all the data (personally, I only see .fit files) from your app. For sync, you might have to use something like syncthing.


Alternatively, consider PineTime, which even offers a choice of the OS it runs: https://pine64.org/documentation/PineTime/


Also there's AsteroidOS which is a wrist sized linux for your watch, and looks fantastic! - https://www.youtube.com/watch?v=U6FiQz0yACc



Garmin watches seem quite open even without that. I have all my data syncing to influxdb every 15min for a Grafana dashboard and it works great.

In background I also have Withings scale sync the measurements a couple of times a day to Garmin.


How do you sync the data out of Garmin? Something like https://github.com/matin/garth, or syncing directly from the watch?


Probably the reason why Garmin watches are well supported by GadgetBridge


I didn't need anything more on my to-do list, but this is intriguing.


Setting up GadgetBridge is very easy since it's just an android app. No flashing firmware etc. However, not all gadgets are equally supported, and you should check the support status of your device - https://gadgetbridge.org/gadgets/ (I bought my watch only after checking that page for compatibility).


> And once you are on GrapheneOS, break free from your proprietary watch ecosystem and switch to GadgetBridge

Then switch back to Google/Apple after half a year when you discover that you can’t run

- your banking app - any government app - the app required to access large sports events - the pandemic tracking app without which you can’t enter an airport - various other random apps

because they ALL detect that you’re running on a phone with an unlocked bootloader and will flat out refuse to start. And for many of those, there is no legal alternative.

(The extent of this varies depending on where you live, of course.)


You can lock the bootloader again with GrapheneOS and many banking apps work.


You won't pass Google Play hardware attestation that way, and you won't find a bank in Europe or the UK that doesn't require that to log on to their website within five years.


My bank works fine after relocking (in NL, Europe). And last time I checked all Dutch banks work. My VISA credit card app (from ICS) also works. Same for the government identification app, the government message app, our insurance app. In fact, I haven't encountered anything outside of Google Pay that didn't work.

(I don't deny that there are apps that won't work. Best to check before switching full-time.)


That's a prediction I would disagree with. Firstly, there are application developers which specifically add support for GrapheneOS if they are asked nicely. Secondly, there is a chance that Play Integrity will have to change due to anti-trust regulation.


You pass basic, but not device or strong integrity. This is purely googles fault and is an artificial limitation that requires regulatory restrictions.


> - the pandemic tracking app without which you can’t enter an airport

Not sure if airports specifically used another mechanism, but the Android contact tracing APIs were actually reimplemented in microG, allowing these apps to work even on custom roms.

Your other examples don't hold universally either (banking apps are compatible with un-rooted custom ROMs more often than not, and not sure how many sports event apps use integrity checks), but your general point stands that it may come with trade-offs.


No banking app on phone because why; no government app because oh fuck why, whats wrong with your government (at least in primary phone and I never needed secondary); app for sport events - thats just me but I prefer doing sports rather than passively watch them, so 0 loss; pandemic what? its 2026 and I never saw such requirement in Europe, Africa nor Asia; no other app requires that.

Thats not coming from some paranoid security person, just regular (software dev) joe.


Most banking apps work perfectly, most government apps work perfectly, etc. It is only an exceptionally small subset of apps using anticompetitive measures such as play integrity.

Also, do not leave your bootloader unlocked. That is an incomplete GOS install and you will need to lock it to secure your device. Not locking it is both insecure and will make a much higher number of apps fail.


YMMV. I run sandboxed Google Play Services on GrapheneOS so almost every app works. My digital payments app works, and the same with most government apps I have tried. My private bank's app doesn't work, but I just use their website for the handful of times a year I need to access it.


Does NFC work with those digital payment apps on Graphene?


In India we use QR codes for payments. NFC in general does work (for example, I use a yubikey for 2FA).


I use this to generate a yearly calendar PDF for my eink device - https://recalendar.me/. It generates beautiful pages with internal linking, has support configuring the format, adding/removing sections, and also for uploading ICS files for holidays and such. And it runs entirely within your browser.


> Because it's not for the developers I know – they either want a Macbook or an infinitely configurable (hardware and software) workstation

I know lots of developers (me included) who want something solid and stable and Linux, i.e. definitely not a macbook


The name lens came from the property of their letting you "focus" onto parts of a larger data structure. The prism nomenclature is more tenuous - prisms evoke the imagery of a beam of light splitting into its constituent parts, and with a prism you can see a particular facet of the whole (sum types).


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: