How do you keep track of all apps you install and their configurations?
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!
like this
don't like this
Shin
in reply to perishthethought • • •I just check my Nix.config, but most distros don't have that privilege.
Idk how it works for most other distros, but I know on Arch you can check all packages manually installed by pacman and your AUR helper.
like this
fallenbagel, Urist, Starfighter, odium, visor841, Atemu, GitProphet, 0xeb, demesisx, MayoDuckPie and agaia like this.
odium
in reply to Shin • • •pacman -Qe
does something like thisvxnxnt likes this.
zacher_glachl
in reply to perishthethought • • •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.
like this
IRQBreaker, Bankenstein, ipipip, bannedfromapplebees, scumbaglambchop, Urist, pyrodorobo, swytch, odium, floatingpaperweight, Anonymouse, Generator, Atemu, mysbyxor, GitProphet, rhokwar, Dreyns, sf1tzp, sqw, augustus672, PHLAK, Soused, axsyse, joeJohn_electric, technojamin, vis4valentine, rafaelrsanches, perishthethought, agaia, TunaCowboy, atomkarinca, eshep, demesisx, CaldeiraG, deathbird, m0stlyharmless and Bugamn like this.
floatingpaperweight doesn't like this.
mariom
in reply to zacher_glachl • • •+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.
like this
kozou and sf1tzp like this.
hikarulsi
in reply to mariom • • •mariom
in reply to hikarulsi • • •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 ;)
like this
deepdive and hikarulsi like this.
eshep
in reply to zacher_glachl • •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. It gets backed up alongside all other
/etc/portage/
stuff.prostar doesn't like this.
Linux reshared this.
NekuSoul
in reply to perishthethought • • •like this
MarcellusDrum, TheButtonJustSpins, giloronfoo, pm_me_your_trash, Matt, PicklesBurgh, fictitiousexistence, JubilantJaguar and Rob Bos like this.
demesisx doesn't like this.
gobbling871
in reply to perishthethought • • •like this
Urist, pm_me_your_trash, mnemonicmonkeys, odium, donio, Trivernis and Lemmchen like this.
don't like this
demesisx and firrann don't like this.
perishthethought
in reply to gobbling871 • • •demesisx likes this.
djsaskdja
in reply to perishthethought • • •I 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.
like this
Feddit_Account, zacher_glachl, neytjs and Txopi like this.
don't like this
demesisx and donio don't like this.
perishthethought
in reply to djsaskdja • • •djsaskdja likes this.
demesisx doesn't like this.
Bankenstein
in reply to perishthethought • • •Move 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.
like this
Exec, NegentropicBoy, Forgottensoup, Haui, agaia, jacfr0st and ridah like this.
demesisx doesn't like this.
sibloure
in reply to Bankenstein • • •stow
command makes it very simple to "install" your system configuration on a new machine.The Doctor likes this.
Tom
in reply to perishthethought • • •Home Manager - NixOS Wiki
nixos.wikilike this
SmallAlmond, Atemu, demesisx, Scott, agaia, steal_your_face, xoggy, acow and Klaymore like this.
Cyberpro123 doesn't like this.
SmallAlmond
in reply to perishthethought • • •like this
Atemu, demesisx, Scott, brightone, Corngood, agaia, Shin, bubble_joe, acow, CaldeiraG, Klaymore and m0stlyharmless like this.
don't like this
ingolemo and Cyberpro123 don't like this.
██████████
in reply to perishthethought • • •juniez likes this.
don't like this
RandomLegend [He/Him], Sleepkever, Atemu, AbidanYre, perishthethought, demesisx, deepdive and Kallioapina don't like this.
Atemu
in reply to perishthethought • • •github.com/Atemu/nixos-config/…
etckeeper.branchable.com/
etckeeper
etckeeper.branchable.comlike this
fugi, demesisx, parmesancrabs, priapus and agaia like this.
Cyberpro123 doesn't like this.
AbidanYre
in reply to perishthethought • • •agaia likes this.
demesisx doesn't like this.
DarkwinDuck
in reply to AbidanYre • • •Too complex.
thialfi likes this.
AbidanYre
in reply to DarkwinDuck • • •I screw around with self hosting and homelab stuff that it was an interesting thing to learn at a certain point.
I don't think I noticed which c this was in. For a regular user it's probably not worth the effort.
DarkwinDuck
in reply to AbidanYre • • •I have a playbook for my Server stuff though.
AbidanYre likes this.
gzrrt
in reply to perishthethought • • •demesisx doesn't like this.
TheFriendlyArtificer
in reply to perishthethought • • •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.
GitHub - koepnick/dotfiles
GitHubagaia likes this.
demesisx doesn't like this.
demesisx
in reply to perishthethought • • •NixOS
GitHub - harryprayiv/nix-config: :mount_fuji: NixOS configuration
GitHublike this
bsolos, Scott, Solar Bear, bumble, Narwhalrus, OmidMnz, JubilantJaguar, kaymmm, alteredEnvoy, Kekin, Corngood, rescue_toaster, jpv, BitSound, Yardy Sardley, totally_notAcat (she/her), agaia, steal_your_face, bonedaddy, Shin, jacfr0st, Yatoo, bubble_joe, acow, YaxPasaj, Dr0med4r, CaldeiraG, WatTyler, vhstape, axelf, Klaymore, m0stlyharmless and GoodBoyTiger like this.
don't like this
azuth, NixDev, leo85811nardo and garam don't like this.
BitSound
in reply to demesisx • • •like this
demesisx, agaia, steal_your_face, acow, Klaymore and m0stlyharmless like this.
pezhore
in reply to perishthethought • • •Oh! 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.
like this
Lemmypy, Stety, bumble, alteredEnvoy, SunRed, jpv, perishthethought, clutchmattic, steal_your_face, agaia, TunaCowboy, nbailey, davad, YaxPasaj, CaldeiraG and The Doctor like this.
demesisx doesn't like this.
ebits21
in reply to perishthethought • • •Lately 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.
like this
jpv and sibloure like this.
demesisx doesn't like this.
cleric_splash
in reply to perishthethought • • •don't like this
demesisx and ultimitchow don't like this.
nbailey
in reply to perishthethought • • •demesisx doesn't like this.
xoggy
in reply to perishthethought • • •like this
davad, YaxPasaj, demesisx and Klaymore like this.
davad
in reply to perishthethought • • •A dot files repo for some basic config and an Ansible repo to stand everything up. This applies to both my Linux and MacOS machines.
All the people taking about their NixOS setups had me thinking of giving that a try, though.
YaxPasaj likes this.
don't like this
demesisx and DSX don't like this.
inspxtr
in reply to perishthethought • • •flatpak
,nix-env
(for non-NixOS),npm
(for global stuff), … you can just create a bash script to list all installed packages for each manager, and save to a file(s). I put them in a git repo to version control these lists, which are updated every now and then when I update stuff.like this
demesisx and Anony Moose like this.
gms77
in reply to perishthethought • • •The Doctor likes this.
Amadeus Paulussen
in reply to perishthethought • • •like this
The Doctor and vhstape like this.
garam
in reply to perishthethought • • •like this
Lemmchen, pitl, deathbird, nickwitha_k (he/him) and InvaderSkooge like this.
NixDev
in reply to garam • • •like this
pitl and garam like this.
CalcProgrammer1
in reply to perishthethought • • •Install 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.
like this
Carol2852, perishthethought, NixDev, LogarithmicCamel, mozzarellamommy, pitl, deathbird, nickwitha_k (he/him), Bankenstein and bigcheese like this.
perishthethought
in reply to CalcProgrammer1 • • •like this
CalcProgrammer1, pitl and Grosshirn like this.
Lemmchen
in reply to CalcProgrammer1 • • •/home
and/etc
, maybe/opt
as well.like this
pitl, deathbird and nickwitha_k (he/him) like this.
argv_minus_one
in reply to perishthethought • • •pitl likes this.
happyhippo
in reply to perishthethought • • •git repo
A bash script
apt get install
Same with flatpak
Keep updated. Done.
like this
NixDev, pitl, EonNShadow, nickwitha_k (he/him) and jo3rn like this.
garam doesn't like this.
Brian Bufalo
in reply to perishthethought • • •GitHub - lra/mackup: Keep your application settings in sync (OS X/Linux)
GitHubdeathbird likes this.