this post was submitted on 19 Jul 2023
99 points (99.0% liked)

Linux

48372 readers
1797 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Earlier this year, I built a new PC and it's running Ubuntu. I've been installing various apps and configuring them since then. Now, I realize I don't have any way of knowing what I would want to reinstall, if I (for instance) lost this drive somehow.

How do you keep track of what you've installed/ your favorite apps?

Separately, how can I backup the configurations I'm using right now.

Thanks!

you are viewing a single comment's thread
view the rest of the comments
[–] zacher_glachl 38 points 1 year ago (2 children)

Git.

Keep all the config files of your tools in subdirectories of a git versioned directory and symlink them into their target location (e.g. with GNU stow). If installation of a tool is involved and you expect to have to revisit it, put the steps into an installation bash script and version it as well.

[–] mariom 3 points 1 year ago* (last edited 1 year ago) (1 children)

+1, essential ones I keep in GitHub repository (like zsh, tmux, xdefaults configs with no personal data). With makefile that makes symlinks. This is the easiest way to sync zsh config between my personal and work machines.

Rest is just in a backup.

[–] hikarulsi 1 points 1 year ago (1 children)

Do you have an example of a generalise makefile that does that? Or does it need to be customise per configuration?

[–] mariom 3 points 1 year ago

On my GitHub repo. Needs to be customized, but you should get the idea.

Maybe there is a way to write it better, I'm no makefile expert ;)

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

@zacher_glachl @perishthethought I take a similar approach starting with a bare work-tree at $HOME/.cfg and add config files I've changed. Then throw my --git-dir and --work-tree switches in an alias for git.

As for installed programs, a simple backup of my portage world file takes car of that.