Hello, I’m happy to introduce my project to the Crystal community.
One year ago, because I discovered Crystal, and I was happy to finally found a language with the Ruby syntax with the compiled language performance, I decided to start my project to make a system manager for Linux.
I started to think my project already before , I made an essay with Ruby 3 years ago. And I decided to rewrite my project in Crystal.
I’m a Gentoo Linux from a while , and my goal was to build a tool able to install a full Linux System from scratch, and as well able to provide an easy way to manage the system settings without need to edit files manually.
My project isn’t finish at all, and is actually highly experimental.
I will provide you in few days a video to show the result.
Actually ISM is able to install softwares and check the dependencies, and as well to remove softwares.
I hope in the future my project will be able to help me to make a Linux distributions for everybody.
This is the video I made to show you the result
I recommand you to watch in on Youtube directly, the quality will be better.
Sorry if you can hear me a little bit sometimes during the video, I forgot to shutdown the sound
Hi again. I would like to request to the crystal community a help to debug my software. If some of you all have a bit of time, know well linux and have the kindness to help me!
My readme actually isn’t full of explanation, and there are some missing information to use ISM properly, if you would like to help, just let me know and I will update the readme.
Actually ISM follow the 11.0 version of LFS, I would like first to make sure it work properly before update to a new version of LFS.
In few words, ISM is the software, but this software need to open ports to install others softwares. Actually there are 2 ports availables.
This ones:
This two repositories are the very first step of the LFS (steps 1 to 7). Actually ISM is able to compile steps 1 to 6.
7th step compilation don’t work actually, that why as well I ask for help. I think I have to check in some installers if they install properly some softwares or make properly symlinks.
When ISM finish the step 6, the chroot don’t work, so something is wrong.
I have this error: chroot failed to run command /usr/bin/env: no such file or directory
And when I try to compile libstdc++ from the 7th step of LFS, I have some errors like: __gthread_time_t was not declared in this scope
Do you need I make like a Slack discussion or something like that ?
I solved the problem. Now my software is able to install all of the crosstoolchain and temporary tools of the LFS book, and I tried the chroot, it work !
I hope this project will help crystal to be more famous
This looks interesting, but I am not sure I really understand what it is/does.
So this creates your own distro from scratch?
and the output is a VM? or an image you can take to a cloud provider?
and it also does configuration management?
Yes this create your own distro from scratch exactly.
The VM is just here if you would like to save time. Because inside I installed already everything you need to try ISM . It’s just for that.
And yeah, I plan as well to make able the software to manage the configuration. I would like to provide an another way than just edit config file with nano of vim.
Hi, sorry long time no see ! I just wanted to share you a screenshot of the advancement of my project.
You can see now my project is able to build a full minimal linux system from scratch !
Hi ! I am happy to share you the first introduction video of the project. This video is in french. No worries, I will publish soon this introduction in English.
Hi everyone, long time I didn’t post ! But the project is extremely advanced now ! Almost all functionalities are done. I am just still working on the last one actually, finishing the linux kernel parsor to handle the calculation of kernel dependency (definitely a brand new feature for Linux system actually)
I will be soon in holidays, so I will release a very first official video in English about the project as well to show you exactly what capacity have that software. I will need probably beta tester as well to help me, to report bugs and suggestions as well.
You need to know that tool will be the heart of my future Linux distro I plan to start. Actually there are more than 600 softwares availables.
Just a small screenshot of my software it installed a full plasma desktop environment (5.27.7) under VirtualBox:
I am quite interested in this project, and will try it as soon as possible on VirtualBox.
One more concern:
Considering the indentation and naming convention used in your project (you are using CamelCase), this is inconsistent with the community standards of Crystal(which come from Ruby), it make others hard to contribute/collaborate, you know, only change a char, crystal tool format will mess up all the indendation (as expected).
And, i can saw many code smell from javascript, they are really not same type language, and many unnecessary usage( e.g. redundant return) or misusage (e.g. use + to concat string)
And, there are another community driven project can help a lot for your’s cases.
If you accept refactor use Crystal way someday, please let me know. i am interest in involves.
I think I would rather have a configurable crystal tool format than for it to be draconian. snake_case is incredibly hard for me to read, which is why none of my Crystal code uses it, either. At least I can tell Ameba to be quiet about it.