1

As a Linux user, I have a lot of non-GUI applications for which I configure their desired behaviour through config files. One of the troubles I have is that I have multiple devices from which I would like to use these applications with minimal impact on my workflow. Some examples:

  • Make my neovim behaviour consistent between devices (remaps, relative line numbers etc.);
  • Enable the same zsh aliases between devices;
  • Have a consistent git configuration between devices (e.g., so I don't need to manually configure user.name and user.email on every device);
  • Organise my different ipython profiles and settings.

Also considering that:

  • Some configuration should be shared between devices (e.g., git config);
  • Some configuration would remain local (e.g., some specific zsh aliases).

What are available approaches to create, store and sync my configuration? On the most basic level, I was thinking about having a Git repository with different and multiple files under a local and shared subdirectories, which would then each be sourced on the application's default files on each machine. Is this a viable approach? If not, what would be the closest "manual" solution? Are there any specific software available to achieve this organisation?

Example of how this basic solution would be implemented today:

.
├── aliases.txt
├── git
├── ipython
│   ├── local
│   └── share
├── nvim
│   ├── local
│   │   ├── keymaps.lua
│   │   ├── options.lua
│   │   └── plugins.lua
│   └── share
├── pip
└── zsh
    ├── local
    │   ├── aliases.zsh
    │   ├── bindings.zsh
    │   ├── config.zsh
    │   ├── functions.zsh
    │   └── prompt.zsh
    └── share
1
  • 1
    What have you tried? While this isn't a bad question per se, it is asking for opinions rather than asking us to help solve a specific problem. It sounds like you've already got a good idea. Proceed with this and as your come upon difficulties implementing it, those questions will be more along the lines of things we can help with. Commented Dec 14, 2023 at 6:38

0

Browse other questions tagged .