Hi,

as nvim-user I am just starting out with orgmode and want to use emacs on 4 systems: 2 linux-boxes and 2 android-systems.

The linux-boxes run emacs 29, on android (in a termux/proot environment) the emacs version currently is 27.

I am using emacs only for orgmode with evil-mode and the modus-themes.

What I want is to have the same environment on all machines and so this is my plan:

I will use syncthing to sync all my org-files as well as the init.el between all machines and in the init.el I will only load packages with use-package.

So the idea is that when I e.g. introduce a new package on one machine, the new config is synced to the other machines and when I start emacs there the package is installed automatically - everything stays in sync.

My question: Would that work in practice or are there pitfalls I am not aware of?

  • camber-weaverB
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    This is pretty much exactly what I do. The only real hiccups I can think of:

    1. If you use Org Roam the different machines will have their own Sqlite databases and thus you may need to do an org-roam-db-sync when hopping.

    2. org-agenda may need to be refreshed when hopping machines.

    I have bound keys for both of those things to make the manual portion as non-disruptive as possible.

  • arthurno1B
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    Why did you make three threads with the same content?

    the new config is synced to the other machines

    I don’t know man; how do you plan to sync those machines? If you have 4 machines involved, there are always problems with machines being online/offline and talking to each other that you will have to solve somehow. If I were you, I would make a public or private repo on Github and use git to version control your content. You can push/pull from each machine when you make changes and need to propagate those changes. You can potentially automate the process of pushing and pulling via shell or elisp script.

    Would that work in practice or are there pitfalls I am not aware of?

    The most important thing is to keep eyes on your paths when it comes to documents and packages. I suggest keep all your org files in one directory, say ~/documents or whatever you prefer, and keep all of your Emacs config in .emacs.d, so you can just push/pull the entire .emacs.d. Another thing to keep eye in your config on are external programs, ag, ripgrep, etc. Since you are basically in the *nix world, it shouldn’t be too difficult, but there still might be differences where they are found etc; so you might need to keep an eye on paths and which programs you use. You can solve it in different ways, at your discretion, either directly in Emacs setup or in your login shell.