Install libreoffice
1 file changed
tree: fed3969508a78cf98a6a43cfaa4a77f0ace85638
  1. .github/
  2. modules/
  3. overlays/
  4. packages/
  5. patches/
  6. secrets/
  7. switching/
  8. utils/
  9. .editorconfig
  10. .envrc
  11. .gitignore
  12. .sops.yaml
  13. config.nix
  14. flake.lock
  15. flake.nix
  16. LICENSE
  17. README.md
README.md

Configuration format

This is a group of NixOS modules that control user and system configuration for a single-user machine. In order to avoid confusion with other modules, all user-facing options that I provide will be under the namespace minion. and all internal options that I provide will be under the namespace internal.

Directory usages

DirectoryDescription
modulesmodules, used to provide user-facing options and configuration
internalinternal modules, used to provide configuration-agnostic options to user-facing modules. These should do nothing unless they are triggered by a user-facing module setting an option
utilsinternal utilities for writing these modules; intended to be imported by nix files in here, and probably nothing else. These may be refactored into another repo at some point
overlayspackage overlays, generally each in files named with the package they are intended to overlay
patchespatch files, each in a directory named with the package that they are intended to patch
packagespackage expressions, each named with the package they wish to occupy
switchinga program for switching on and off options, as well as rebuilding the configuration. Currently A WIP
Modules

All files directly under /modules/ will be .nix modules, and related files (such as assets) may be contained in /modules/name/ (where name is the name of the module with the .nix extension omitted). Similarly, any options the module provides should be under minion.name.. It is expected that related file directories will sometimes contain .nix files; this is acceptable and no particular standard is required of any .nix file outside of the main /modules/ directory. Some modules with stricter layouts may decide to keep a README in their assets directory to ensure a standard is kept.

These are not standard NixOS modules, in that they can have some extra properties outside of the traditional imports, options, and config, and these properties will not be treated as config. These properties are described below.

Additional properties
OptionsTypeDescription
homehome-manager configurationconfiguration that will be used for the home-manager user; will also be passed as the variable home to your modules
traceslist of string[CURRENTLY WIP] A list of config attributes to be "traced" (printed to the console) after evaluation (useful for debugging)

Licensing

Unless otherwise specified, all files in this repo while this message is in the readme were written or otherwise created by me, Skyler Grey, and are released under GNUAGPLv3. A full copy of this license may be found at the provided URL or in the license file.

Despite the licensing, only the files in this repo are licensed. This config installs unfree software, and software that is not compatible with the AGPL license. The license only pertains to files inside this repo, and I do not pretend to own or have created any external files that may end up in your nix store by building this config.