Jobs using NixOS

Hi everyone,

I’m looking to learn more about working with NixOS and having your occupation based around it’s use and/or implementation.

I was also curious to hear people’s experience with NixOS jobs - what it entails, any pros/cons, any advice for some switching to that career (I imagine more devops) particularly from an academic/health data science background.

Thank you in advance for any insight!

7 Likes

Honestly, almost any job in IT can be made a Nix job. :sweat_smile: That is at least my approach. I am an embedded software developer and I introduced Nix to the company when I started working there. It is now slowly getting used more and more. I know that this approach is not for everyone, but it is still a posibility if you want a Nix job.

7 Likes

IMO lot of Nix jobs consist of writing some Nix glue code to connect to the reality :smiley: Because everything can’t be pure and packaged in nixpkgs.

5 Likes

Understandable! You’ll probably just need people who are open minded enough to change their workflow and try it out. Seems like you’ve had some good luck so far, hopefully it’s been worth the effort!

3 Likes

Yea I think I can understand that - seems like it could be messy trying to use it in a real world setting. Is this an area that you are currently working in?

Somehow, I would say yes

I’m trying applying it here but a bit put off by:

  • The amount of dead devops Nix projects
  • dream2nix being a bit hard to understand and use with our Typescript monorepo
2 Likes

I am a sole sysadmin / full stack dev for a (non-technical) SMB (but with a ton of old custom dev tech debt), and I manage a small fleet of instances in a hybrid (cloud and on-prem) environment. Started with standard terraform / ansible stack, then started using nixos on my personal machine and homelab (I think when unstable was 22.05). Once I got hooked and comfortable, moved the work stuff over to nixos as well.

My deployment consists of big mono-flake with separate nixpkgs inputs for each instance, so I can upgrade them separately as needed, though in practice I upgrade them at the same time, just don’t want to have to do them completely in lock-step. System deployment is done with deploy-rs, secrets managed with sops-nix. On the dev side, I have drone-ci hooked into gitea for CI and deployment.

As a single owner of the process, nixos is great. Kind of enforces some discipline, as there’s no room to introduce out-of-band configs and forget to rewrite in ansible. If I had to train someone else to do it, I’d be a little worried about finding the right person who would be amenable to learning; I’d be really worried about introducing nixos to an existing devops org, though I’d still be tempted to try.

I can’t speak to how to switch to a career with nixos, as I don’t even think I qualify – I get to decide what gets run in my tiny one-person shop. But I imagine it might follow a similar path – put it on your own machine, then your own homelab or cloud cluster, spin up some standard services. @Solene 's comment on gluing to reality is apt – also a good opportunity to learn, like, modify or rewrite some nixpkgs to fit your use case, use home-manager and system activation or systemd services to creatively fit square pegs into round holes. :slight_smile:

10 Likes

I enjoyed reading this thread and general topic. We don’t really have a lot of content on what it means to work or have a job that is highly involved in Nix or NixOS. Would anyone be interested to be interviewed on the topic and then we create a blog or writeup answering the biggest questions on the topic?
It might help folks coming in or considering Nix related jobs to get a better picture and help answer questions like these.

9 Likes

I’m down to be interviewed, though I think my experience is more narrow then the ideal “NixOS at work” story, being a one-person dev / devops dept.

Aren’t there like, full-on nixos companies out there? Surely they would have stories to share. :slight_smile:

But, if you’d like my perspective, I’m happy to talk more.

3 Likes

I found this researching distros as it relates to the job market. (Absolutely captivated with nix)

Company is ‘Mercury’
The position is ‘senior full-stack engineer’

" Technically, we’re working on these challenges:

  • Frontend — React, Typescript, Redux: Creating a beautiful user interface. We iterate on designs and don’t compromise until we have a great product.
  • Backend — Haskell, Yesod, Persistent: Integrating with banking services and third party APIs to accurately track financial data and make payments.
  • Operations — Nix, Postgres, AWS: Maintaining a stable, secure fleet of servers.
  • Mobile — Swift, Kotlin: We have nativeiOS and Android apps

We’re looking for someone who is comfortable working across the stack. The ideal candidate has done full-stack development before, and is excited to learn and work with Haskell, React, and TypeScript."

3 Likes

From all the context I’ve gathered from the ecosystem, the code, the people, the mindset, I beleive the foundations for Nix for Work lies in initiatives like this:

Today it is still early and you absolutely must dominate UX of Nix for your stakeholders, which is difficult due to many immature solutions or notoriously moving targets.

Tomorrow, you could be riding the wave of a trend. To me, the Ecosystem is moving in the right direction with an unstoppable force.

3 Likes

I work at a technology startup and I have been gradually pushing nix forward into our stack ever since I fell down the rabbit hole personally. We have seen great success so far in improving on our previous docker-based dev environment setup (particularly for m2 macs), and have been starting to explore building on those dev shells to produce minimal & reproducible artifacts (OCI images) for deployment with nix-build.

I think as long as you master the fundamentals of Nix, and are able to effectively communicate its benefits, any job can become a Nix job. The tool as it stands now already provides enough to blow all the other alternatives I’ve come across out of the water, and the main hurdle is wrapping it into something with a nice interface for non-nix experts, and teaching & documenting around any pitfalls to keep the maintenance burden as low as possible. That, and working at companies that are bullish on FOSS.

4 Likes

Is your company hiring?

We’re currently hiring for a Platform Engineer role at Supabase with a significant nix component. Please apply at the link if you’re interested!

5 Likes

Here is a diagram of the hybrid cloud / on-prem / homelab setup I manage, 95% nixos and migrating to 100%. Ping me if questions!

1 Like