Giter Site home page Giter Site logo

nix-community / awesome-nix Goto Github PK

View Code? Open in Web Editor NEW
2.8K 68.0 134.0 242 KB

๐Ÿ˜Ž A curated list of the best resources in the Nix community [maintainer=@cyntheticfox]

Home Page: https://nix-community.github.io/awesome-nix/

License: Creative Commons Zero v1.0 Universal

awesome-list awesome lists nix nixos

awesome-nix's Issues

List of nix-config, nixos-config repos?

Hi!

I have been using NixOS for a long time and feel relatively "plugged in", yet I'm constantly finding things in other Nix users's configuration repos.

Is there interest in maintaining a list of those repos here?

Bonus, we could call out flakes-enabled repos which are somewhat hard to find now and useful for folks looking to test out flakes.

nixkite - Nix module for buildkite pipelines

I realize this could be viewed as shameless self promotion but anyway, I've created nixkite - https://github.com/johnae/nixkite which is a Nix module for generating buildkite pipelines... a bit opinionated in that it only supports DAG pipelines (eg. the relatively new functionality on buildkite).

I'm using it myself in https://github.com/johnae/nixos-configuration (and other private repos as well).
Maybe it is worthy of including on this list? It likely doesn't have any users at the moment other than me.

Proposal: Create GitHub Action for Alphabetization

We have GitHub actions to enforce basic "awesome-list" style via awesome-lint and a link checker via lychee, but I currently still have to manually check every time whether a PR has the lists under subheadings in alphabetical order.

It might require a bit of time and me actually bothering to learn TypeScript/Node.js, but I think an alphabetization checker would be valuable.

Add Morph and krops

Imo these tools deserve to be listed next to nixops.

  • Morph

    Morph is a tool for managing existing NixOS hosts - basically a fancy wrapper around nix-build, nix copy, nix-env, /nix/store/.../bin/switch-to-configuration, scp and more. Morph supports updating multiple hosts in a row, and with support for health checks makes it fairly safe to do so.

  • Krops

    krops (krebs ops)
    krops is a lightweigt toolkit to deploy NixOS systems, remotely or locally.
    Some Features
    - store your secrets in password store
    - build your system remotely
    - minimal overhead (it's basically just nixos-rebuild switch!)
    - run from custom nixpkgs branch/checkout/fork

Broaden to Nix, rename project

The name of this list technically excludes some awesome stuff like nix-darwin and kubenix. GitHub handles renames quite well, so I think it's not too late!

awesome-nixos -> awesome-nix

Recategorize tools

Some of the sections (like Deployment Tools, Command-line Tools, and Development) are getting rather large. Might be worthwhile to look at other Awesome lists and see about recategorizing some of the projects.

Selection doesn't work.

When attempting to select the method used with tab it only comes up with option 0 on zsh. When I try typing in another option it just says hit tab to see options. The only thing I can do is hit enter. Typing any number 0-5 does nothing but tell me to hit tab.

Lists are not alphabetic

The Contributing Guidelines include to "keep entries sorts alphabetically by the title", but I noticed for some sections like Development, they aren't ordered.

It's a pretty simple fix, so I can go ahead and create a PR for it when I get a moment to breathe today.

Add "Official" Section

I'm considering adding an "Official" section before the "Resources" one, kind of like that on the Node.js Awesome list. This would probably include just the NixOS website, a link to the "learn" page as "Documentation", a link to Nix and/or Nixpkgs, and maybe a link to the Discourse?

Unsure as to what would be best included in such, and what can be left out. I know at a maximum it would be:

  • Website
  • Documentation
  • Nix Repository
  • Nixpkgs Repository
  • NixOps Repository
  • NixOS Discourse
  • NixOS FreeNode
  • NixCon

That list feels a little long to put though, so it might be better to just have:

  • Website
  • Documentation
  • Nixpkgs Repository

And keep the rest distributed into their corresponding sections.

summaries should should be factual

many summaries currently contain either value judgement ("simple", "awesome", "quickly", "better") or nondescript statements ("Beat your package expressions into a shape").

that does not help readers figure out how and why a recommendation may be useful to them.

summaries should consistently and factually state for every resource

  • what it is for
  • why it is part of this collection
  • (optional) how it differs from competing offers, trade-offs, etc.

related: #123

centralize collection of resources and recommendations

there are multiple locations which overlap in serving the overview function for different topics:

proposal to increase centralization and ease curation:

  • determine a location for collections of resources on each topic
  • remove redundant information from the other locations
  • link appropriately

examples:

  1. learning Nix
  • "learning Nix" is actually learning/understanding multiple things
    • how to navigate the ecosystem
    • nix commands
    • Nix language syntax and semantics
    • builtins and pkgs.lib
    • nixpkgs patterns and idioms
    • language-specific patterns and tooling
    • NixOS modules
    • software development with Nix
    • contributing to the ecosystem
    • ...
  • as we decided to make nix.dev the official Nix learning resource, curating additional learning resources should be managed there
  • suggestion: only link to nix.dev from here
  1. communication channels

related: NixOS/nixpkgs#121403 (Bring the Haskell documentation back into nixpkgs)

Failing URLs

This is an Issue to track failing URLs with comments generated by the Lychee link checker.

Clean up Formatting and Grammar

The resource descriptions could use some cleaning-up in the formatting and consistency, including ensuring consistent capitalization of Nix/NixOS/Nixpkgs, making commands into code blocks or having the "preformatted" style via backticks (a.k.a. grave symbols), and validating that list item names match the project name in capitalization and formatting.

May help with #1 in the Awesome list approval process, but is not guaranteed, and may have a lifetime shorter or longer than that issue.

I can write most of the pull requests for this, but contributions are always welcome.

I'll be using this issue to track the work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.