nixos/flake/default.nix

33 lines
987 B
Nix

# Flake
/**
Entry point of NixOS configuration
- Defines external sources and locking their commit, which gives us __purity__.
- Declares ready-to-use configurations (e.g. development shells, packages, etc.)
Essentially, `flake.nix` is like `Cargo.toml` in Rust or `package.json` in Node.js, but for an entire operating system.
*/
{ inputs, lib, ... }:
{
imports = [
inputs.flake-file.flakeModules.default
inputs.flake-file.flakeModules.allfollow
../devShells
../docs
../hosts
];
systems = [ "x86_64-linux" ];
flake-file.inputs = import ./inputs { inherit lib; };
flake-file.outputs = "inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } ./flake";
flake-file.description = "SkyOS :: Ultimate NixOS flake";
flake-file.do-not-edit = ''
# Generated using github:vic/flake-file.
# This file is not supposed to be edited manually.
# Run `nix run .#write-flake` to regenerate it
'';
flake-file.prune-lock.enable = true;
}