Nix HacktoberFest

Open-source Nix projects categorized as HacktoberFest

Top 16 Nix HacktoberFest Projects

  • nixpkgs

    Nix Packages collection & NixOS

  • Project mention: Linux virtual machines, with a focus on running containers | news.ycombinator.com | 2024-05-27

    I agree NixOS + docker/podman-compose is a good compromise but one has to be aware NixOS still run podman as root (1) [0]. What is very scary and defeat the purpose of rootless container.

    - [0] https://github.com/NixOS/nixpkgs/issues/259770

  • nix-direnv

    A fast, persistent use_nix/use_flake implementation for direnv [maintainer=@Mic92 / @bbenne10]

  • Project mention: Enlightenmentware | news.ycombinator.com | 2024-05-20

    I don't think there's a right way to do it, you are correct in that learning NixOS is pretty tedious.

    Re: flakes, my personal opinion is to use flakes. While Flakes are imperfect, they still provide a lot of functionality that Nix doesn't otherwise have. In my mind, it's like Nix's equivalent of "Go modules" or something like that. I do feel like people who do not like flakes make many valid points (the boilerplate, the fact that the top-level flake expression is a subset of Nix for some reason, etc.) but the argument isn't that those problems shouldn't be solved, it's that flakes are a sub-optimal design. Since they're so proliferated throughout the ecosystem though, it is quite unlikely that Nix or any prominent fork will outright drop flakes support any time in the near future. For better or worse, Flakes are part of the Nix ecosystem for the foreseeable future. In my opinion, one may as well take advantage of that.

    If you haven't already, I'd get your feet wet with installing Nix on a non-NixOS machine first, and please feel free to ask questions about Nix in the NixOS Discourse "Help" section.

    I have some recommendations:

    1. https://github.com/nix-community/nix-direnv - Since Nix derivations usually wrap around other build systems, the entire derivation is recomputed when any file in it changes; using direnv, you can just get your normal dev tools upon cd'ing into your project directories. This gives you a lot of the benefits of Nix during local development, but with your normal stack, and without needing to globally install anything.

    2. If you are trying to build something, chances are you can find inspiration in Nixpkgs. Are you curious how you might package a Bevy game? No problem: literally search "bevy" on the Nixpkgs GitHub repo and see what comes up. I found a derivation that does: https://github.com/NixOS/nixpkgs/blob/master/pkgs/games/jump...

    3. If you use flakes, you should keep the flake "schema" handy. There are a lot of different kinds of flake outputs and there are different ways to specify the same thing, which is somewhat needlessly confusing; keeping the flake schema handy will make it easier to understand what Nix is looking for in a flake, which might make it easier to see what's going on (especially if it's obfuscated.) The most important takeaway here: A command like `nix run flake#attr` will try multiple different attributes. https://nixos.wiki/wiki/flakes#Flake_schema

    4. Likewise, I really recommend reading up on what NixOS modules are. NixOS modules are the basis for configurations on NixOS, and having a clear understanding of what is even going on with them is a good idea. For example, you should understand the difference between the Nix language's `import` directive, and using the NixOS modules `imports` attribute to import other NixOS modules. Understanding how the configuration merge works saves a lot of headache, makes it easier to understand how people's configurations works, and also makes it easier to modularize your own NixOS configurations, too. https://nixos.wiki/wiki/NixOS_modules

    Unfortunately though, there's just no way to make it "click", and I can't guarantee that it's worth all of the effort. For me, I felt it was, but yes, there's no one correct way to do it.

    But please feel free to ask questions if anything seems confusing.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • sops-nix

    Atomic secret provisioning for NixOS based on sops

  • nixvim

    Configure Neovim with Nix! [maintainer=@pta2002, @traxys, @GaetanLepage]

  • Project mention: Use traditional config on nixos with nixvim | /r/neovim | 2023-12-09

    # .../nixvim.nix { config, pkgs, lib, ... }: let myConfig = builtins.fetchGit { url = "https://github.com/myusername/nvim"; ref = "master"; }; nixvim = import (builtins.fetchGit { url = "https://github.com/nix-community/nixvim"; ref = "nixos-23.05"; }); sqliteLibPath = lib.makeLibraryPath [ pkgs.sqlite ]; in { imports = [ nixvim.homeManagerModules.nixvim ]; home.activation.copyLuaConfig = lib.hm.dag.entryAfter [ "writeBoundary" ] '' if [ ! -d ${config.xdg.configHome}/nvim ]; then mkdir -p ${config.xdg.configHome}/nvim fi shopt -s extglob cp -r ${myConfig}/!(init.lua) ${config.xdg.configHome}/nvim ''; programs.nixvim = { extraPackages = [ pkgs.sqlite ]; enable = true; extraConfigLua = '' vim.g.sqlite_clib_path = "${sqliteLibPath}" .. "/libsqlite3.so" '' + builtins.readFile "${myConfig}/init.lua"; }; }

  • dream2nix

    Simplified nix packaging for various programming language ecosystems [maintainer=@DavHau]

  • Project mention: Dream2nix – Automate reproducible packaging for various language ecosystems | news.ycombinator.com | 2023-10-13
  • nix-1p

    A (more or less) one page introduction to Nix, the language.

  • Project mention: Nix – A One Pager | news.ycombinator.com | 2024-04-06
  • haskell.nix

    Alternative Haskell Infrastructure for Nixpkgs

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • dotfiles

    My NixOS dotfiles (by Mic92)

  • Project mention: My First Impressions of Nix | news.ycombinator.com | 2023-06-19
  • nixos-config

    My Personal Nix/NixOS Configuration. (by Baitinq)

  • Project mention: My First Impressions of Nix | news.ycombinator.com | 2023-06-19
  • napalm

    Support for building npm packages in Nix and lightweight npm registry [maintainer @jtojnar] (by nix-community)

  • nix-rice

    A library to functionally define your configuration and theme (rice) with Nix

  • nix

    my nix modules, overlays, host configurations, and more! (by jpetrucciani)

  • nixpkgs-f2k

    my personal package repository (binary cache included!)

  • nixexprs

    nix stuff

  • nixDir

    Transform a directory into a nix flake

  • machine-configuration

    Configuration files for my NixOS installs

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Nix HacktoberFest related posts

Index

What are some of the best open-source HacktoberFest projects in Nix? This list will help you:

Project Stars
1 nixpkgs 16,007
2 nix-direnv 1,517
3 sops-nix 1,262
4 nixvim 1,234
5 dream2nix 880
6 nix-1p 869
7 haskell.nix 532
8 dotfiles 461
9 nixos-config 131
10 napalm 102
11 nix-rice 87
12 nix 43
13 nixpkgs-f2k 32
14 nixexprs 25
15 nixDir 19
16 machine-configuration 11

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com