Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prop(horns): Create a "repeatable" installation script that can be utilised. #20

Open
ajstrongdev opened this issue Aug 19, 2023 · 5 comments
Assignees
Labels
Feature New feature or request triage Bug report/Feature request is yet to be evaluated by the Rhino Linux team

Comments

@ajstrongdev
Copy link
Member

ajstrongdev commented Aug 19, 2023

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.

@ajstrongdev
Copy link
Member Author

ajstrongdev commented Aug 19, 2023

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
        }
    ]
}

@ajstrongdev
Copy link
Member Author

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.

@ajstrongdev
Copy link
Member Author

@D-Brox

I will also open an issue in rhino-setup due to the "Import from horns" feature being graphical.

@ajstrongdev
Copy link
Member Author

@Elsie19 What's left to be done for Horns?

@tripleo1
Copy link

Please note that we will not use the term "Reproducable installs" since package versions are not locked.

"Repteatable" installs?

@ajstrongdev ajstrongdev transferred this issue from rhino-linux/horns Jan 24, 2025
@ajstrongdev ajstrongdev changed the title rhino-deploy prop(horns): Create a "repeatable" installation script that can be utilised. Jan 24, 2025
@ajstrongdev ajstrongdev added Feature New feature or request triage Bug report/Feature request is yet to be evaluated by the Rhino Linux team labels Jan 24, 2025
@ajstrongdev ajstrongdev assigned ajstrongdev and oklopfer and unassigned Elsie19 Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature New feature or request triage Bug report/Feature request is yet to be evaluated by the Rhino Linux team
Projects
No open projects
Status: Unfinshed / Rollover
Status: Rollover
Status: Rollover
Development

No branches or pull requests

4 participants