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!
demesisx ( @demesisx@infosec.pub ) English26•2 years ago pezhore ( @pezhore@lemmy.ml ) English14•2 years agoOh! I can participate!
Everything I have/configure is 100% in Ansible. I learned the hard way that rebuilding a workstation from scratch sucks if I only depend on my brain to remember things.
It takes some effort to keep it updated - if I’m trying out a new app, I have to remember to add it to my config.
The other thing that I’ve started doing is using Restic for file level backups. That’s relatively easy to set up, it supports a multitude of backend storage, and works well with a cron job for braindead backups.
CalcProgrammer1 ( @CalcProgrammer1@lemmy.ml ) English13•2 years agoInstall fresh copy of Linux OS on a new device. Install the apps I know I need like browser, code editor, etc.
Use device.
Realize “oh crap I forgot to install X!”
Install X
Repeat until all X have been installed.
Lemmchen ( @Lemmchen@feddit.de ) English4•2 years agoPlus backup
/home
and/etc
, maybe/opt
as well.Lol, pretty much what I’ve done in the past. And yep, it works, eventually.
Positroni ( @Positroni@positroni.ddns.net ) English2•2 years agoAlso works as a way to remove programs you are not really using anymore but had installed before. And although more annoying but I guess resetting configuration files to default settings every now and then is not too bad either.
SmallAlmond ( @SmallAlmond@lemmy.dbzer0.com ) English10•2 years agoHome Manager on a NixOS flake, it’s a rabbit hole but I’ve been loving it since last week!
Bankenstein ( @Bankenstein@feddit.de ) English9•2 years agoMove all your heavily modified config files into a git repository and host it somewhere. Then symlink all your config files to where they should be with
ln -s ~/.config/whatever ~/gitrepo/whatever
. That’s how you preserve your important configs.You can easily get a list of your installed packages (which you can keep in your repository) with
apt list --installed > packages.txt
. You can then format that list to one you can install from withsed -e "s-/.*$--" <packages.txt
(or something, i don’t have apt, can’t test it fully).In fact, if someone here is more familiar with apt, please find a way to filter out packages that were not explicitly installed and reply to this comment with your solution.
sibloure ( @sibloure@beehaw.org ) English2•2 years agoThis combined with
stow
command makes it very simple to “install” your system configuration on a new machine.
NekuSoul ( @nekusoul@lemmy.nekusoul.de ) English7•2 years agoApart from those little tools running in the background that get their own little “How to install and configure X” file, I don’t keep a list. I just install things as I need them, copying back config files from a backup. It’s less annoying and time consuming than one might expect and keeps the system slim by not installing what I never use anyway.
happyhippo ( @happyhippo@feddit.it ) English6•2 years agogit repo
A bash script
apt get install <your list here>
Same with flatpak
Keep updated. Done.
garam ( @garam@lemmy.my.id ) English5•2 years agoUse ansible and variable, so it can be replicated to other computer. Simple
ansible.builtin.apt: name: "{{ item }}" state: latest loop: - pkg1 - pkg2
NixDev ( @NixDev@programming.dev ) English3•2 years agoAt work we are starting to transition to Ansible from chef and other homegrown solutions. So to learn Ansible I added awx to my home lab and now have playbooks for almost all of my devices. Going to format a Pi again soon and see if everything works as intended
djsaskdja ( @djsaskdja@reddthat.com ) English4•2 years agoI make a list of all the ones I like. Then when I feel my system is getting too bloated, I wipe and reinstall while only installing the packages from my list.
It’s very “low tech,” but it’s always worked out well for me.
Yes, I think this is more like what I’ll do, though I like the idea of a git repo for the configurations. Cheers
ebits21 ( @ebits21@lemmy.ca ) English4•2 years agoLately using Silverblue. Everything is a flatpak or is layered. Both are easy to list.
Maybe a handful of things in distrobox I need to keep track of.
Amadeus Paulussen ( @amadeus@lemmy.zip ) English3•2 years agoI keep a changelog for all my computers and note installations, uninstallations and config changes.
xoggy ( @xoggy@programming.dev ) English3•2 years agoNixOS stores a snapshot of your OS and all the app configs in an OS config folder for you. Helpful for instant system recovery or deploying the setup to new hardware.
Atemu ( @Atemu@lemmy.ml ) English3•2 years agoHow do you keep track of what you’ve installed/ your favorite apps?
https://github.com/Atemu/nixos-config/blob/b79f42793a709db083cf53867f85d5d46e41eb69/packages.nix
Separately, how can I backup the configurations I’m using right now.
TheFriendlyArtificer ( @TheFriendlyArtificer@beehaw.org ) English3•2 years agohttps://github.com/koepnick/dotfiles cloned into ~/.config
I typically start with a restrictive .gitignore and add directories as needed.
A ton of stuff that I always forget like mpv, vifm, and whatnot always slipped through the cracks before. Now I can clone to practically anywhere and have everything just work.
Brian Bufalo ( @bmbufalo@lemm.ee ) English2•2 years agoMackup  https://github.com/lra/mackup