nix machine / user configurations

init

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