diff options
author | Julien Dessaux | 2024-03-25 10:52:45 +0100 |
---|---|---|
committer | Julien Dessaux | 2024-03-25 10:52:45 +0100 |
commit | d20734c275470d35303974767ca16c3c254dd092 (patch) | |
tree | 423ba7ee90e81327b68f0f69a8a9fa548e91a336 /stdlib/os/debian/debian.go | |
parent | fix(promises): fixed IfRepaired promises chaining (diff) | |
download | gonf-d20734c275470d35303974767ca16c3c254dd092.tar.gz gonf-d20734c275470d35303974767ca16c3c254dd092.tar.bz2 gonf-d20734c275470d35303974767ca16c3c254dd092.zip |
chore(packages): removed useless packages list hook function and debian stdlib refactoring
Diffstat (limited to 'stdlib/os/debian/debian.go')
-rw-r--r-- | stdlib/os/debian/debian.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/stdlib/os/debian/debian.go b/stdlib/os/debian/debian.go new file mode 100644 index 0000000..9954088 --- /dev/null +++ b/stdlib/os/debian/debian.go @@ -0,0 +1,38 @@ +package debian + +import ( + _ "embed" + "git.adyxax.org/adyxax/gonf/v2/pkg" + "git.adyxax.org/adyxax/gonf/v2/stdlib/os/linux" + "git.adyxax.org/adyxax/gonf/v2/stdlib/os/systemd" +) + +//go:embed apt-norecommends +var apt_norecommends []byte + +//go:embed sources.list +var sources_list []byte + +func Promise() { + // ----- gonf -------------------------------------------------------------- + apt_update := gonf.Command("apt-get", "update", "-qq") + gonf.SetPackagesConfiguration(packages_install, apt_update) + gonf.SetUsersConfiguration(linux.Useradd) + // ----- systemd ----------------------------------------------------------- + systemd.Promise() + // ----- apt --------------------------------------------------------------- + rootDir := gonf.ModeUserGroup(0755, "root", "root") + rootRO := gonf.ModeUserGroup(0444, "root", "root") + gonf.Default("debian-release", "stable") + gonf.AppendVariable("debian-extra-sources", "# Extra sources") + gonf.File("/etc/apt/sources.list"). + Permissions(rootRO). + Template(sources_list). + Promise(). + IfRepaired(apt_update) + gonf.File("/etc/apt/apt.conf.d/99_norecommends"). + DirectoriesPermissions(rootDir). + Permissions(rootRO). + Contents(apt_norecommends). + Promise() +} |