penguins-eggs 9.4.0 → 9.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":"9.4.0","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs adapt"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"analyze":{"id":"analyze","description":"analyze for syncto","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs analyze"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"calamares":{"id":"calamares","description":"configure calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs calamares","sudo eggs calamares --install","sudo eggs calamares --install --theme=/path/to/theme","sudo eggs calamares --remove"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"install":{"name":"install","type":"boolean","char":"i","description":"install calamares and it's dependencies","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"release":{"name":"release","type":"boolean","char":"r","description":"release: remove calamares and all it's dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","description":"remove calamares and it's dependencies","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme/branding for eggs and calamares","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"config":{"id":"config","description":"Configure and install prerequisites deb packages to run it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs config","sudo eggs config --clean","sudo eggs config --clean --nointeractive"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create new one","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"cuckoo":{"id":"cuckoo","description":"PXE start with proxy-dhcp","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs cuckoo"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"dad":{"id":"dad","description":"ask help from daddy - TUI configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo dad","sudo dad --clean","sudo dad --default"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create","allowNo":false},"default":{"name":"default","type":"boolean","char":"d","description":"remove old configuration and force default","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"install":{"id":"install","description":"krill: the CLI system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs install","sudo eggs install --unattended","sudo eggs install --custom it"],"flags":{"crypted":{"name":"crypted","type":"boolean","char":"k","description":"Crypted CLI installation","allowNo":false},"custom":{"name":"custom","type":"option","char":"c","description":"custom unattended configuration","multiple":false},"domain":{"name":"domain","type":"option","char":"d","description":"Domain name, defult: .local","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"ip":{"name":"ip","type":"boolean","char":"i","description":"hostname as ip, eg: ip-192-168-1-33","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"none":{"name":"none","type":"boolean","char":"N","description":"Swap none: 256M","allowNo":false},"pve":{"name":"pve","type":"boolean","char":"p","description":"Proxmox VE install","allowNo":false},"random":{"name":"random","type":"boolean","char":"r","description":"Add random to hostname, eg: colibri-ay412dt","allowNo":false},"small":{"name":"small","type":"boolean","char":"s","description":"Swap small: RAM","allowNo":false},"suspend":{"name":"suspend","type":"boolean","char":"S","description":"Swap suspend: RAM x 2","allowNo":false},"unattended":{"name":"unattended","type":"boolean","char":"u","description":"Unattended installation","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose","allowNo":false}},"args":[]},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs kill"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"mom":{"id":"mom","description":"ask help from mommy - TUI helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs mom"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"produce":{"id":"produce","description":"produce a live image from your system whithout your data","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs produce","sudo eggs produce --standard","sudo eggs produce --max","sudo eggs produce --max --basename=colibri","sudo eggs produce --cryptedclone","sudo eggs produce --clone","sudo eggs produce --basename=colibri","sudo eggs produce --basename=colibri --theme /path/to/theme --addons adapt"],"flags":{"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"clone":{"name":"clone","type":"boolean","char":"c","description":"clone","allowNo":false},"cryptedclone":{"name":"cryptedclone","type":"boolean","char":"C","description":"crypted clone","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"release":{"name":"release","type":"boolean","description":"release: max compression, remove penguins-eggs and calamares after installation","allowNo":false},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"standard":{"name":"standard","type":"boolean","char":"f","description":"standard compression","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false},"yolk":{"name":"yolk","type":"boolean","char":"y","description":"-y force yolk renew","allowNo":false}},"args":[]},"status":{"id":"status","description":"informations about eggs status","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs status"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"syncfrom":{"id":"syncfrom","description":"restore users and user data from a LUKS volumes","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs syncfrom","sudo eggs syncfrom --file /path/to/fileLUKS"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"rootdir":{"name":"rootdir","type":"option","char":"r","description":"rootdir of the installed system, when used from live","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"syncto":{"id":"syncto","description":"saves users and user data in a LUKS volume inside the iso","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs syncto","sudo eggs syncto --file /path/to/fileLUKS"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"update":{"id":"update","description":"update the Penguins' eggs tool","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs update"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:deb":{"id":"export:deb","description":"export deb/docs/iso to the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs export deb","eggs export deb --clean","eggs export deb --all"],"flags":{"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:iso":{"id":"export:iso","description":"export iso in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs export iso","eggs export iso --clean"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"delete old ISOs before to copy","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools clean"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:ppa":{"id":"tools:ppa","description":"add/remove PPA repositories (Debian family)","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools ppa --add","sudo eggs tools ppa --remove"],"flags":{"add":{"name":"add","type":"boolean","char":"a","description":"add penguins-eggs PPA repository","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"remove":{"name":"remove","type":"boolean","char":"r","description":"remove penguins-eggs PPA repository","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:skel":{"id":"tools:skel","description":"update skel from home configuration","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs skel","sudo eggs skel --user user-to-be-copied"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"user":{"name":"user","type":"option","char":"u","description":"user to be used","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"tools:stat":{"id":"tools:stat","description":"get statistics from sourceforge","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs tools stat","eggs tools stat --month","eggs tools stat --year"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"month":{"name":"month","type":"boolean","char":"m","description":"current month","allowNo":false},"year":{"name":"year","type":"boolean","char":"y","description":"current year","allowNo":false}},"args":[]},"tools:yolk":{"id":"tools:yolk","description":"configure eggs to install without internet","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs yolk"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"dir":"/var/local/yolk"},"wardrobe:get":{"id":"wardrobe:get","description":"get warorobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe get","eggs wardrobe get your-wardrobe"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[{"name":"repo","description":"repository to get","required":false}]},"wardrobe:list":{"id":"wardrobe:list","description":"list costumes and accessoires in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe list","eggs wardrobe list your-wardrove"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[{"name":"wardrobe","description":"wardrobe","required":false}]},"wardrobe:show":{"id":"wardrobe:show","description":"show costumes/accessories in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe show colibri","eggs wardrobe show accessories/firmwares","eggs wardrobe show accessories/"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"output JSON","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false}},"args":[{"name":"costume","description":"costume","required":false}],"example":["eggs wardrobe show colibri","eggs wardrobe show accessories/firmwares","eggs wardrobe show accessories/"]},"wardrobe:wear":{"id":"wardrobe:wear","description":"wear costume/accessories from wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs wardrobe wear duck","sudo eggs wardrobe wear accessories/firmwares","sudo eggs wardrobe wear wagtail/waydroid"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"no_accessories":{"name":"no_accessories","type":"boolean","char":"a","description":"not install accessories","allowNo":false},"no_firmwares":{"name":"no_firmwares","type":"boolean","char":"f","description":"not install firmwares","allowNo":false},"silent":{"name":"silent","type":"boolean","char":"s","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false}},"args":[{"name":"costume","description":"costume","required":false}]}}}
1
+ {"version":"9.4.2","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs adapt"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"analyze":{"id":"analyze","description":"analyze for syncto","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs analyze"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"calamares":{"id":"calamares","description":"configure calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs calamares","sudo eggs calamares --install","sudo eggs calamares --install --theme=/path/to/theme","sudo eggs calamares --remove"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"install":{"name":"install","type":"boolean","char":"i","description":"install calamares and it's dependencies","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"release":{"name":"release","type":"boolean","char":"r","description":"release: remove calamares and all it's dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","description":"remove calamares and it's dependencies","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme/branding for eggs and calamares","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"config":{"id":"config","description":"Configure and install prerequisites deb packages to run it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs config","sudo eggs config --clean","sudo eggs config --clean --nointeractive"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create new one","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"cuckoo":{"id":"cuckoo","description":"PXE start with proxy-dhcp","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs cuckoo"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"dad":{"id":"dad","description":"ask help from daddy - TUI configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo dad","sudo dad --clean","sudo dad --default"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create","allowNo":false},"default":{"name":"default","type":"boolean","char":"d","description":"remove old configuration and force default","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"install":{"id":"install","description":"krill: the CLI system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs install","sudo eggs install --unattended --halt","sudo eggs install --custom it"],"flags":{"crypted":{"name":"crypted","type":"boolean","char":"k","description":"Crypted CLI installation","allowNo":false},"custom":{"name":"custom","type":"option","char":"c","description":"custom unattended configuration","multiple":false},"domain":{"name":"domain","type":"option","char":"d","description":"Domain name, defult: .local","multiple":false},"halt":{"name":"halt","type":"boolean","char":"H","description":"Halt the system after installation","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"ip":{"name":"ip","type":"boolean","char":"i","description":"hostname as ip, eg: ip-192-168-1-33","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"none":{"name":"none","type":"boolean","char":"N","description":"Swap none: 256M","allowNo":false},"pve":{"name":"pve","type":"boolean","char":"p","description":"Proxmox VE install","allowNo":false},"random":{"name":"random","type":"boolean","char":"r","description":"Add random to hostname, eg: colibri-ay412dt","allowNo":false},"small":{"name":"small","type":"boolean","char":"s","description":"Swap small: RAM","allowNo":false},"suspend":{"name":"suspend","type":"boolean","char":"S","description":"Swap suspend: RAM x 2","allowNo":false},"unattended":{"name":"unattended","type":"boolean","char":"u","description":"Unattended installation","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose","allowNo":false}},"args":[]},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs kill"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"mom":{"id":"mom","description":"ask help from mommy - TUI helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs mom"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"produce":{"id":"produce","description":"produce a live image from your system whithout your data","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs produce","sudo eggs produce --standard","sudo eggs produce --max","sudo eggs produce --max --basename=colibri","sudo eggs produce --cryptedclone","sudo eggs produce --clone","sudo eggs produce --basename=colibri","sudo eggs produce --basename=colibri --theme /path/to/theme --addons adapt"],"flags":{"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"clone":{"name":"clone","type":"boolean","char":"c","description":"clone","allowNo":false},"cryptedclone":{"name":"cryptedclone","type":"boolean","char":"C","description":"crypted clone","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"release":{"name":"release","type":"boolean","description":"release: max compression, remove penguins-eggs and calamares after installation","allowNo":false},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"standard":{"name":"standard","type":"boolean","char":"f","description":"standard compression","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false},"yolk":{"name":"yolk","type":"boolean","char":"y","description":"-y force yolk renew","allowNo":false}},"args":[]},"status":{"id":"status","description":"informations about eggs status","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs status"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"syncfrom":{"id":"syncfrom","description":"restore users and user data from a LUKS volumes","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs syncfrom","sudo eggs syncfrom --file /path/to/fileLUKS"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"rootdir":{"name":"rootdir","type":"option","char":"r","description":"rootdir of the installed system, when used from live","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"syncto":{"id":"syncto","description":"saves users and user data in a LUKS volume inside the iso","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs syncto","sudo eggs syncto --file /path/to/fileLUKS"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"update":{"id":"update","description":"update the Penguins' eggs tool","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs update"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:deb":{"id":"export:deb","description":"export deb/docs/iso to the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs export deb","eggs export deb --clean","eggs export deb --all"],"flags":{"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:iso":{"id":"export:iso","description":"export iso in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs export iso","eggs export iso --clean"],"flags":{"clean":{"name":"clean","type":"boolean","char":"c","description":"delete old ISOs before to copy","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools clean"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:ppa":{"id":"tools:ppa","description":"add/remove PPA repositories (Debian family)","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs tools ppa --add","sudo eggs tools ppa --remove"],"flags":{"add":{"name":"add","type":"boolean","char":"a","description":"add penguins-eggs PPA repository","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"no user interaction","allowNo":false},"remove":{"name":"remove","type":"boolean","char":"r","description":"remove penguins-eggs PPA repository","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:skel":{"id":"tools:skel","description":"update skel from home configuration","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs skel","sudo eggs skel --user user-to-be-copied"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"user":{"name":"user","type":"option","char":"u","description":"user to be used","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"tools:stat":{"id":"tools:stat","description":"get statistics from sourceforge","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs tools stat","eggs tools stat --month","eggs tools stat --year"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"month":{"name":"month","type":"boolean","char":"m","description":"current month","allowNo":false},"year":{"name":"year","type":"boolean","char":"y","description":"current year","allowNo":false}},"args":[]},"tools:yolk":{"id":"tools:yolk","description":"configure eggs to install without internet","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs yolk"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"dir":"/var/local/yolk"},"wardrobe:get":{"id":"wardrobe:get","description":"get warorobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe get","eggs wardrobe get your-wardrobe"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[{"name":"repo","description":"repository to get","required":false}]},"wardrobe:list":{"id":"wardrobe:list","description":"list costumes and accessoires in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe list","eggs wardrobe list your-wardrove"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[{"name":"wardrobe","description":"wardrobe","required":false}]},"wardrobe:show":{"id":"wardrobe:show","description":"show costumes/accessories in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["eggs wardrobe show colibri","eggs wardrobe show accessories/firmwares","eggs wardrobe show accessories/"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"json":{"name":"json","type":"boolean","char":"j","description":"output JSON","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false}},"args":[{"name":"costume","description":"costume","required":false}],"example":["eggs wardrobe show colibri","eggs wardrobe show accessories/firmwares","eggs wardrobe show accessories/"]},"wardrobe:wear":{"id":"wardrobe:wear","description":"wear costume/accessories from wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["sudo eggs wardrobe wear duck","sudo eggs wardrobe wear accessories/firmwares","sudo eggs wardrobe wear wagtail/waydroid"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"no_accessories":{"name":"no_accessories","type":"boolean","char":"a","description":"not install accessories","allowNo":false},"no_firmwares":{"name":"no_firmwares","type":"boolean","char":"f","description":"not install firmwares","allowNo":false},"silent":{"name":"silent","type":"boolean","char":"s","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false}},"args":[{"name":"costume","description":"costume","required":false}]}}}
package/README.md CHANGED
@@ -438,9 +438,10 @@ krill: the CLI system installer - the egg became a penguin!
438
438
 
439
439
  ```
440
440
  USAGE
441
- $ eggs install [-k] [-c <value>] [-d <value>] [-h] [-i] [-n] [-N] [-p] [-r] [-s] [-S] [-u] [-v]
441
+ $ eggs install [-k] [-c <value>] [-d <value>] [-H] [-h] [-i] [-n] [-N] [-p] [-r] [-s] [-S] [-u] [-v]
442
442
 
443
443
  FLAGS
444
+ -H, --halt Halt the system after installation
444
445
  -N, --none Swap none: 256M
445
446
  -S, --suspend Swap suspend: RAM x 2
446
447
  -c, --custom=<value> custom unattended configuration
package/bin/run CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  const oclif = require('@oclif/core')
4
4
 
5
- oclif.run().then(require('@oclif/core/flush')).catch(require('@oclif/core/handle'))
5
+ oclif.run().then(require('@oclif/core/flush')).catch(require('@oclif/core/handle'))
@@ -1406,9 +1406,13 @@ class Ovary {
1406
1406
  else if (cryptedclone) {
1407
1407
  typology = '_crypted';
1408
1408
  }
1409
+ if (fs_1.default.existsSync('/usr/bin/eui-start.sh')) {
1410
+ typology += "_EUI";
1411
+ }
1409
1412
  }
1410
1413
  const postfix = utils_2.default.getPostfix();
1411
1414
  this.settings.isoFilename = prefix + volid + typology + postfix;
1415
+ //
1412
1416
  const output = this.settings.config.snapshot_dir + this.settings.isoFilename;
1413
1417
  let command = '';
1414
1418
  // const appid = `-appid "${this.settings.distro.distroId}" `
@@ -70,15 +70,18 @@ class Pxe {
70
70
  * Ricerca delle uova
71
71
  */
72
72
  const isos = [];
73
- if (!utils_2.default.isLive()) {
74
- const isos = fs_1.default.readdirSync(this.nest);
75
- for (const iso of isos) {
76
- if (node_path_1.default.extname(iso) === '.iso') {
77
- this.isos.push(iso);
78
- }
79
- this.isos = this.isos.sort();
73
+ /*
74
+ if (!Utils.isLive()) {
75
+ const isos = fs.readdirSync(this.nest)
76
+ for (const iso of isos) {
77
+ if (path.extname(iso) === '.iso') {
78
+ this.isos.push(iso)
80
79
  }
80
+
81
+ this.isos = this.isos.sort()
82
+ }
81
83
  }
84
+ */
82
85
  /**
83
86
  * installed: /home/eggs/ovarium/iso/live
84
87
  * live: this.iso/live
@@ -53,6 +53,8 @@ class Install extends core_1.Command {
53
53
  }
54
54
  // nointeractive
55
55
  const nointeractive = flags.nointeractive;
56
+ // halt
57
+ let halt = flags.halt;
56
58
  // hostname
57
59
  const ip = flags.ip;
58
60
  const random = flags.random;
@@ -72,8 +74,8 @@ class Install extends core_1.Command {
72
74
  const verbose = flags.verbose;
73
75
  if (utils_1.default.isRoot()) {
74
76
  if (utils_1.default.isLive()) {
75
- const krill = new krill_prepare_1.default();
76
- await krill.prepare(unattended, nointeractive, krillConfig, ip, random, domain, suspend, small, none, crypted, pve, verbose);
77
+ const krill = new krill_prepare_1.default(unattended, nointeractive, halt);
78
+ await krill.prepare(krillConfig, ip, random, domain, suspend, small, none, crypted, pve, verbose);
77
79
  }
78
80
  else {
79
81
  utils_1.default.warning('You are in an installed system!');
@@ -89,6 +91,7 @@ Install.flags = {
89
91
  crypted: core_1.Flags.boolean({ char: 'k', description: 'Crypted CLI installation' }),
90
92
  custom: core_1.Flags.string({ char: 'c', description: 'custom unattended configuration' }),
91
93
  domain: core_1.Flags.string({ char: 'd', description: 'Domain name, defult: .local' }),
94
+ halt: core_1.Flags.boolean({ char: 'H', description: 'Halt the system after installation' }),
92
95
  help: core_1.Flags.help({ char: 'h' }),
93
96
  ip: core_1.Flags.boolean({ char: 'i', description: 'hostname as ip, eg: ip-192-168-1-33' }),
94
97
  nointeractive: core_1.Flags.boolean({ char: 'n', description: 'no user interaction' }),
@@ -103,6 +106,6 @@ Install.flags = {
103
106
  Install.description = 'krill: the CLI system installer - the egg became a penguin!';
104
107
  Install.examples = [
105
108
  'sudo eggs install',
106
- 'sudo eggs install --unattended',
109
+ 'sudo eggs install --unattended --halt',
107
110
  'sudo eggs install --custom it',
108
111
  ];
@@ -104,15 +104,37 @@ const config_file = '/etc/penguins-eggs.d/krill.yaml';
104
104
  *
105
105
  */
106
106
  class Krill {
107
- constructor() {
107
+ /**
108
+ * constructor
109
+ * @param unattended
110
+ * @param nointeractive
111
+ * @param halt
112
+ */
113
+ constructor(unattended = false, nointeractive = false, halt = false) {
108
114
  this.krillConfig = {};
109
115
  this.locales = new locales_1.default();
110
116
  this.keyboards = new keyboards_1.default();
117
+ this.unattended = false;
118
+ this.nointeractive = false;
119
+ this.halt = false;
120
+ this.unattended = unattended;
121
+ this.nointeractive = nointeractive;
122
+ this.halt = halt;
111
123
  }
112
124
  /**
125
+ *
126
+ * @param krillConfig
127
+ * @param ip
128
+ * @param random
129
+ * @param domain
130
+ * @param suspend
131
+ * @param small
132
+ * @param none
113
133
  * @param cryped
134
+ * @param pve
135
+ * @param verbose
114
136
  */
115
- async prepare(unattended = false, nointeractive = false, krillConfig = {}, ip = false, random = false, domain = 'local', suspend = false, small = false, none = false, cryped = false, pve = false, verbose = false) {
137
+ async prepare(krillConfig = {}, ip = false, random = false, domain = 'local', suspend = false, small = false, none = false, cryped = false, pve = false, verbose = false) {
116
138
  /**
117
139
  * Check for disk presence
118
140
  */
@@ -147,7 +169,7 @@ class Krill {
147
169
  process.exit(1);
148
170
  }
149
171
  this.krillConfig = krillConfig; // yaml.load(fs.readFileSync(config_file, 'utf-8')) as IKrillConfig
150
- if (unattended) {
172
+ if (this.unattended) {
151
173
  oWelcome = { language: this.krillConfig.language };
152
174
  oLocation = {
153
175
  language: this.krillConfig.language,
@@ -224,11 +246,12 @@ class Krill {
224
246
  /**
225
247
  * summary
226
248
  */
227
- await this.summary(oLocation, oKeyboard, oPartitions, oUsers, unattended, nointeractive);
249
+ await this.summary(oLocation, oKeyboard, oPartitions, oUsers);
228
250
  /**
229
- * installation
230
- */
231
- await this.install(oLocation, oKeyboard, oPartitions, oUsers, oNetwork, unattended, domain, verbose);
251
+ * INSTALL
252
+ */
253
+ const sequence = new krill_sequence_1.default(oLocation, oKeyboard, oPartitions, oUsers, oNetwork);
254
+ await sequence.start(domain, this.unattended, this.nointeractive, this.halt, verbose);
232
255
  }
233
256
  /**
234
257
  * WELCOME
@@ -482,21 +505,20 @@ class Krill {
482
505
  /**
483
506
  * SUMMARY
484
507
  */
485
- async summary(location, keyboard, partitions, users, unattended = false, nointeractive = false) {
486
- //
508
+ async summary(location, keyboard, partitions, users) {
487
509
  let summaryElem;
488
510
  let message = "Double check the installation disk: " + partitions.installationDevice;
489
- if (unattended && nointeractive) {
511
+ if (this.unattended && this.nointeractive) {
490
512
  message = "Unattended installation will start in 5 seconds, press CTRL-C to abort!";
491
513
  }
492
514
  while (true) {
493
515
  summaryElem = react_1.default.createElement(summary_1.default, { name: users.name, password: users.password, rootPassword: users.rootPassword, hostname: users.hostname, region: location.region, zone: location.zone, language: location.language, keyboardModel: keyboard.keyboardModel, keyboardLayout: keyboard.keyboardLayout, installationDevice: partitions.installationDevice, message: message });
494
- if (unattended && nointeractive) {
516
+ if (this.unattended && this.nointeractive) {
495
517
  redraw(summaryElem);
496
518
  await sleep(5000);
497
519
  break;
498
520
  }
499
- else if (unattended && !nointeractive) {
521
+ else if (this.unattended && !this.nointeractive) {
500
522
  if (await confirm(summaryElem, "Read the Summary, confirm or abort")) {
501
523
  break;
502
524
  }
@@ -509,13 +531,6 @@ class Krill {
509
531
  }
510
532
  }
511
533
  }
512
- /**
513
- * INSTALL
514
- */
515
- async install(location, keyboard, partitions, users, network, unattended = false, domain = 'local', verbose = false) {
516
- const sequence = new krill_sequence_1.default(location, keyboard, partitions, users, network);
517
- await sequence.start(unattended, domain, verbose);
518
- }
519
534
  /**
520
535
  * return true if pv exist
521
536
  */
@@ -555,7 +570,6 @@ function redraw(elem) {
555
570
  opt.patchConsole = true;
556
571
  opt.debug = false;
557
572
  console.clear();
558
- // shx.exec('clear')
559
573
  (0, ink_1.render)(elem, opt);
560
574
  }
561
575
  /**
@@ -17,7 +17,6 @@ const install_1 = __importDefault(require("../components/install"));
17
17
  const finished_1 = __importDefault(require("../components/finished"));
18
18
  const fs_1 = __importDefault(require("fs"));
19
19
  const js_yaml_1 = __importDefault(require("js-yaml"));
20
- const shelljs_1 = __importDefault(require("shelljs"));
21
20
  const utils_1 = __importDefault(require("../classes/utils"));
22
21
  const cli_autologin_1 = __importDefault(require("../lib/cli-autologin"));
23
22
  const pacman_1 = __importDefault(require("../classes/pacman"));
@@ -135,6 +134,8 @@ class Sequence {
135
134
  this.is_clone = fs_1.default.existsSync('/etc/penguins-eggs.d/is_clone');
136
135
  this.is_crypted_clone = fs_1.default.existsSync('/etc/penguins-eggs.d/is_crypted_clone');
137
136
  this.unattended = false;
137
+ this.nointeractive = false;
138
+ this.halt = false;
138
139
  this.cliAutologin = new cli_autologin_1.default();
139
140
  this.installer = (0, installer_1.installer)();
140
141
  this.settings = new settings_1.default();
@@ -161,8 +162,10 @@ class Sequence {
161
162
  * @param umount
162
163
  * @returns
163
164
  */
164
- async start(unattended = false, domain = 'local', verbose = false) {
165
+ async start(domain = 'local', unattended = false, nointeractive = false, halt = false, verbose = false) {
165
166
  this.unattended = unattended;
167
+ this.nointeractive = nointeractive;
168
+ this.halt = halt;
166
169
  this.verbose = verbose;
167
170
  this.echo = utils_1.default.setEcho(this.verbose);
168
171
  if (this.verbose) {
@@ -563,10 +566,19 @@ class Sequence {
563
566
  */
564
567
  async finished() {
565
568
  await redraw(react_1.default.createElement(finished_1.default, { installationDevice: this.partitions.installationDevice, hostName: this.users.hostname, userName: this.users.name }));
566
- if (!this.unattended) {
567
- utils_1.default.pressKeyToExit('Press a key to reboot...');
569
+ let cmd = "reboot";
570
+ if (this.halt) {
571
+ cmd = "poweroff";
572
+ }
573
+ if (this.unattended && this.nointeractive) {
574
+ console.log(`System will ${cmd} in 5 seconds...`);
575
+ await sleep(5000);
576
+ await (0, utils_2.exec)(cmd, { echo: true });
577
+ }
578
+ else {
579
+ utils_1.default.pressKeyToExit(`Press a key to ${cmd}`);
580
+ await (0, utils_2.exec)(cmd, { echo: true });
568
581
  }
569
- shelljs_1.default.exec('reboot');
570
582
  }
571
583
  }
572
584
  exports.default = Sequence;
@@ -583,3 +595,13 @@ async function redraw(elem) {
583
595
  // await exec('clear', Utils.setEcho(false))
584
596
  (0, ink_1.render)(elem, opt);
585
597
  }
598
+ /**
599
+ *
600
+ * @param ms
601
+ * @returns
602
+ */
603
+ function sleep(ms = 0) {
604
+ return new Promise((resolve) => {
605
+ setTimeout(resolve, ms);
606
+ });
607
+ }
package/eui/README.md CHANGED
@@ -1,72 +1,147 @@
1
1
  # eggs unattended install
2
2
 
3
- Eggs unattended install è basato su semplici script ed, al momento,
4
- per creare una ISO con possibilità di unattended-install, procedere come segue:
3
+ Eggs unattended install Is based on simple scripts:
4
+ * ```eui-create-image.sh``` creates the image;
5
+ * ```eui-start.sh``` is copied into ```/usr/bin/```
6
+ * ```eui-users``` contains the list of users enabled to sudo WITHOUT password, it is copied to ```/etc/sudoers.d/```;
7
+ * ```eui-autostart-[xfce/cinnamon].desktop``` starts automatic installation at login and is copied to ```/etc/xdg/autostart```.
8
+
9
+ The three files `eui-start.sh`, `eui-users` and `eui-*.desktop` are deleted from the destination directory as soon as the production of the image is completed
10
+
11
+ # Creation of an EUI image
12
+ To create an ISO with unattended-install capability, proceed as follows:
5
13
 
6
14
  ```
7
15
  cd /usr/lib/penguins-eggs/eui
16
+ ```
17
+ If necessary, modify the `eui-start.sh` file `sudo nano eui-start.sh` to select the desired language, swap configuration, and other possible configurations given in the source.
18
+
19
+ Save and start the image creation:
20
+ ```
8
21
  ./eui-create-image.sh
9
22
  ```
10
- Verrà generata una immagine fast, quindi abbastanza veloce, e lanciato il comando cuckoo.
23
+
24
+ An image with fast compression will be generated, and the cuckoo command will be started to distribute it.
25
+
26
+ **Note:** once the image is created. simply start 'eggs cuckoo' to distribute it, no need to regenerate it
11
27
 
12
28
 
13
- # Modifiche necessarie rispetto ad una normale immagine
29
+ # Differences of a UEI image versus a normal image
30
+
31
+ Self-starting of the installer is done through the following files:
14
32
 
15
- Sono coinvolti 3 file:
16
33
  * /etc/sudoers.d/eui-users
17
- * /etc/xdg/autostart/eui.desktop
34
+ * /etc/xdg/autostart/eui-[xfce/cinnamon].desktop
18
35
  * /usr/bin/eui-start.ch
19
36
 
20
- Vediamoli uno ad uno
37
+ You can select a particular customization or create your own, at the moment I am trying to adapt the customization to the various languages and we have:
38
+
39
+ * bg (Bulgarian)
40
+ * br (Brazilian Portuguese)
41
+ * de (German)
42
+ * es (Spanish)
43
+ * fr (French)
44
+ * it (Italian)
45
+ * nl (Dutch)
46
+ * pe (Spanish Peru)
47
+ * ru (Russian)
48
+ * uk (ukrainian)
21
49
 
22
50
  ## /etc/sudoers.d/eui-users
23
51
 
24
- Create a file:
25
- ```
26
- sudo nano /etc/sudoers.d/eui-users
27
- ```
28
- and copy and past, following code:
52
+ It is copied inside `/etc/sudoers.d`, MUST be owned by root and have rights 0440
29
53
 
30
54
  ```
31
- live ALL=(ALL) NOPASSWD: /usr/bin/eui-start.sh
32
- artisan ALL=(ALL) NOPASSWD: /usr/bin/eui-start.sh
33
- ```
34
- Change permissions to /etc/sudoers.d/eui-users
35
- ```
36
- chmod 0440 /etc/sudoers.d/eui-users
55
+ live ALL=(ALL) NOPASSWD: ALL
56
+ artisan ALL=(ALL) NOPASSWD: ALL
37
57
  ```
38
58
 
39
- ## /etc/xdg/autostart/eui.desktop
59
+ ## /etc/xdg/autostart/eui-autostart-[xdce/cinnamon].desktop
60
+ It is the file that makes it possible to auto-start the installer: there are currently two working versions, one for XFCE and one for cinnamon;
40
61
 
41
62
  ```
42
63
  [Desktop Entry]
43
- Type=Application
64
+ Encoding=UTF-8
44
65
  Name=Eggs unattended install
45
- Exec=sudo /usr/bin/eui-start.sh
46
- StartupNotify=false
47
- NoDisplay=true
48
- Terminal=true #basically will open terminal and people can see the script executing
66
+ Comment=Start unattended installation
67
+ Icon=cinnamon-symbolic
68
+ Type=Application
69
+ Categories=
70
+ X-GNOME-Autostart-Phase=Initialization
71
+ X-KDE-autostart-phase=1
72
+ X-KDE-AutostartScript=true
73
+ # XFCE working
74
+ Exec=/usr/bin/sudo /usr/bin/eui-start.sh
75
+ Terminal=true
49
76
  ```
50
77
 
51
78
  ## /usr/bin/eui-start.sh
79
+ Currently, customization of the installation, MUST be done by editing this file.
52
80
 
53
81
  ```
54
- #!/bin/env bash
82
+ set -Eeuo pipefail
83
+
55
84
  if mountpoint -q "/lib/live/mount"; then
56
- # isLive
57
-
58
- # try to read /etc/hostname from /dev/sda
59
- sudo mount "/dev/sda2" "/mnt"
60
- OS_HOSTNAME=$(/usr/bin/cat /mnt/etc/hostname)
61
- sudo umount "/dev/sda2"
62
- sudo echo "I will completely format local system: ${OS_HOSTNAME}"
63
- echo -n "Wait a minute for installation or CTRL-C to abort.";
64
- for _ in {1..60}; do read -rs -n1 -t1 || printf ".";done;echo
65
- sudo eggs install -unrd .local
85
+ # if isLive
86
+ echo "E G G S: the reproductive system of penguins"
87
+ echo
88
+ echo "WARNING: A fully automated system installation is about to start,"
89
+ echo " ALL data on the hard drive present will be ERASED!"
90
+ echo
91
+
92
+
93
+ OS_HOSTNAME="NOT-CHECKED"
94
+ # we must to check in same wat that we are formatting
95
+
96
+ # TO DO
97
+
98
+ # we need to reset connection
99
+ nmcli networking off
100
+ nmcli networking on
101
+
102
+ echo "I will completely format local system: ${OS_HOSTNAME}"
103
+ echo
104
+ echo "Installation will start in one minute, press CTRL-C to abort!"
105
+ echo
106
+ echo -n "Waiting...";
107
+ for _ in {1..59}; do read -rs -n1 -t1 || printf ".";done;echo
108
+
109
+ ##################################################
110
+ # At the moment we need to configure manually here
111
+ ##################################################
112
+ # USAGE
113
+ #
114
+ # $ eggs install [-k] [-c <value>] [-d <value>] [-h] [-i] [-n] [-N] [-p] [-r] [-s] [-S] [-u] [-v]
115
+ #
116
+ # FLAGS
117
+ # -H, --halt Halt the system after installation
118
+ # -N, --none Swap none: 256M
119
+ # -S, --suspend Swap suspend: RAM x 2
120
+ # -c, --custom=<value> custom unattended configuration
121
+ # -d, --domain=<value> Domain name, defult: .local
122
+ # -h, --help Show CLI help.
123
+ # -i, --ip hostname as ip, eg: ip-192-168-1-33
124
+ # -k, --crypted Crypted CLI installation
125
+ # -n, --nointeractive no user interaction
126
+ # -p, --pve Proxmox VE install
127
+ # -r, --random Add random to hostname, eg: colibri-ay420dt
128
+ # -s, --small Swap small: RAM
129
+ # -u, --unattended Unattended installation
130
+ # -v, --verbose Verbose
131
+ eggs install --custom=it --domain=.local --random --nointeractive --halt
66
132
  else
67
133
  # isInstalled
68
- sudo rm /etc/sudoers.d/eui-users
69
- sudo rm /usr/bin/eui-start.sh
70
- sudo rm /etc/xdg/autostart/eui.desktop
134
+ sudo rm -f /etc/sudoers.d/eui-users
135
+ sudo rm -f /usr/bin/eui-start.sh
136
+ sudo rm -f /etc/xdg/autostart/eui.desktop
71
137
  fi
72
- ```
138
+ ```
139
+ **Note:** look at the new `--halt` flag, introduced to shut down the machine after installation and avoid. thus, further attempts in the case of PXE-enabled computers and with first PXE boot device.
140
+
141
+ # Video
142
+ I am not very skilled at producing movies, even less so as an actor, I made this videos, I hope it will help you.
143
+
144
+ * [using PXE and EUI from ISO](https://youtu.be/rYvCzGO3V6k)
145
+ * [Create a Live EUI - Eggs Unattended Installation](https://youtu.be/QBjkxxoc8ho)
146
+
147
+
@@ -0,0 +1,26 @@
1
+ [Desktop Entry]
2
+ Encoding=UTF-8
3
+ Name=Eggs unattended install
4
+ Comment=Start unattended installation
5
+ Icon=cinnamon-symbolic
6
+ Type=Application
7
+ Categories=
8
+ X-GNOME-Autostart-Phase=Initialization
9
+ X-KDE-autostart-phase=1
10
+ X-KDE-AutostartScript=true
11
+
12
+ # XFCE working
13
+ Exec=/usr/bin/sudo /usr/bin/eui-start.sh
14
+ Terminal=true
15
+
16
+ # Cinnamon working
17
+ #Exec=/usr/bin/gnome-terminal -- /usr/bin/sudo /usr/bin/eui-start.sh
18
+ #Terminal=false
19
+
20
+ # GNOME/PLASMA NOT working
21
+ # Exec=/usr/bin/sudo /usr/bin/eui-start.sh
22
+ # Terminal=true
23
+
24
+ # GNOME/PLASMA NOT working
25
+ # Exec=/usr/bin/gnome-terminal -- /usr/bin/sudo /usr/bin/eui-start.sh
26
+ # Terminal=false
@@ -0,0 +1,13 @@
1
+ [Desktop Entry]
2
+ Encoding=UTF-8
3
+ Name=Eggs unattended install
4
+ Comment=Start unattended installation
5
+ Icon=cinnamon-symbolic
6
+ Type=Application
7
+ Categories=
8
+ X-GNOME-Autostart-Phase=Initialization
9
+ X-KDE-autostart-phase=1
10
+ X-KDE-AutostartScript=true
11
+ # cinnamon working
12
+ Exec=/usr/bin/gnome-terminal -- /usr/bin/sudo /usr/bin/eui-start.sh
13
+ Terminal=false
@@ -1,10 +1,13 @@
1
1
  [Desktop Entry]
2
- Type=Application
2
+ Encoding=UTF-8
3
3
  Name=Eggs unattended install
4
- Exec=sudo /usr/bin/eui-start.sh
5
- StartupNotify=false
6
- NoDisplay=true
7
- Terminal=true
4
+ Comment=Start unattended installation
5
+ Icon=cinnamon-symbolic
6
+ Type=Application
7
+ Categories=
8
8
  X-GNOME-Autostart-Phase=Initialization
9
9
  X-KDE-autostart-phase=1
10
10
  X-KDE-AutostartScript=true
11
+ # XFCE working
12
+ Exec=/usr/bin/sudo /usr/bin/eui-start.sh
13
+ Terminal=true
@@ -1,12 +1,27 @@
1
- #!/bin/env bash
1
+ #!/bin/bash
2
+ set -Eeuo pipefail
2
3
  sudo eggs tools clean -n
3
4
  sudo eggs tools ppa -n
4
5
  sudo eggs kill -n
5
6
  sudo cp eui-users /etc/sudoers.d/
6
7
  sudo cp eui-start.sh /usr/bin/
7
- sudo cp eui.desktop /etc/xdg/autostart/
8
+ DESKTOP=$XDG_CURRENT_DESKTOP
9
+ case $DESKTOP in
10
+ "XFCE")
11
+ sudo cp eui-autostart-xfce.desktop /etc/xdg/autostart/
12
+ ;;
13
+
14
+ "X-Cinnamon")
15
+ sudo cp eui-autostart-cinnamon.desktop /etc/xdg/autostart/
16
+ ;;
17
+
18
+ "ubuntu:GNOME")
19
+ echo "not yet supported!"
20
+ exit 0
21
+ ;;
22
+ esac
8
23
  sudo eggs produce --release -n
9
24
  sudo rm /etc/sudoers.d/eui-users
10
25
  sudo rm /usr/bin/eui-start.sh
11
- sudo rm /etc/xdg/autostart/eui.desktop
26
+ sudo rm /etc/xdg/autostart/eui-*.desktop
12
27
  sudo eggs cuckoo
package/eui/eui-start.sh CHANGED
@@ -1,6 +1,9 @@
1
- #!/bin/env bash
2
- if mountpoint -q "/lib/live/mount"; then
1
+ #!/bin/bash
2
+ set -Eeuo pipefail
3
+
3
4
 
5
+
6
+ if mountpoint -q "/lib/live/mount"; then
4
7
  # if isLive
5
8
  echo "E G G S: the reproductive system of penguins"
6
9
  echo
@@ -8,25 +11,53 @@ if mountpoint -q "/lib/live/mount"; then
8
11
  echo " ALL data on the hard drive present will be ERASED!"
9
12
  echo
10
13
 
11
- # try to read /etc/hostname from /dev/sda
12
- sudo mount "/dev/sda2" "/mnt"
13
- OS_HOSTNAME=$(/usr/bin/cat /mnt/etc/hostname)
14
- sudo umount "/dev/sda2"
15
14
 
15
+ OS_HOSTNAME="NOT-CHECKED"
16
+ # we must to check in same wat that we are formatting
17
+
18
+ # TO DO
19
+
20
+ # we need to reset connection
21
+ nmcli networking off
22
+ nmcli networking on
23
+
16
24
  echo "I will completely format local system: ${OS_HOSTNAME}"
17
25
  echo
18
26
  echo "Installation will start in one minute, press CTRL-C to abort!"
19
27
  echo
20
- echo -n "Waiting... ";
21
- for _ in {1..60}; do read -rs -n1 -t1 || printf ".";done;echo
28
+ echo -n "Waiting...";
29
+ for _ in {1..59}; do read -rs -n1 -t1 || printf ".";done;echo
30
+
31
+ ##################################################
32
+ # At the moment we need to configure manually here
33
+ ##################################################
34
+ # USAGE
35
+ #
36
+ # $ eggs install [-k] [-c <value>] [-d <value>] [-h] [-i] [-n] [-N] [-p] [-r] [-s] [-S] [-u] [-v]
37
+ #
38
+ # FLAGS
39
+ # -H, --halt Halt the system after installation
40
+ # -N, --none Swap none: 256M
41
+ # -S, --suspend Swap suspend: RAM x 2
42
+ # -c, --custom=<value> custom unattended configuration
43
+ # -d, --domain=<value> Domain name, defult: .local
44
+ # -h, --help Show CLI help.
45
+ # -i, --ip hostname as ip, eg: ip-192-168-1-33
46
+ # -k, --crypted Crypted CLI installation
47
+ # -n, --nointeractive no user interaction
48
+ # -p, --pve Proxmox VE install
49
+ # -r, --random Add random to hostname, eg: colibri-ay420dt
50
+ # -s, --small Swap small: RAM
51
+ # -u, --unattended Unattended installation
52
+ # -v, --verbose Verbose
22
53
 
23
- # install system
24
- sudo eggs install -unrd .local
54
+ # on XFCE we are sudo
55
+ eggs install --custom=it --domain=.local --random --nointeractive --halt
25
56
  else
26
57
  # isInstalled
27
- sudo rm -f /etc/sudoers.d/eui-users
28
- sudo rm -f /usr/bin/eui-start.sh
29
- sudo rm -f /etc/xdg/autostart/eui.desktop
58
+ rm -f /etc/sudoers.d/eui-users
59
+ rm -f /usr/bin/eui-start.sh
60
+ rm -f /etc/xdg/autostart/eui.desktop
30
61
  fi
31
62
 
32
63
 
package/eui/eui-users CHANGED
@@ -1,2 +1,3 @@
1
- live ALL=(ALL) NOPASSWD: /usr/bin/eui-start.sh
2
- artisan ALL=(ALL) NOPASSWD: /usr/bin/eui-start.sh
1
+ live ALL=(ALL) NOPASSWD: ALL
2
+ artisan ALL=(ALL) NOPASSWD: ALL
3
+
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "penguins-eggs",
3
3
  "description": "Perri's Brewery edition: remaster your system and distribuite it",
4
- "version": "9.4.0",
4
+ "version": "9.4.2",
5
5
  "author": "Piero Proietti @pieroproietti",
6
6
  "bin": {
7
7
  "eggs": "bin/run"
@@ -9,7 +9,7 @@
9
9
  "type": "commonjs",
10
10
  "bugs": "https://github.com/pieroproietti/penguins-eggs/issues",
11
11
  "dependencies": {
12
- "@oclif/core": "^1.21.0",
12
+ "@oclif/core": "^1.26.0",
13
13
  "@oclif/plugin-autocomplete": "1.3.8",
14
14
  "@oclif/plugin-help": "^5.1.23",
15
15
  "@oclif/plugin-not-found": "^2.3.15",
@@ -19,9 +19,9 @@
19
19
  "axios": "^1.2.1",
20
20
  "chalk": "^4.1.2",
21
21
  "etrick": "^0.0.2",
22
- "ink": "^3.2.0",
23
22
  "ink-big-text": "^1.2.0",
24
23
  "ink-gradient": "^2.0.0",
24
+ "ink": "^3.2.0",
25
25
  "inquirer": "^8",
26
26
  "js-yaml": "^4.1.0",
27
27
  "mustache": "^4.2.0",
@@ -79,16 +79,16 @@
79
79
  "/eui",
80
80
  "/ipxe",
81
81
  "/manpages",
82
- "mkinitcpio",
83
- "/scripts"
82
+ "/scripts",
83
+ "mkinitcpio"
84
84
  ],
85
85
  "homepage": "https://penguins-eggs.net/",
86
86
  "keywords": [
87
87
  "oclif",
88
+ "pxe",
88
89
  "refracta",
89
90
  "remastersys",
90
- "systemback",
91
- "pxe"
91
+ "systemback"
92
92
  ],
93
93
  "license": "MIT",
94
94
  "main": "./dist/index.js",