2021-03-14 08:10:51 +01:00
|
|
|
[![Bors enabled](https://bors.tech/images/badge_small.svg)](https://app.bors.tech/repositories/32678)
|
2021-02-18 02:31:33 +01:00
|
|
|
[![MIT License](https://img.shields.io/github/license/divnix/devos)][mit]
|
2021-03-27 16:16:37 +01:00
|
|
|
[![NixOS](https://img.shields.io/badge/NixOS-unstable-blue.svg?style=flat&logo=NixOS&logoColor=white)](https://nixos.org)
|
2021-02-15 08:41:45 +01:00
|
|
|
|
2021-02-18 01:07:44 +01:00
|
|
|
> #### ⚠ Advisory ⚠
|
2021-03-14 08:10:51 +01:00
|
|
|
> DevOS requires the [flakes][flakes] feature available via an _experimental_
|
|
|
|
> branch of [nix][nix]. Until nix 3.0 is released, this project
|
|
|
|
> should be considered unstable, though quite usable as flakes have been
|
|
|
|
> maturing _well_ [for a while](https://github.com/divnix/devos/tree/17713c22d07c54525c728c62060a0428b76dee3b).
|
2021-02-18 01:07:44 +01:00
|
|
|
|
2019-12-03 06:18:30 +01:00
|
|
|
# Introduction
|
2021-02-18 05:32:18 +01:00
|
|
|
DevOS grants a simple way to use, deploy and manage [NixOS][nixos] systems for
|
2021-03-14 08:10:51 +01:00
|
|
|
personal and productive use. A sane repository structure is provided,
|
|
|
|
integrating several popular projects like [home-manager][home-manager],
|
|
|
|
[devshell][devshell], and [more](./doc/integrations).
|
|
|
|
|
2021-03-26 00:05:52 +01:00
|
|
|
Striving for ___nix first™___ solutions with unobstrusive implementations,
|
2021-03-14 08:10:51 +01:00
|
|
|
a [flake centric][flake-doc] approach is taken for useful conveniences such as
|
2021-02-26 08:07:40 +01:00
|
|
|
[automatic source updates](./pkgs#automatic-source-updates).
|
2021-02-18 05:32:18 +01:00
|
|
|
|
2021-03-14 08:10:51 +01:00
|
|
|
Skip the indeterminate nature of other systems, _and_ the perceived
|
|
|
|
tedium of bootstrapping Nix. It's easier than you think!
|
2021-02-18 05:32:18 +01:00
|
|
|
|
2021-03-14 08:10:51 +01:00
|
|
|
### Status: Alpha
|
|
|
|
A lot of the implementation is less than perfect, and huge
|
|
|
|
[redesigns](https://github.com/divnix/devos/issues/152) _will_ happen. There
|
|
|
|
are unstable versions (0._x_._x_) to help users keep track of changes and
|
|
|
|
progress.
|
2021-03-01 06:33:14 +01:00
|
|
|
|
2021-02-15 01:41:15 +01:00
|
|
|
## Getting Started
|
2021-02-18 05:03:07 +01:00
|
|
|
Check out the [guide](https://devos.divnix.com/doc/start) to get up and running.
|
2021-02-15 01:41:15 +01:00
|
|
|
|
2021-02-20 06:42:33 +01:00
|
|
|
## In the Wild
|
2021-03-02 06:42:19 +01:00
|
|
|
The author maintains his own branch, so you can take inspiration, direction, or
|
2021-03-01 06:33:14 +01:00
|
|
|
make critical comments about the [code][please]. 😜
|
2021-02-20 06:42:33 +01:00
|
|
|
|
2021-02-15 01:41:15 +01:00
|
|
|
## Motivation
|
2021-02-18 05:32:18 +01:00
|
|
|
NixOS provides an amazing abstraction to manage our environment, but that new
|
2021-02-15 01:41:15 +01:00
|
|
|
power can sometimes bring feelings of overwhelm and confusion. Having a turing
|
2021-02-20 06:42:33 +01:00
|
|
|
complete system can easily lead to unlimited complexity if we do it wrong.
|
2021-03-14 08:10:51 +01: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-03-01 06:33:14 +01:00
|
|
|
|
|
|
|
___The future is declarative! 🎉___
|
2021-02-20 06:42:33 +01:00
|
|
|
|
2021-02-20 07:32:29 +01:00
|
|
|
## Upstream
|
2021-02-20 06:42:33 +01:00
|
|
|
I'd love to see this in the nix-community should anyone believe its reached a
|
|
|
|
point of maturity to be generally useful, but I'm all for waiting until
|
|
|
|
1.0[#121](https://github.com/divnix/devos/issues/121) to save the cache work,
|
|
|
|
too.
|
2021-02-15 01:41:15 +01:00
|
|
|
|
|
|
|
## Community Profiles
|
|
|
|
There are two branches from which to choose: [core][core] and
|
|
|
|
[community][community]. The community branch builds on core and includes
|
|
|
|
several ready-made profiles for discretionary use.
|
|
|
|
|
|
|
|
Every package and NixOS profile declared in community is uploaded to
|
2021-04-19 04:26:27 +02:00
|
|
|
[cachix](./integrations/cachix.md), so everything provided is available
|
|
|
|
without building anything. This is especially useful for the packages that are
|
|
|
|
[overridden](./concepts/overrides.md) from master, as without the cache,
|
|
|
|
rebuilds are quite frequent.
|
2021-02-15 01:41:15 +01:00
|
|
|
|
2021-02-15 08:41:45 +01: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)
|
|
|
|
|
2019-12-03 06:18:30 +01:00
|
|
|
# License
|
2021-02-18 02:31:33 +01:00
|
|
|
DevOS is licensed under the [MIT License][mit].
|
2019-12-03 06:18:30 +01:00
|
|
|
|
2021-02-15 01:41:15 +01:00
|
|
|
[nix]: https://nixos.org/manual/nix/stable
|
2021-02-15 08:41:45 +01:00
|
|
|
[mit]: https://mit-license.org
|
2021-02-15 01:41:15 +01:00
|
|
|
[nixos]: https://nixos.org/manual/nixos/stable
|
|
|
|
[home-manager]: https://nix-community.github.io/home-manager
|
|
|
|
[flakes]: https://nixos.wiki/wiki/Flakes
|
2021-03-14 08:10:51 +01:00
|
|
|
[flake-doc]: https://github.com/NixOS/nix/blob/master/src/nix/flake.md
|
2021-02-18 02:31:33 +01:00
|
|
|
[core]: https://github.com/divnix/devos
|
|
|
|
[community]: https://github.com/divnix/devos/tree/community
|
2021-02-15 08:41:45 +01:00
|
|
|
[dotfiles]: https://github.com/hlissner/dotfiles
|
2021-02-18 05:32:18 +01:00
|
|
|
[devshell]: https://github.com/numtide/devshell
|
2021-02-20 06:42:33 +01:00
|
|
|
[please]: https://github.com/nrdxp/devos/tree/nrd
|