Talk at my company

Hello everyone,

so on Wednesday I am going to give a technical talk at my company about Nix/NixOS. The people I am going to present NixOS to are embedded software engineers, a domain in which I think Nix/NixOS has a lot to offer. The goal of my talk is to show them those advantages, and to encourage them to participate in the NixOS development, and have a stronger embedded community (I’m not promising anything, though :stuck_out_tongue:).

The talk is going to happen on Wednesday 2019-10-09 (in three days for me), and I would like to know what you think of the way I’m approaching things, and if you feel that there are topics worth / not-worth mentioning.

Here are my slides:
And here are the sources for my slides:



I’m going to convert some of the slides to

so you can test drive nix (the package manager). Can’t test drive nixos yet, as katacoda don’t have a native sandbox :-(…

Hopefully that will change shortly.

1 Like

Hello @minijackson
first of all it is great that you wanted to contribute to nixOS, I started using it recently as test OS alongside arch linux and fedora silverblue and it is more easy and more configurable then arch and silverblue, cannot compare to Windows cause I left that "world’ pre 2010. Fedora is my main OS.

I am former university lecturer and when I moved to my new position few years ago in a science and research company I found out that the presentation to have best effect the audience is very important, similar rule existed at the university, one presentation for class, one for conference etc.

When I presented Red Hat’s Fedora Silverblue to my team at the company (I am senior manager) I had a short presentation 5-10 slides for the executive team no codes only ideas and expected outcome.
another presentation with about 10-15 slides for my team leaders at my department with some details about work improvements and why we should use it and comparisons to other OS (like CentOS, Ubuntu by Cannonical etc) and last presentation was 1 hour long (other were 30 minutes) with 15-20 slides for the entire tech team, with links to codes etc.

I am not sure how long your meeting will take place, but based on experience 50+ slides I guess for 1 hour or 30 minutes is a lot (it gives you 1 minute per slide) + 10-15 minutes for questions and debate.
Based on my experience any meeting longer then 40 minutes - 60 minutes or presentation that doesn’t have an active discussion, brainstorming is not effective, (maybe move slides to extra materials) and if your main goal is for your team to contribute to NixOS say that directly or indirectly and why should you (your company) should do it, what is you advantage you get from it, give them clear examples.
For my case for SilverblueFedora I said it is cutting edge and we will have competitive advantage over our competition (in the executive presentation), in the presentation for the team leaders I presented the argument that it will save them time for the entire team and for the tech team the open source cutting edge argument and they contribution to a very new project that will make them early adopters of new technology in Operating System and give them competitive advantage over other IT staff.

If you give them a good reason and say it they will be more motivated and inspired to do it.

I am not sure what is the type of your presentation and how long, but I would suggest mark important slides if you don’t have time you will not skip them and leave some time for question 5-10 minutes. For a 30 minutes presentation I leave 10 minutes for discussion and for 60 minutes presentation I leave 20 minutes for discussion,

regarding the specific topic / content in the slides from the presentation I do not know your objectives for your main goal and I don’t know the audience plus I am not an expert in NixOS (I am using NixOS only for less then 1 month my self) so I cannot comment on the content itself.

Don’t take my advice as a criticisms I am just giving you advice based on experience to have the best desired effect and for the presentation and to give everyone the most important information.

EDIT: apologies for any grammatical errors, I am non native English speaker and don’t proof read posts.

I wish you all the best at your presentation


Thanks for your detailed post, @AstraAdria4Ari ! The format of the presentation will be 40 minutes talk, 10-15 minutes questions. I know I have a lot of slides, but there is just so much to talk about ^^

I will listen to your great advice and try and mark important slides, so I can skip others freely, should I run out of time.

The people I am going to give a talk to are embedded software engineers, with a lot of them being Open-Source minded, so my talk is mostly technical. I’ll see about adding some Open-Source stuff, and maybe giving more concrete examples.

Thanks again!

well if the audience is open source oriented and they have worked on open source projects before, I assume from “open source minded” you just need to give them good examples why nixos as an open source projects, 60 slides in 40 minutes is short (less then 1 minute per slide) My suggestion is talk few minutes on the important marked slides and skip the rest and live the pdf online for anyone to check.

I am not sure what software you use for the presentations, if you use Libre Office Impress,
you can add text only visible for the presenter called presenter notes (have not used PowerPoint don’t know), here are some useful links on the topic:

Click View > Notes in the menu bar (move the cursor to the top of the screen to reveal the menu bar). At first it looks like only something to be displayed if printing the slides, but after adding notes in the text section, press F5 to start the presentation, click the ‘Notes’ icon at the bottom of the presenter view, and you’ll find the notes there to be read during the presentation.

The Presenter Notes are only visible for the presenter and they can be or not be part of the PDF export.

I wish you all the best at your presentation with an open-source minded people it is a sure success

Hello @minijackson,
Thanks for popularizing Nix and NixOS !
I just started to read your presentation. It seems promising at first sight. A lot of work, congratulation.

On slide #6 you write

NixOps Like Amazon EC2
Disnix More like Chef / Puppet for multiple hosts

Does it come from this stackoverflow post ? I’m not sure about this statement. But I may be wrong though – since the post has many approvals.

AFAIU, NixOps is rather like Ansible/Chef/Puppet except that NixOps target NixOS systems.
I see Disnix like a manager of distributed services on a cluster of NixOS systems, closer to Kubernetes IMO.

You might be interested by first sentences of their official descriptions.


I think you’re right! I’m not well versed into Kubernetes and such, but from the official description, I think I’m going to opt for:

  • NixOps: machine deployment tool
  • Disnix: distributed service deployment tool


Wait, that’s already what I put in the slides -_-"

I think I’m just going to drop the notes about NixOps / Disnix then ^^

1 Like

Your presentation is very clean, I learned a lot thanks. Streamlined examples were really useful and well thought. Especially, last examples about ARM and building ISO files were really interesting for me. (planning to reformat a raspberry with NixOS in few days for a personal website)

In the drawbacks section you write

• You can’t compile part of a system without changing your configuration (all or nothing)

I have been searching for a solution concerning a partial update of system packages, without neither finding an easy solution yet. Though I’m not 100% sure about the in-feasibility. I tend to believe that using a local – and partially up to date – nixpkgs would make it possible.

• Non POSIX compliant

Are you sure ? NixOS is not compliant to the FHS way of organizing files but I thought it was POSIX compliant. (however not totally sure about that)

(Starwars references in the titles of slides 51-53 whet my appetite for your talk)


I have been searching for a solution concerning a partial update of system packages, without neither finding an easy solution yet

I think one possible solution that looks like a solution to a different problem but seems to provide the desired functionality is to have a minimal system package set, then a separate environment (or multiple) defined via buildEnv. All of these can be added to $PATH, so the software is available, but each sub-profile can be updated independently.

1 Like

Good luck with your presentation!, would love to hear how it was going for you.

1 Like

Well, it went pretty well in my opinion, I’ve had some people who told me they were at least interested in the concepts of Nix/NixOS, and that the way NixOS handle things were quite “clean” ^^