After this post, here is how you can ACTUALLY do all of that with Emacs.
All of these Emacs extensions are basically text-based and more or less difficult to use. You WILL have the core functions of the Google stuff, but don’t expect to have a good time.
Degoogling:
- Gmail -> mu4e ( https://www.emacswiki.org/emacs/mu4e )
- Photos -> image-dired (built-in) ( https://lucidmanager.org/productivity/using-emacs-image-dired/ )
- Search -> any search engine in eww, maybe ddg-html ( https://html.duckduckgo.com/html/ )
- Chrome -> eww (built-in) ( https://www.gnu.org/software/emacs/manual/html_mono/eww.html )
- Keep -> org (built-in), org-roam ( https://www.orgroam.com/ )
- Drive -> emacs-syncthing ( https://github.com/KeyWeeUsr/emacs-syncthing )
- Passwords -> pass (built-in)
- Auth -> totp.el, looks highly experimental ( https://www.masteringemacs.org/article/securely-generating-totp-tokens-emacs )
- Calendar -> org-agenda (built-in)
- Play Store -> MELPA (used in your config)
- no VPN -> mullvad.el, looks highly experimental ( https://github.com/benthamite/mullvad/blob/main/mullvad.el )
- ChatGPT -> ellama ( https://www.rahuljuliato.com/posts/ellama ); @[email protected]: gptel is better ( https://github.com/karthink/gptel )
- Maps -> osm.el ( https://github.com/minad/osm )
For all my Emacs users out there, am I missing something ? Do you have alternatives / more usable recommandations ?-
I have been so lazy when it comes to learn emacs and vim, but this sounds interesting enough as a start
Interesting for sure, but I would not recommend going for most of these packages unless you are already very familiar with Emacs.
Here are the steps I would recommend if you find motivation to learn the editor:
- Install it, learn the basic use and navigation
- Focus on learning and configuring it for your main use-case (writing code in a specific language, taking notes, writing papers, playing Tetris, etc.). This might take a while.
- Question life, re-try VSCode and get instantly grossed out.
- ???
- Try weird packages, moving most of you digital life inside Emacs.
Enjoy =)
Thank you, I didn’t mean I’ll rush and install all of the mentioned things in the post, but it motivates me to learn
actually I have two problems: 1- I don’t know where to start 2- I’m too lazdy to search for resources so I start
And please don’t mention that VS code piece of shit in front of me even as an example, I can only use Windows as OS , one product by Microsoft is enough to tortue me
Okay so here’s the thing: Emacs runs best on Linux and MacOS (allegedly, bc UNIX-like) but it is more difficult to make it do what you want on Windows (afaik, never tried this). You’ll probably need WSL.
So if you have to stick with Windows, I’d suggest to search specifically for configurations and advice from other people who have done this. It will give you a base for installing and probably running a custom configuration.
From there, that my point 2), you should focus on trying and making YOUR workflow to run in Emacs. I really suggest to focus on one thing at the time and configuring it until it works the way you want. Otherwise you’ll end up with many half-backed systems and that’s frustrating.
What is your main use-case then? Maybe I can give some more precise advice if I’m familiar with it!
Thank you, I’ll take your notes into consideration , currently it’s just learning C , I use Code::Block for it
Sweet! It’s actually my main language. C mode is built-in so no concern on that side.
Some general advice:
- I leaned it way too late, but you can use
M-x compileand then type your build command (make clean && make all) instead of using a terminal to compile your project. - Try to learn a bit about Makefiles, it’s useful. Avoid cmake like plague.
- C is great for embedded, so you should look up TRAMP if that’s your use case; it basically removes the need for SSH-ing from a shell.
To have Emacs behave like an IDE:
- Install
clang17 clang17-extra-tools bearon the host system. - Configure eglot and company in your Emacs config:
(use-package eglot) (add-hook 'c-mode-hook 'eglot-ensure) (with-eval-after-load 'eglot (add-to-list 'eglot-server-programs '((c-mode c++-mode) . ("clangd")))) (use-package company) (add-hook 'after-init-hook 'global-company-mode)- Use the bear tool (ex.
bear --config bear_config.json -- make all) to make the non-trivial project understandable by Emacs. Since it re-uses your Makefile, it even works for cross-compilation!
Good luck!
- I leaned it way too late, but you can use


