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.
- package/.oclif.manifest.json +1 -1
- package/README.md +2 -1
- package/bin/run +1 -1
- package/dist/classes/ovary.js +4 -0
- package/dist/classes/pxe.js +10 -7
- package/dist/commands/install.js +6 -3
- package/dist/krill/krill-prepare.js +34 -20
- package/dist/krill/krill-sequence.js +27 -5
- package/eui/README.md +114 -39
- package/eui/esi-autostart-sample.desktop +26 -0
- package/eui/eui-autostart-cinnamon.desktop +13 -0
- package/eui/{eui.desktop → eui-autostart-xfce.desktop} +8 -5
- package/eui/eui-create-image.sh +18 -3
- package/eui/eui-start.sh +44 -13
- package/eui/eui-users +3 -2
- package/package.json +7 -7
package/.oclif.manifest.json
CHANGED
|
@@ -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
package/dist/classes/ovary.js
CHANGED
|
@@ -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}" `
|
package/dist/classes/pxe.js
CHANGED
|
@@ -70,15 +70,18 @@ class Pxe {
|
|
|
70
70
|
* Ricerca delle uova
|
|
71
71
|
*/
|
|
72
72
|
const isos = [];
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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
|
package/dist/commands/install.js
CHANGED
|
@@ -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(
|
|
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
|
-
|
|
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(
|
|
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
|
|
249
|
+
await this.summary(oLocation, oKeyboard, oPartitions, oUsers);
|
|
228
250
|
/**
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
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
|
|
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,
|
|
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
|
-
|
|
567
|
-
|
|
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
|
|
4
|
-
|
|
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
|
-
|
|
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
|
-
#
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
32
|
-
artisan ALL=(ALL) NOPASSWD:
|
|
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
|
-
|
|
64
|
+
Encoding=UTF-8
|
|
44
65
|
Name=Eggs unattended install
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
|
|
82
|
+
set -Eeuo pipefail
|
|
83
|
+
|
|
55
84
|
if mountpoint -q "/lib/live/mount"; then
|
|
56
|
-
# isLive
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
|
|
2
|
+
Encoding=UTF-8
|
|
3
3
|
Name=Eggs unattended install
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
package/eui/eui-create-image.sh
CHANGED
|
@@ -1,12 +1,27 @@
|
|
|
1
|
-
#!/bin/
|
|
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
|
-
|
|
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
|
|
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/
|
|
2
|
-
|
|
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..
|
|
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
|
-
#
|
|
24
|
-
|
|
54
|
+
# on XFCE we are sudo
|
|
55
|
+
eggs install --custom=it --domain=.local --random --nointeractive --halt
|
|
25
56
|
else
|
|
26
57
|
# isInstalled
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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:
|
|
2
|
-
artisan ALL=(ALL) NOPASSWD:
|
|
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.
|
|
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.
|
|
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
|
-
"
|
|
83
|
-
"
|
|
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",
|