nix machine / user configurations

init

+1
.gitignore
···
+
+18
COPYING
···
+
Permission is hereby granted, free of charge, to any person obtaining
+
a copy of this software and associated documentation files (the
+
"Software"), to deal in the Software without restriction, including
+
without limitation the rights to use, copy, modify, merge, publish,
+
distribute, sublicense, and/or sell copies of the Software, and to
+
permit persons to whom the Software is furnished to do so, subject to
+
the following conditions:
+
+
The above copyright notice and this permission notice shall be
+
included in all copies or substantial portions of the Software.
+
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+40
README.md
···
+
>Warning: Highly experimental, API __will__ break!
+
# Introduction
+
+
Welcome to DevOS. This project is under construction as a rewrite of my current
+
NixOS configuration files available [here][old].
+
+
The goal is to make everything as general, modular and *maintainable* as possible
+
to encourage contributions. The ambitious end game is to create a central repository
+
of useful NixOS modules and device configurations which are more opinionated than
+
those found in [nixpkgs][nixpkgs], but are applicable/useful to the wider
+
[NixOS][NixOS] and [Linux][kernel] communities. The hope is to ease the transition
+
to NixOS and encourage adoption by allowing common hardware and software to be
+
automatically configured with sane defaults, enabling iteration instead of
+
starting from scratch with each new device.
+
+
This coupled with a strong notion of an *abstract* machine, e.g. `laptop.nix`
+
or `mobile.nix`. Will allow devices of all types to be up and running with
+
Linux "right out of the box"!
+
+
No more weekends spent working out the kinks in `INSERT_DISTRO_OF_CHOICE`
+
on every machine aquiry/transition! Just pull in a database containing an
+
optimal/optimized NixOS "configuration.nix" for your specific hardware
+
and software. Then customize it to your needs and contribute back any
+
improvements!
+
+
# License
+
+
This software is licensed under the [MIT License](COPYING).
+
+
Note: MIT license does not apply to the packages built by this configuration,
+
merely to the files in this repository (the Nix expressions, build
+
scripts, NixOS modules, etc.). It also might not apply to patches
+
included here, which may be derivative works of the packages to
+
which they apply. The aforementioned artifacts are all covered by the
+
licenses of the respective packages.
+
+
[nixpkgs]: https://github.com/NixOS/nixpkgs
+
[NixOS]: https://nixos.org
+
[kernel]: https://kernel.org
+
[old]: https://github.com/nrdxp/nixos
+11
flake.lock
···
+
{
+
"inputs": {
+
"nixpkgs": {
+
"inputs": {},
+
"narHash": "sha256-Y5ZOTgInrYYoas3vM8uTPLA2DvFI9YoI6haftIKl9go=",
+
"originalUrl": "nixpkgs",
+
"url": "github:edolstra/nixpkgs/015c9ec3372e328ea6742b409a1e9aa26dab2b31"
+
}
+
},
+
"version": 3
+
}
+16
flake.nix
···
+
{
+
epoch = 201909;
+
description = "NixOS Configuration";
+
+
outputs = { self, nixpkgs }: {
+
nixosConfigurations.gaze12 = nixpkgs.lib.nixosSystem {
+
system = "x86_64-linux";
+
+
modules = [
+
{
+
system.configurationRevision = self.rev;
+
}
+
];
+
};
+
};
+
}
+2
lib/utils.nix
···
+
{}:
+
{}