The Summer of Nix

A two month train and work program from August 2nd to October 15th 2021 - great for anyone who wants to rapidly increase their Nix skills while doing useful work.

Summer of Nix 2022 Announcement!

Summer of Nix 2022 will happen from 15th of July to 30th of September!

Following the excitement of Summer of Nix 2021 (more in last year’s report), I am happy to announce that the European Commission, NLNet and the NixOS Foundation have granted enough budget to organize another community event this year. After some brainstorming sessions I am excited to share how we (an organization committee of ~8 people now) would like to organize this event.

Summer of Nix is a paid summer program where you can learn, meet, and work with the Nix community. It targets experienced Nixers and Nix newcomers alike to come together and work on a range of different topics. At the same time, there will be talks about Nix and presentations by Nix-using companies with the goal of fostering a strong sense of community and pushing the ecosystem forward together.

What’s new this year is that we offer …

  • a communication stream to write quality documentation, deployment stories, tutorials, and produce video content and podcast episodes;
  • an ecosystem stream to work directly on Nix tooling that improves the overall packaging and package user experience;
  • a packaging stream to package new free and open source software either within nixpkgs or as independent flakes.

All streams focus on improving Nix support for the free and open source (FOSS) ecosystem from different angles, as last year with emphasis on the packages sponsored by the European Commission via the NGI initiative and NLNet.

You can participate in Summer of Nix in several ways:

  • As a participant you will work full time on various projects together with other participants within the 3 work streams for about 8 weeks (with some flexibility, e.g. to take vacation). This is the main role in Summer of Nix and great for those who work in a team to share and improve their Nix skills, meet nice people while contributing to the community.
  • As a team coordinator you will lead a small team, arrange communication and mentoring, and guide technical discussions and decisions. You will also be involved in the overall organization of the program with other coordinators. Technical work in this role includes reviewing PRs and answering technical questions. Hours can vary, but on average the time commitment is about 12 hours a week. Experienced Nix tinkerers with a social knack are encouraged to apply for this role. If you’re interested in Nix and also enjoy team organization, this role is for you!
  • As a tech wiz you will pair program with participants, answer their questions, review their PRs, and show them how to get along with Nix. This is a great way to be involved if you are an experienced Nixer and enjoy helping others in a flexible way.
  • As a project lead you offer a project within the three work streams. You would work together with participants on this project, and provide them with guidance and technical expertise. This is great for anyone who is looking for support on their own Nix project. If you have an idea, please apply, but understand that projects have to fall within the three work streams and we will need to evaluate whether they can fit within the scope of the European Commission’s grant.

The compensation depends a bit on each role but will roughly be oriented on Google’s Summer of Code stipend for the participant roles.

Applications are open here from now until May 15th.

Please write to summer@nixos.org if you have questions. In addition to this, we will also have a separate sponsor track for companies who want to connect with the community in this program this year. But more about this later…

UPDATE 2022-02-23: Summer of Nix 2021 report is out

Happy to announce that the Summer of Nix 2021 report is out. This report explains in detail the motivation behind Summer of Nix, and how it was organized in 2022. If you have comments or questions, don't hesitate to reach out to summer@nixos.org.

UPDATE 2021-07-20: Hiring event on October 27th 2021

Rumor was already out but now we announce it officially: we are organizing a big hiring event on October 27th where Summer of Nix participants and applicants can meet companies that use it. Participation is free but places are limited for organizational reasons to Summer of Nix participants and applicants for now. If you like to know more, send us a mail at summer@nixos.org .

UPDATE 2021-06-02: Applications are closed

Thanks a lot for your interest in the Summer of Nix program! We've done more than a hundred interviews in two months, it's been thrilling to see so much excitement over this program.

We are currently in the process of selecting participants and making the teams: stay tuned!

What is this?

The Summer of Nix is a two month train & work project that will take place between August 2nd to October 15th 2021. It is made for anyone who wants to rapidly increase their Nix skills while doing useful work for the Nix and the wider FOSS community - all of this together in a remote team and getting paid a nice stipend. After the program, there will be opportunities for continued work as paid freelance contractor with the NixOS foundation.

Who is organizing this, and why?

The program is funded via the European Commission's Next Generation Internet Initiative and organized by members of the core Nix development team, the NixOS foundation, the NLnet foundation and Tweag. The wider goal is to establish Nix as one of the principal platforms for free and open source software. Concretely, this means packaging many free and open programs, and improving the general packaging situation in Nix. The program is set up to train up to 30 participants to become at ease in the Nix ecosystem and to deliver as many packages as possible from a list of strategic projects.

For whom is this interesting?

This program is great for students, professionals or passionates who can spend the time over summer to rapidly increase their Nix skills while doing useful, paid work. What we need from you is commitment, motivation for two months of full time work and basic Nix knowledge. You should know what a nix shell is, the basics of nixpkgs and the language, as explained in the nix pills tutorials, for example. Of course, also a reasonably fast computer and internet connection is required although we might be able to provide some cloud infrastructure.

Experienced Nix packagers are also welcome to participate in a mentoring role that involves reviewing, helping out with questions, direct individual mentoring, and also hands-on packaging. Mentoring is a flexible part time role, approximately equivalent to 1 day of work per week. If you are interesting in spreading Nix knowledge and also enjoy light-weight team organization, this role is for you!

