I (very occasionally) get asked what my dev setup is for Geary, so while `git bisect run` is running, here it is. In short:
* Emacs with vala-mode, dvc-mode and a minimal amount of customisation
* GNOME Terminal with custom per-project shell environments (".localrc")
* GDB for debugging
* Gitg for making git less terrible to use
* GNOME DevHelp/Web for docs
* The Open in Terminal extension for GNOME Files
Apologies for not using anything more fancy. :)
The per-project and per-organisation .localrc files sets up anything from my git committer deets, to bash and gdb history files, the location of project source and build dirs, an updated PATH and LD_LIBRARY_PATH if needed, and so on. This allows things like gdb and emacs to find source files, build config and so on.
Most importantly, this gives per-project command histories, which are the main thing that stops me from using IDEs. Once you have this, you really don't want to go back.
When I want to start work on a project, I search for it in shell or in Files, and open its folder using Open In Terminal. This executes bash in that dir, loading the .localrc's and giving me the project's env and command history back, and away I go. The process is literally:
* Super+Space — GNOME Shell search opens
* G, E, A — project folder appears in the search
* ↓, ↓, Enter — folder opens in Files
Then open the folder menu, select Open in Terminal.
Way faster than an IDE startup.
The only thing sucky about this is that the third-party dvc-mode for Emacs has bitrotted badly. This was a vastly superior replacement to the built-in vc-mode (IIRC ESR maintains vc-mode these days, so no wonder it's a pile of shit that is stuck in the past). While DVC is now mostly unusable, it still at least provides an easy way to re-open files with local modifications in Emacs when returning to work on a project.
Anyway, that's it. It might be handy setting up symbol or docs lookup from Emacs one day, but tbh DevHelp search and command line tools like grep and xargs are just as good, and I get a history of things I have looked up using the latter, which I find much more useful.
So that's my development environment, what's yours?
@mjog this is a very interesting setup!
So, this is ancient, but it worked at some point and I found it handy: https://github.com/federicomenaquintero/gnome-emacs-utils/blob/master/devhelp.el
@federicomena Oh, I should check that out. Especially now that I'm off Apple hardware again and have function keys back by default. :) Cheers!
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!