It's not exclusive to NixOS, but I've only packaged it for NixOS.

The UI looks like shit, but it allows showing all the configs in /etc/wireguard and toggling them on or off with wg-quick.

The biggest issue I had was with slint. I can't make sense of it (yet).

This was written because after getting a windscribe subscription, I found out that the app doesn't work on #NixOS and the pull request to add it 1) doesn't work, 2) is being nitpicked to death.

you are viewing a single comment's thread
view the rest of the comments
[–] 4 points 2 days ago (1 child)

That isnt that bad, I've definitely seen worse UIs. Out of curiosity, why did you pick Slint?

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 5 points 1 day ago (1 child)

    I didn't want any browser + Rust solution (bloated) --> no Tauri, no electron, no webkit, no QML (that's also webkit, isn't it?)

    Didn't want immediate mode - just not convinced by it --> no egui and all that other stuff

    Wanted to click together a UI and not fight too much with C++ bindings --> GTK4 got rid of their WYSIWYG editor, Qt creator doesn't do Rust AFAIK, and all Qt bindings seemed like a lot of work getting it to run

    Slint just seemed like the best thing I could get running under an hour, given those conditions.

    If you can think of something else that fits better given those criteria, I'd be happy to check it out.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 day ago (1 child)

    No suggestions, just curious about your rationale. I've used dioxus and egui a bit. Both have some fairly rough edges.

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 2 points 1 day ago (1 child)

    I might have to rethink my stance on no browsers, because Dioxus looks very easy compared to slint. And it supports mobile, which might come in handy for other projects have I have in mind.

    You do say dioxus has fairly rough edges. Could you elaborate further? I was considering trying it out.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 day ago

    Are you familiar with react? Its basically react, but rust.

    The rsx! macro is very clever, but it doesn't format with cargo fmt, you have to use dx fmt separately. Your mileage may vary as to whether your LSP or IDE understands it.

    Hot reload was a bit more like a plain reload. Still incredibly useful, but most of the time it did a rebuild and restart.

    I was trying to make a button that repeatedly fired as long as the mouse was held down, but for some reason the mouse up event would get lost, and then the button was stuck on.

    The "native" desktop is basically a custom browser with the JS engine replaced with rust. Its not as heavy as a full browser, but its not light either. Haven't tried the mobile versions, I suspect they are similar.

    If you know react, its not a bad way to transfer those skills. Worth a try IMO, I am still using it for my project, although I may rewrite and switch to egui if I can't solve my repeating button issue.

  • source
  • parent