Time Zones

The program is open to applicants from all time zones and countries. Although many members of the organization committee are based in Europe, training sessions and workshops will be adjusted as good as possible to work for the majority of participants and flexible arrangements will be found for others.

Compensation

The compensation for participants is fixed to a base stipend of 2750 Euro in all member states of the European Union and associated countries like Norway, the UK and Switzerland. Elsewhere, this base is adjusted with a factor taking into account purchasing power parity similar to the GSoC program. The precise stipend amounts will be communicated individually to succesful applicants.

Mentors will be paid aligned to standard contracts with the NixOS foundation and details will be communicated individually.

How to apply?

As participant, check if you meet the requirements outlined above, which is mostly having a basic understanding of Nix, time in August and September and motivation to work with us. If this is the case, simply write a mail to summer@nixos.org with subject "Summer of Nix Application" and the following content:

  • Who are you? (5 reasonably long sentences)
  • Why are you interested in this program? (5 reasonably long sentences)
  • What are you able to do with in Nix? (3 bullet points)
  • What would you like to learn? (3 bullet points)
  • The program requires you to work 8 weeks between August 2nd to October 15th 2021. When are you available?
  • What time slots (with time zone!) are you comfortable with for work and for occasional 1/2 day workshops?
  • Do you have any other specific requirements regarding this program? (open)
  • CV (doesn't have to be long and can be attached or just a link to a website with equivalent information)

An organizer will contact you soon (within 7 days) after that to conduct a short 15-30 minute interview. We will select participants on May 15th and you will get a confirmation within 2 weeks after. Make sure to apply before this date. Please understand that the number of participants is limited. Originally we planned a second round of applications with deadline on July 1st but due to the high demand we have no spots left.

As mentor, please write us at summer@nixos.org with subject "Summer of Nix Mentor", a short informal paragraph that explains your involvement in the ecosystem, your interest in this program and how you would like to contribute.

If you have further questions, please look at the FAQ section or write any questions below in the comments.

FAQ

  • Is a GitHub account required? - Yes
  • What are the application deadlines? - There are no fixed deadlines but we plan to select and confirm participants twice, on May 15th and on July 1st so that they have a definite confirmation. However, we have so much interest for this program that we encourage you to apply as early as possible.
  • I am interested to participate but want to take vacation can I still join? - Yes, you are expected to work 8 of the 11 weeks that this program runs. Please write us your availability in the application.
  • I am a student. Can I use this program as internship? - There is no universal answer to this since internship programs differ from country to country and even university to university. We are open to internships but please contact us so that we can figure out together whether it is possible or not.
  • I'm not a student. Can I also apply? - Yes. We welcome any motivated individuals who want to learn state-of-the-art Nix, and have the time and ability to participate. Do make sure that you can take the 2 months full time learning and working with Nix. 
  • I don't know anything about Nix. Can I apply? - We expect at least basic experience with Nix, which would hopefully allow us to move you up to an advanced level during the course of the summer program. So if Nix is all new to you and you find this kind of program interesting - deep dive into learning Nix straightaway, and make sure you are ready.
  • I cannot program, do I need to? - Yes, fundamental programming skills are definitely required but profound knowledge is not. The software we are packaging could be written in various programming languages and so, during the program, you might need to figure out how to deal superficially with those language ecosystems that it uses and also sometimes with those of the dependencies. Luckily, there are tens of thousands of packages already in nixpkgs to learn from.
  • Which packages are we going to package? - We will package a number of cutting edge free and open source applications in the field of privacy and trust enhancing technologies, as well as tools aimed at search, discovery and discoverability. These range from tools to develop open hardware chips to fediverse applications, but all of them have one thing in common: they are actively developed libre community projects, funded through the NGI0 Zero program.
  • Who is going to mentor? - Established community members will be available for questions and mentoring for less experienced participants and structure the program besides the organizers of this program.
  • I could mentor. Are you looking for more mentors? - Yes, please write us an email.
  • What is expected to be delivered at the end of the Summer of Code? - We aim to deliver, all together, about three Nix packages per participant (including mentors). This is our global output as a team! There is no fixed required amount of packages per participants. Some important high value packages are a lot more difficult to package than others and this will be taken into account. The goal is to achieve this goal together as a team and maybe even more. What counts as well for us is participants with improved Nix knowledge and improvements to the general Nix packaging situation in the form of tutorials or other documentation.
  • I find this program really interesting but can't participate because of the way it is structured. What should I do? - Please reach out to summer@nixos.org and write us what is holding you back. This is the first time this program runs and feedback is important to us.
  • I can't commit full time time. Can I still participate? - In principle any help to achieve the overall goal of the project is welcome. If you feel that this is nevertheless the case, please reach out to summer@nixos.org and describe your situation. You will be placed in a list of people willing to participate under special conditions and we will think about how to integrate you in the program. Expect more details about how this could look like shortly after May 15th.
  • Where can I get more information? - Please send us a mail to summer@nixos.org.

Acknowledgements

The Summer of Nix would like to thank all its partners who made the program come to life 🎉