this post was submitted on 11 Jul 2023
40 points (100.0% liked)

Linux

48648 readers
999 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
 

I've been dual-booting since the early-oughts, but I'm only just now preparing to delete my Windows partition for good.

What with all the repartitioning in my future, I figure it's a good time to just make a clean start - reinstall from scratch. ...but I have about a decade's worth of tools and dotfile tweaks accumulated, including things like updates to xorg.conf to support my old (but awesome) mouse.

So... What's your favored toolset to get your machine back to the way you like it?

I've done this all manually many a time, backing up my home dir, writing scripts to install software, copy important config files into place, etc.

How do you like to go about reinstalling your programs, restoring .dotfiles and config?

all 19 comments
sorted by: hot top controversial new old
[–] [email protected] 13 points 1 year ago (2 children)

My entire .dotfiles is in GitHub. Anything I want to keep common across machines is stored there and either inserted in PATH or symlinked as needed.

[–] [email protected] 10 points 1 year ago (1 children)

Second this, just be mindful not to sync anything sensitive in there.

[–] [email protected] 2 points 1 year ago (1 children)

@Jamie
Using a dotfiles manager makes it a little easier to avoid, even if it's just GNU Stow.
@muddybulldog

[–] [email protected] 1 points 1 year ago (1 children)

Stow is good and I’d recommend it for someone starting out. By the time I found about it I had already written a silly amount of code from scratch to accomplish effectively the same thing.

[–] [email protected] 0 points 1 year ago (1 children)

@muddybulldog
After using a small install script of my own for a while, I switched to yadm. It's nice because it's a shell script, so no need to compile on different architectures/UNIXen.

[–] [email protected] 1 points 1 year ago

Thanks for this. Someone else has mentioned this a while back and I completely forgot what it was called. Which is ironic given what the acronym stands for. I’ll give it a second look.

[–] [email protected] 3 points 1 year ago

What a novel use for a git repo... I like it.

[–] [email protected] 9 points 1 year ago

I just tar up /home and /etc, install the new system, untar my backup to a directory inside my home directory, and then copy only the stuff I wanted to keep.

I see a fresh install as an opportunity for a new start.

[–] [email protected] 9 points 1 year ago (1 children)

I use chezmoi for tracking dotfiles and used to use a fancy Ansible setup. Now, I just occasionally backup a list of explicitly installed packages and track the major changes made to the system in a simple Markdown file.

[–] [email protected] 4 points 1 year ago

@andybug
I've been working on using Guix. Theoretically, I love the idea, but there's definitely some learning curve.
@swordsmanluke

[–] [email protected] 7 points 1 year ago (2 children)

I'm a /home on separate drive/partition kind of guy. I like it just following my installs. Though seeing some using guix/nixos to create a config for my desktop has got me wanting to spend a weekend trying that out.

[–] swordsmanluke 2 points 1 year ago (1 children)

That's been my approach too, but I've reached ten plus years of God knows what in my dotfiles. It's time for a clean reinstall. 😁

[–] [email protected] 2 points 1 year ago

I've been using chezmoi for dotfile management and have been really happy with it. You can directly import existing files to get started and template out any differences between systems.

[–] [email protected] 1 points 1 year ago (1 children)

The rest, ansible for any sufficiently complex enough setup at the moment. Good for integration work with LDAP, etc if your using that. Again may play around with guix on that front.

[–] [email protected] 2 points 1 year ago (1 children)

I was just thinking yesterday when looking at how NixOS works. The config file seems to be quite reminiscent of an Ansible Playbook. I mean maybe I'm way off the mark, I haven't really dug into Nix much yet.

[–] [email protected] 1 points 1 year ago

Guix/nix seem very powerful. The reproducibility is something ansible just isn't built to same level robustness for, which makes them seem very promising to me.

[–] [email protected] 5 points 1 year ago

Unfortunately, as always, the best solution does not exist. Everything has its advantages and disadvantages.

For example, I like Chezmoi for managing configuration files. But the tool is only for the configuration files in /home.

Ansible, on the other hand, can be used for / and /home. But already the basic functions are more complex which requires some training time.

[–] [email protected] 0 points 1 year ago

The best way is to use nix 🤙🏻