Merge branch 'core' into config

This commit is contained in:
Bad 2021-07-20 16:33:52 +02:00
commit 9a8644e64f
7 changed files with 38 additions and 58 deletions

View file

@ -0,0 +1,16 @@
---
name: Upstream notice (Issues or Changes)
about: Create an upstream notice to help our research
title: '[ <put the upstream project> ]: <topic>'
labels: 'upstream'
assignees: ''
---
## Link
<!-- just place a link to the upstream issue, or PR -->
## Context
<!-- We want to make this as cheap for you as possible.
Context is not required but helpful -->

View file

@ -1,61 +1,35 @@
[![Bors enabled](https://bors.tech/images/badge_small.svg)](https://app.bors.tech/repositories/32678)
[![MIT License](https://img.shields.io/github/license/divnix/devos)][mit]
[![NixOS](https://img.shields.io/badge/NixOS-unstable-blue.svg?style=flat&logo=NixOS&logoColor=white)](https://nixos.org)
[![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]
> #### ⚠ Advisory ⚠
> 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).
> branch of [nix][nix]. Until nix 2.4 is released, this project
> should be considered unstable.
# Introduction
DevOS grants a simple template to use, deploy and manage [NixOS][nixos] systems
for personal and productive use. A sane repository structure is provided,
integrating several popular projects like [home-manager][home-manager],
### Why?
Make an awesome template for NixOS users, with consideration for common tools like [home-manager][home-manager],
[devshell][devshell], and [more](./doc/integrations).
Striving for ___nix first™___ solutions with unobstrusive implementations,
a [flake centric][flake-doc] approach is taken for useful conveniences such as
[automatic source updates](./pkgs#automatic-source-updates).
### No. Why _flakes_?
Flakes are a part of an explicit push to improve [Nix's UI](https://github.com/NixOS/nix/blob/master/doc/manual/src/contributing/cli-guideline.md), and have become an intergral part of that effort.
Skip the indeterminate nature of other systems, _and_ the perceived
tedium of bootstrapping Nix. It's easier than you think!
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.
## Getting Started
Check out the [guide](https://devos.divnix.com/start) to get up and running.
Also, have a look at [_flake.nix_][toc]. If anything is not immediately
discoverable via "[`digga`][digga]'s [`mkFlake`][mk-flake],
please file a bug report.
### 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.
## Getting Started
Check out the [guide](https://devos.divnix.com/start) to get up and running.
Also, have a look at [_flake.nix_][toc]. If anything is not immediately
discoverable from there through [`digga`][digga] library's [`mkFlake`][mk-flake],
please file a bug report.
of changes and progress, and a [`develop`](https://github.com/divnix/devos/tree/develop) branch for the brave 😜
## In the Wild
The author maintains his own branch, so you can take inspiration, direction, or
make critical comments about the [code][please]. 😜
## Motivation
NixOS provides an amazing abstraction to manage our environment, but that new
power can sometimes bring feelings of overwhelm and confusion. Having a turing
complete system can easily lead to unlimited complexity if we do it wrong.
Instead, we should have a community consensus on how to manage a NixOS system
and its satellite projects, from which best practices can evolve.
___The future is declarative! 🎉___
## 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
[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.
* The original [authors][please]
## Shoulders
This work does not reinvent the wheel. It stands on the [shoulders of the
@ -113,3 +87,4 @@ DevOS is licensed under the [MIT License][mit].
[community]: https://github.com/divnix/devos/tree/community
[dotfiles]: https://github.com/hlissner/dotfiles
[please]: https://github.com/nrdxp/devos/tree/nrd
[matrix]: https://matrix.to/#/#devos:nixos.org

View file

@ -10,12 +10,6 @@ rendered on every change, so the docs should always be up to date.
We also use [BORS](https://bors.tech) to ensure that all pull requests pass the
test suite once at least one review is completed.
## Community PRs
While much of your work in this template may be idiosyncratic in nature. Anything
that might be generally useful to the broader NixOS community can be synced to
the `community` branch to provide a host of useful NixOS configurations available
"out of the box".
# Style
If you wish to contribute please follow these guidelines:

View file

@ -5,9 +5,6 @@ Profiles are a convenient shorthand for the [_definition_][definition] of
built into the NixOS module system for a reason: to elegantly provide a clear
separation of concerns.
If you need guidance, a community [branch](https://github.com/divnix/devos/tree/community/profiles)
is maintained to help get up to speed on their usage.
## Creation
Profiles are created with the `rakeLeaves` function which recursively collects
`.nix` files from within a folder. The recursion stops at folders with a `default.nix`

View file

@ -1,6 +1,6 @@
# Suites
Suites provide a mechanism for users to easily combine and name collecitons of
profiles. For good examples, check out the suites defined in the community branch.
profiles.
`suites` are defined in the `importables` argument in either the `home` or `nixos`
namespace. They are a special case of an `importable` which get passed as a special

View file

@ -1,10 +1,10 @@
# get
The `get` subcommand is useful for getting a bare copy of devos without the
git history. You can pull either the core or community branches.
git history.
## Usage
```sh
flk get BRANCH DEST-DIR
flk get DEST-DIR
```
If DEST-DIR is ommitted, it defaults to _./flk_.
If DEST-DIR is ommitted, it defaults to _./devos_.

View file

@ -25,8 +25,6 @@ version required.
In addition, the [binary cache](../integrations/cachix.md) is added for faster deployment.
> ##### _Notes:_
> - You can change `core` to [`community`](../../index.md#community-profiles)
> in the call to `flk get`
> - Flakes ignore files that have not been added to git, so be sure to stage new
> files before building the system.
> - You can choose to simply clone the repo with git if you want to follow