Dieter Plaetinck schrieb:
The quickinst functions are ported already (I didn't build a profile to use/test them yet though). Right now I'm going over the setup script and moving it's functionality in different fifa libraries and profiles. Imho, the setup script consists of 3 things coupled very tightly together: - backend "real work" functionality (install grub, packages,...) - flow control (eg you can't do step x if requirement y or z hasn't been met yet) - UI logic (show the progress of a process, ask the user a question,..)
Yeah, that was always a little crappy.
What I'm doing now is moving: - the UI logic into lib-ui.sh (eg you can ask questions and inform the user in a mode-agnostic way. set a variable to use dialog mode or plain cli) - the backend "real work" code into libraries like lib-pacman, lib-network etc. - the flow control functionality in a (draft of) an 'interactive' profile (what might someday become a replacement of the current setup script)
This sounds awesome to me. Just a thought: If you want to, you could also move the whole code into a more sophisticated language (Python, C, C++) if bash is too restricted for you.
It's a lot of work but I'm convinced the end result will be worth it. If anyone wants to help me out, feel free to contact me. I'm also on #archlinux (username Dieterbe)
I have zero time recently, but when I find some I'll look at the code.