Pinned post

Hey !
I'm Samuel Roland, a student developer and I love free and open-source software ! I'm the kind of person who has too many ideas all the time.

I'm passionate about development (so many crazy tools we can create!), the opensource maintainers, free licenses, community building, and programming best practices.

I need to learn a lot and improve my skills in different areas. Here, I would like to share my side projects, my enjoyments during my learnings, recommendations, ...

Progressing slowly on the code of lxsetup - the tool to easily run scripts, commands, list of packages, and associated tests, to install a new Linux machine.

The second goal is to be able to update the setup running only modified things and keep the same state across 2 machines.

Photo of the "start" option with all the steps detected in `lxsetup.json` (the config file).

Read more here or just ask for details!

PHP, c’est fantastique :

> Cette fonction retourne true en cas de succès ou false si une erreur survient. **Attention** Toutefois, si libgd ne parvient pas à produire l'image, cette fonction retourne true.

"Quand ça marche pas, ça retourne false, sauf si ça n’a pas marché"

After having moderated the #SocialHub #ActivityPub community for a couple of years, today I have decided to step down from that.

I will continue to be a tireless #Fediverse advocate, just in slightly different ways than before. It has been my pleasure interacting on the forum, and maybe I'll be back as mod if people's interest and activity picks up again to make it more than what it currently is.

To have a more concrete view, just look at the picture. This is an example of a `setup` repos and config file.

1️⃣ At let the file structure (scripts to install apps and configure system, list of packages per pkg managers) + the config file lxsetup.json.

2️⃣ At right, you have a preview of 2 steps: the first to setup ssh keys and the second install all flatpak packages in the file lists/flatpak.list

Show thread

For this project, I'm following this process:
json format > documentation > unit and feature tests > code.

The json format format and documentation are 80% ready, so if anyone is interested to use this tool, please look at the documentation and let me know what think about it, before I implement it !!

Show thread

You can have a much better output during the installation (the scripts outputs are hidden), you see only the step names and status. You can add requirements (ex. step X runs only when Y is success).

It could also detect changes in your setup steps and only run modified ones or only the steps that have a failing test...

This is only conception and doc for now, but I hope the tool will create a nice experience when developed.

I just hope a few friends would find it useful and use it too.

Show thread

Instead of having 4 scripts you manually run one after the other, that you have to restart entirely after fixing a small error in the middle, it enables to create small steps with 1-2 automated tests per step.

These steps can be a single command, a script or a list of packages to install with a given package manager.

Show thread

I'm learning Bash testing because I'm building a small CLI since a few days to extract the core logic from my setup repository (which contains all the scripts to setup my Fedora 36 KDE laptop).

:terminal: lxsetup is a CLI to help you run all the steps of a new Linux machine setup, based on a config file lxsetup.json, some programs lists and a few custom scripts.
It helps to see the progress of installation, run only broken or new steps, and run tests related to each step.

I'm doing Bash automated testing and it's pretty fun (like every testing tool actually).

I'm using BATS - Bash Automated Testing System (seems to be the best tool but I didn't test other tooling).

The official tutorial is not very well written but it gives a first impression of how it works.

Any recommendation on using BATS ? Any great resource to learn more about it ? (For edge cases for ex.). I still have to figure out how I can mock a config file...

I wrote a blog post about various #forge #federation myths:

As usual, feel free to ask me questions about forge or #Gitea federation!

📢 Attention (would-be) #Fediverse developers!

Who is interested to implement a #Discourse forum to Fediverse bridge utility?

There's an existing project called #SemApps by @srosset that is ready for use and supports #ActivityPub. It is written in #JavaScript.

For details see #SocialHub at

It would be great if we could stream #forum activity to fedi, as so much interesting #community stuff happens in Discourse forums dispersed all over the place.

#AskFedi #development

@hostea was created this year by @realaravinth and @dachary with the modest ambition of making #GitHub redundant.

We would like Hostea to thrive as a #Zebra in a post-growth economy. But we are geeks with no sense of business or marketing whatsoever.

Do you know someone who might be willing to team up and make this happen? A person who would bring balance to Hostea with a strong inclination for business development in a Free Software frame.

Boost appreciated 🚀


@dachary & @realaravinth

@ialja @forgefriends is looking for a UX designer who would know @penpot

Do you have a recommendation by any chance?

In an act of brainlessness I typed `git commit filename` instead of `git add filename; git commit` and it actually worked!

I always learn something new every day.

The Tale of Spiral Island.. An analogy for the #Fediverse

The Fediverse Diversity Foundation website is just a draft created some time ago. But I intend to make it part of #SocialCoding Movement in the near future.

(Site needs to be further improved then)

I'm documenting the steps and storing my scripts here btw, if you want to check it: is first attempt to tests small things but as I just learned functions in bash it's the only way I found for the moment (a bit ugly I agree).

Show thread

Hellooo :9

:fedora: I'm trying to write scripts to setup my Fedora 36 computer (which was broken in the meantime btw), and I'm very new to scripting...

⭐ I was wondering how I could write automated tests to make sure all software are correctly installed, required services are active+enabled, and that config files have been correctly modified...

How can I test these things ? How to write assertions? (What CLI or strategy?)

Boost appreciated.

Show older

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.