Open ajstrongdev opened 1 year ago
will have a configuration file that users can edit, which @Elsie19 mocked up (displayed below)
{
description: "foobar"
packages: {
managers: {
flatpak: true
snap: true
appimage: true
}
software: {
nala: true
gh-cli: true
apport: true
}
packages: {
apt: [
test
foobar
]
pacstall: [
foobar-deb
]
snap: []
flatpak: [
org.foo.bar
]
}
}
users: [
{
name: "elsie"
home: /home/elsie
description: "foobar"
root: true
groups: ['games']
shell: /bin/zsh
password: true
},
{
name: "bob"
home: false
root: false
password: false
}
]
}
Concept for @Elsie19 who is developing it:
With horns, you should be able to write a script to make perfect reproducable environments. Great for a team of developers who need the exact same setup, for example.
It will also serve as a power-user replacement for our setup wizard, giving users the same options from there as a config script.
They can write info to a config file, then they can use horn import to have the script be read and executed from /home/{${user}/deploy.nuon
horn export will create a blank config file for users to write to in their home directory. They can then do as they please such as upload it to their dotfiles gh.
Please note that we will not use the term "Reproducable installs" since package versions are not locked.
@d-brox
I will also open an issue in rhino-setup due to the "Import from horns" feature being graphical.
@Elsie19 What's left to be done for Horns?
Please note that we will not use the term "Reproducable installs" since package versions are not locked.
"Repteatable" installs?
Create a new utility to be able to mass import / export data to a file.
You can run
rhino-deploy export
to create a file in the home directory called "deploy.nuon", it will run you through the steps in a terminal user interface to create a way to install all packages to new systems.rhino-deploy import
will search for a file in the home directory called "deploy.nuon" and import all the information from that directory onto the system.