2021-03-27 15:16:37 +00:00
[![NixOS ](https://img.shields.io/badge/NixOS-unstable-blue.svg?style=flat&logo=NixOS&logoColor=white )](https://nixos.org)
2021-07-02 05:40:55 +00:00
[![MIT License ](https://img.shields.io/github/license/divnix/devos )][mit]
[![Chat ](https://img.shields.io/matrix/devos:nixos.org.svg?label=%23devos%3Anixos.org&logo=matrix&server_fqdn=matrix.org )][matrix]
2021-02-15 07:41:45 +00:00
2021-02-18 00:07:44 +00:00
> #### ⚠ Advisory ⚠
2021-03-14 07:10:51 +00:00
> DevOS requires the [flakes][flakes] feature available via an _experimental_
2021-07-02 05:40:55 +00:00
> branch of [nix][nix]. Until nix 2.4 is released, this project
> should be considered unstable.
### Why?
Make an awesome template for NixOS users, with consideration for common tools like [home-manager][home-manager],
2021-03-14 07:10:51 +00:00
[devshell][devshell], and [more ](./doc/integrations ).
2021-07-02 05:40:55 +00:00
### No. Why _flakes_?
2021-08-11 19:05:03 +00:00
Flakes are a part of an explicit push to improve [Nix's UX ](https://github.com/NixOS/nix/blob/master/doc/manual/src/contributing/cli-guideline.md ), and have become an integral part of that effort.
2021-02-18 04:32:18 +00:00
2021-07-02 05:40:55 +00:00
They also make [Nix expressions ](https://nixos.org/manual/nix/unstable/expressions/expression-syntax.html ) easier to distribute and reuse with convient [flake references ](https://github.com/NixOS/nix/blob/master/src/nix/flake.md#flake-references ) for building or using packages, modules, and whole systems.
2021-03-01 05:33:14 +00:00
2021-02-15 00:41:15 +00:00
## Getting Started
2021-04-19 03:42:54 +00:00
Check out the [guide ](https://devos.divnix.com/start ) to get up and running.
2021-05-20 00:15:49 +00:00
Also, have a look at [_flake.nix_][toc]. If anything is not immediately
2021-07-02 05:40:55 +00:00
discoverable via "[`digga`][digga]'s [`mkFlake`][mk-flake],
2021-05-20 00:15:49 +00:00
please file a bug report.
2021-02-15 00:41:15 +00:00
2021-07-28 10:04:39 +00:00
< < < < < < < HEAD
2021-02-15 00:41:15 +00:00
## Motivation
2021-02-18 04:32:18 +00:00
NixOS provides an amazing abstraction to manage our environment, but that new
2021-02-15 00:41:15 +00:00
power can sometimes bring feelings of overwhelm and confusion. Having a turing
2021-02-20 05:42:33 +00:00
complete system can easily lead to unlimited complexity if we do it wrong.
2021-03-14 07:10:51 +00:00
Instead, we should have a community consensus on how to manage a NixOS system
and its satellite projects, from which best practices can evolve.
2021-02-15 00:41:15 +00:00
2021-03-01 05:33:14 +00:00
___The future is declarative! 🎉___
2021-02-20 05:42:33 +00:00
2021-07-16 17:45:48 +00:00
## Examples in the Wild
The author maintains his own branch, so you can take inspiration, direction, or
make critical comments about the [code][please]. 😜
2021-07-28 10:04:39 +00:00
=======
2021-07-02 05:40:55 +00:00
### Status: Beta
Although this project has already matured quite a bit, especially through
recent outfactoring of [`digga`][digga], a fair amount of api polishing is still
expected. There are unstable versions (0._x_._x_) to help users keep track
of changes and progress, and a [`develop` ](https://github.com/divnix/devos/tree/develop ) branch for the brave 😜
2021-02-20 05:42:33 +00:00
2021-07-02 05:40:55 +00:00
## In the Wild
* The original [authors][please]
2021-07-28 10:04:39 +00:00
>>>>>>> devos/develop
2021-02-15 00:41:15 +00:00
2021-05-20 00:15:49 +00:00
## Shoulders
This work does not reinvent the wheel. It stands on the [shoulders of the
following giants][giants]:
### :onion: — like the layers of an onion
- [`divnix/digga`][digga]
- [`gytis-ivaskevicius/flake-utils-plus`][fup]
- [`numtide/flake-utils`][fu]
### :family: — like family
- [`numtide/devshell`][devshell]
- [`serokell/deploy-rs`][deploy]
2021-06-14 04:48:43 +00:00
- [`berberman/nvfetcher`][nvfetcher]
2021-05-20 00:15:49 +00:00
- [`NixOS/nixpkgs`][nixpkgs]
:heart:
2021-02-15 07:41:45 +00:00
## Inspiration & Art
- [hlissner/dotfiles][dotfiles]
- [nix-user-chroot ](https://github.com/nix-community/nix-user-chroot )
- [Nickel ](https://github.com/tweag/nickel )
- [Awesome Nix ](https://github.com/nix-community/awesome-nix )
- [devshell ](https://github.com/numtide/devshell )
2021-05-20 00:15:49 +00:00
## Divnix
The divnix org is an open space that spontaniously formed out of "the Nix".
It is really just a place where otherwise unrelated people a) get
together and b) stuff done.
It's a place to stop "geeking out in isolation" (or within company boundaries),
experiment and learn together and iterate quickly on best practices. That's what it is.
It might eventually become a non-profit if that's not too complicated or if those
goals are sufficiently upstreamed into "the Nix", dissolved.
2019-12-03 05:18:30 +00:00
# License
2021-02-18 01:31:33 +00:00
DevOS is licensed under the [MIT License][mit].
2019-12-03 05:18:30 +00:00
2021-06-14 04:48:43 +00:00
[community]: https://github.com/divnix/devos/tree/community
[core]: https://github.com/divnix/devos
2021-05-20 00:15:49 +00:00
[deploy]: https://github.com/serokell/deploy-rs
2021-06-14 04:48:43 +00:00
[devshell]: https://github.com/numtide/devshell
2021-05-20 00:15:49 +00:00
[digga]: https://github.com/divnix/digga
2021-06-14 04:48:43 +00:00
[dotfiles]: https://github.com/hlissner/dotfiles
[flake-doc]: https://github.com/NixOS/nix/blob/master/src/nix/flake.md
[flakes]: https://nixos.wiki/wiki/Flakes
2021-05-20 00:15:49 +00:00
[fu]: https://github.com/numtide/flake-utils
2021-06-14 04:48:43 +00:00
[fup]: https://github.com/gytis-ivaskevicius/flake-utils-plus
[giants]: https://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants
[home-manager]: https://nix-community.github.io/home-manager
2021-02-15 07:41:45 +00:00
[mit]: https://mit-license.org
2021-06-14 04:48:43 +00:00
[mk-flake]: https://github.com/divnix/digga/tree/master/src/mkFlake
[nix]: https://nixos.org/manual/nix/stable
2021-02-15 00:41:15 +00:00
[nixos]: https://nixos.org/manual/nixos/stable
2021-06-14 04:48:43 +00:00
[nixpkgs]: https://github.com/NixOS/nixpkgs
[nvfetcher]: https://github.com/berberman/nvfetcher
2021-02-20 05:42:33 +00:00
[please]: https://github.com/nrdxp/devos/tree/nrd