Merge branch 'core' into config
This commit is contained in:
commit
9a8644e64f
7 changed files with 38 additions and 58 deletions
16
.github/ISSUE_TEMPLATE/upstream_notice.md
vendored
Normal file
16
.github/ISSUE_TEMPLATE/upstream_notice.md
vendored
Normal 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 -->
|
61
README.md
61
README.md
|
@ -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)
|
[![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 ⚠
|
> #### ⚠ Advisory ⚠
|
||||||
> DevOS requires the [flakes][flakes] feature available via an _experimental_
|
> DevOS requires the [flakes][flakes] feature available via an _experimental_
|
||||||
> branch of [nix][nix]. Until nix 3.0 is released, this project
|
> branch of [nix][nix]. Until nix 2.4 is released, this project
|
||||||
> should be considered unstable, though quite usable as flakes have been
|
> should be considered unstable.
|
||||||
> maturing _well_ [for a while](https://github.com/divnix/devos/tree/17713c22d07c54525c728c62060a0428b76dee3b).
|
|
||||||
|
|
||||||
# Introduction
|
### Why?
|
||||||
DevOS grants a simple template to use, deploy and manage [NixOS][nixos] systems
|
Make an awesome template for NixOS users, with consideration for common tools like [home-manager][home-manager],
|
||||||
for 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).
|
[devshell][devshell], and [more](./doc/integrations).
|
||||||
|
|
||||||
Striving for ___nix first™___ solutions with unobstrusive implementations,
|
### No. Why _flakes_?
|
||||||
a [flake centric][flake-doc] approach is taken for useful conveniences such as
|
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.
|
||||||
[automatic source updates](./pkgs#automatic-source-updates).
|
|
||||||
|
|
||||||
Skip the indeterminate nature of other systems, _and_ the perceived
|
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.
|
||||||
tedium of bootstrapping Nix. It's easier than you think!
|
|
||||||
|
## 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
|
### Status: Beta
|
||||||
Although this project has already matured quite a bit, especially through
|
Although this project has already matured quite a bit, especially through
|
||||||
recent outfactoring of [`digga`][digga], a fair amount of api polishing is still
|
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
|
expected. There are unstable versions (0._x_._x_) to help users keep track
|
||||||
of changes and progress.
|
of changes and progress, and a [`develop`](https://github.com/divnix/devos/tree/develop) branch for the brave 😜
|
||||||
|
|
||||||
## 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.
|
|
||||||
|
|
||||||
## In the Wild
|
## In the Wild
|
||||||
The author maintains his own branch, so you can take inspiration, direction, or
|
* The original [authors][please]
|
||||||
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.
|
|
||||||
|
|
||||||
## Shoulders
|
## Shoulders
|
||||||
This work does not reinvent the wheel. It stands on the [shoulders of the
|
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
|
[community]: https://github.com/divnix/devos/tree/community
|
||||||
[dotfiles]: https://github.com/hlissner/dotfiles
|
[dotfiles]: https://github.com/hlissner/dotfiles
|
||||||
[please]: https://github.com/nrdxp/devos/tree/nrd
|
[please]: https://github.com/nrdxp/devos/tree/nrd
|
||||||
|
[matrix]: https://matrix.to/#/#devos:nixos.org
|
||||||
|
|
|
@ -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
|
We also use [BORS](https://bors.tech) to ensure that all pull requests pass the
|
||||||
test suite once at least one review is completed.
|
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
|
# Style
|
||||||
If you wish to contribute please follow these guidelines:
|
If you wish to contribute please follow these guidelines:
|
||||||
|
|
||||||
|
|
|
@ -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
|
built into the NixOS module system for a reason: to elegantly provide a clear
|
||||||
separation of concerns.
|
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
|
## Creation
|
||||||
Profiles are created with the `rakeLeaves` function which recursively collects
|
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`
|
`.nix` files from within a folder. The recursion stops at folders with a `default.nix`
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Suites
|
# Suites
|
||||||
Suites provide a mechanism for users to easily combine and name collecitons of
|
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`
|
`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
|
namespace. They are a special case of an `importable` which get passed as a special
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
# get
|
# get
|
||||||
The `get` subcommand is useful for getting a bare copy of devos without the
|
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
|
## Usage
|
||||||
```sh
|
```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_.
|
||||||
|
|
|
@ -25,8 +25,6 @@ version required.
|
||||||
In addition, the [binary cache](../integrations/cachix.md) is added for faster deployment.
|
In addition, the [binary cache](../integrations/cachix.md) is added for faster deployment.
|
||||||
|
|
||||||
> ##### _Notes:_
|
> ##### _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
|
> - Flakes ignore files that have not been added to git, so be sure to stage new
|
||||||
> files before building the system.
|
> files before building the system.
|
||||||
> - You can choose to simply clone the repo with git if you want to follow
|
> - You can choose to simply clone the repo with git if you want to follow
|
||||||
|
|
Loading…
Reference in a new issue