I’ve always wanted to make desktop GUI apps, so I’ve decided to learn with Rust + GTK4.
Will be following this book (which looks hella promising): Prerequisites - GUI development with Rust and GTK 4
Do you guys have any recommendations for the setup?
It recommends VSCodium, so I’ll probably be using that.
At the moment I have Rust and Cargo installed as layered packages, but it might be better for me to set up a toolbox aye?
Is there a special way you guys recommend I do this?
toolbox create and then
sudo dnf install rust cargo
Please let me know if you have any opinions or advice on the matter.
I want my development environment to be really comfy
Okay, serious question, and my first roadblock.
I set up a new toolbox and installed gtk, rust and cargo.
How do I get VSCodium set up to be working with that toolbox?
The link that @jakfrost posted definitely will help you get to to a “really comfy” environment. You’ll need, unfortunately, to use the official Microsoft builds of Visual Studio Code rather than VSCodium - since the “Remote Containers” extension only works with the offiical builds.
(If you are looking for something fully open source, GNOME Builder should also work pretty well for GTK+ development with rust, and might even be better set up for things often used with GTK like GtkBuilder, Meson, etc. But I haven’t tried that combination yet.)
Will give the link a try! Is the official microsoft build one I’d have to build from source or is it on flathub?
It’s on Flathub. My script will prompt to install it if it is missing on your system.
That’s really cool, will give it a shot now
Should I be installing code in the flatpak for this?
➜ rustlings git:(main) ✗ code . zsh: command not found: code ➜ rustlings git:(main) ✗ flatpak install code zsh: command not found: flatpak ➜ rustlings git:(main) ✗ ```
The instructions say:
git clone https://github.com/owtaylor/toolbox-vscode.git cd toolbox-vscode ln -s "$PWD/code.sh" ~/.local/bin/code
This depends on
$HOME/.local/bin being in your $PATH environment variable. The default
$HOME/.bashrc on Fedora sets that up (see
/etc/skel/.bashrc), but since you are using zsh, you might need to configure that yourself.
Will look into it
strange, my one is long and I don’t remember setting it up
➜ ~ echo $PATH
I might have followed some guide or done tricky stuff in the past to get vscode working with zsh
I set the path to
And get the exact same error.
Is this because the $path variable doesn’t apply to zsh?
Getting some more tricky problems
It also tells me I need to install docker, but when trying with
sudo dnf install docker-ce docker-ce-cli containerd.io
file /usr/lib64/libip6tc.so.2.0.0 from install of iptables-libs-1.8.7-3.fc34.x86_64 conflicts with file from package iptables-legacy-libs-1.8.7-6.fc34.x86_64```
In theory you should be able to use Podman’s emulation of the Docker API instead. Your mileage may vary, but it could be worth a try:
podman service --help
Yeah, that isn’t necessary and won’t work :-). Can you open an issue in github.com/owtaylor/toolbox-vscode with as much detail as possible about how you went from the first screenshot where things were working to the second screenshot, and we’ll debug it there. Thanks!
I made one, but I’m not sure it’ll be very helpful.
I don’t think I did much in between screenshots, it’s just that it was the second time I tried.
I opened it for the second time, this time with a new project that I downloaded from GitLab.
Of course, even if I go to the first “rustlings” project I get the error so it’s not project specific. Maybe something happened to the toolbox, but I am opening it from the toolbox, and it appears as running when I type
For a flatpak based workflows vscodium and the flatpak extension should work fine. If you think that the book should go a bit deeper here, feel free to open an issue.
Otherwise, as others suggested toolbox + vscode is a good alternative.
I believe I’ve got a set up working with toolbox + vscode
This all may have been a very roundabout way not to layer on more packages, haha
Latest episode in my adventures; haven’t been able to build.
This is the message I am getting:
Running `cargo build --bin=relevant-stats-dash --package=relevant-stats-dash --message-format=json`... Compiling glib-sys v0.13.0 (https://github.com/gtk-rs/gtk-rs#7e9115a6) The following warnings were emitted during compilation: warning: `"pkg-config" "--libs" "--cflags" "glib-2.0" "glib-2.0 >= 2.66"` did not exit successfully: exit code: 1 error: failed to run custom build command for `glib-sys v0.13.0 (https://github.com/gtk-rs/gtk-rs#7e9115a6)` Caused by: process didn't exit successfully: `/var/home/sashin/Documents/Projects/relevant-stats-dash/target/debug/build/glib-sys-1f53007fc5a43b10/build-script-build` (exit code: 1) --- stdout cargo:rerun-if-env-changed=GLIB_2.0_NO_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG cargo:rerun-if-env-changed=GLIB_2.0_STATIC cargo:rerun-if-env-changed=GLIB_2.0_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR cargo:warning=`"pkg-config" "--libs" "--cflags" "glib-2.0" "glib-2.0 >= 2.66"` did not exit successfully: exit code: 1 --- stderr Package glib-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `glib-2.0.pc' to the PKG_CONFIG_PATH environment variable Package 'glib-2.0', required by 'virtual:world', not found Package 'glib-2.0', required by 'virtual:world', not found
I have tried running
sudo dnf install glib to no avail.
PKG_CONFIG_PATH returns nothing, and I am not sure which if any directory contains