Emanuel Berg wrote: > Dan Ritter wrote: > > > That's just knowing what packages you want to install. > > What do you mean, what else are you supposed to know?
Examples: - you have installed a load balancer; it needs a configuration file to work. - you have installed bind or unbound to provide DNS, they need configuration files to work. - you have installed a database, it may need tuning. - you have an NFS server on your network, each machine needs a new stanza in /etc/fstab to mount it except the NFS server - you have a webserver, it needs configuration and a set of files to serve > > If that's all you want, you can use dpkg --set-selections > > and a text list. > > What about using the interactive commands? > > sudo apt-get -qq update > sudo apt-get install build-essential debian-goodies libgccjit-10-dev Is there a reason that you interpret everything I say as a challenge? Sure, you can also do package installation that way. Package installation is not the end of most matters, it's the beginning. > >> OTOH if you want a real programming language and > >> environment for configuration and extension (e.g., Elisp > >> for Emacs, Lua for mpv etc) that's doable as well, > >> no doubt. > > > > chef, puppet, ansible and so forth are languages for > > doing that. > > You want a language for doing that? Why not a general-purpose > language either adapted if necessary (a dialect) or better yet > extended with a module to do it so you can use the rest of the > language as well seamlessly? Chef uses ruby with adaptations. Puppet uses a DSL written in ruby. ansible is entirely declarative, in YAML -dsr-