Giter Club home page Giter Club logo

std's Introduction

Standard

Ship today.

Standard is THE opinionated, generic, Nix Flakes framework that will allow you to grow and cultivate Nix Cells with ease. Nix Cells are the fine art of code organization using flakes.

Once your nix code has evolved into a giant ball of spaghetti and nobody else except a few select members of your tribe can still read it with ease; and once to the rest of your colleagues it has grown into an impertience, then std brings the overdue order to your piece of art through a well-defined folder structure and disciplining generic interfaces.

With std, you'll learn how to organize your nix flake outputs ('Targets') into Cells and Organelles — folded into a useful CLI & TUI to also make the lives of your colleagues easier.

Through more intuition and less documentation, your team and community will finally find a canonical answer to the everlasting question: What can I do with this repository?


The std repository itself

In this repository, you'll find, both, the implementation and an application of Standard.

Implementation

What is std? — The well-commented nix code → ./src.

That folder implements:

  • std.grow: the "smart" importer
  • std.growOn: std.grow-variant that recursively merges all additinonal variadic arguments
  • std.harvest: harvest your Targets into a different shape for compatibility
  • std.incl: a straight-forward source filter with additive semantics
  • std.deSystemize: a helper to hide system from plain sight
  • std.<clade>: builtin Organelle types that implement Actions

What is this crazy verbiage? → Unambigous identifiers on the phone. ☎️

Application

Dog-fooding? → ./cells.

{{#include ../dogfood.nix}}

That's it. std.grow is a "smart" importer of your nix code and is designed to keep boilerplate at bay.

TIP: Now, enter the devshell (direnv allow) and play with the std CLI/TUI companion. It answers one critical question to newcomers and vetarans alike:

What can I do with this repository?

Documentation

Where can I find the documentation? → ./docs.

No, I mean rendered? → The Standard Book.

The documentation is structured around these axes:

For Study For Work
The Practice Tutorials How-To Guides
The Theory Explanation Reference

Licenses

What licenses are used? → ./.reuse/dep5.

And the usual copies? → ./LICENSES.

Releases

You may find releases on the GitHub Release Page of this repository.

Why?

Examples in the Wild

If you'd like to see some examples of what a Standard project looks like, take a look at the following:

🚧 Work in progress, would like to help us extend this section?

Contributions

Please enter the development environment:

direnv allow

std's People

Contributors

blaggacao avatar gtrunsec avatar rschardt avatar yoriksar avatar phaer avatar nrdxp avatar tomberek avatar montchr avatar jbgi avatar kamadorueda avatar manveru avatar michalrus avatar garbas avatar elikoga avatar

Watchers

James Cloos avatar  avatar

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.