Skip to content

Repository files navigation

:PROPERTIES:
:ID:       fdd55059-5f5c-4407-b4c3-c5366cd6a898
:header-args: :noweb tangle :comments noweb :exports both
:STARTUP: noinlineimages
:PRJ-DIR: .
:END:
#+TITLE: README
#+AUTHOR: GuangTao Zhang
#+EMAIL: gtrunsec@hardenedlinux.org
#+DATE: 2023-10-13 Fri 21:41




[[https://github.com/divnix/POP/blob/main/POP.md][What is POP: Pure Object Prototypes]]


#+BEGIN_SRC d2 :file images/omnibus.png :flags --sketch --theme 200 :exports both :tangle (concat (org-entry-get nil "PRJ-DIR" t) "/omnibus.d2")
# !/usr/bin/env d2 --theme 200

flake: Flake {
  library: library(pops) {
    lib
    exporter: {
      pops
    }
    flakeOutputs

    exporter -> flakeOutputs
  }

  outputs: outputs {
    packages
  }

  library.flakeOutputs -> outputs
  library.exporter.library -> outputs.lib: without pops interface
  library.pops -> outputs.pops
}

units: units {
  nixos: {
    nixosModules
    homeProfiles
    homeModules
  }
  flake-parts: {
    modules
    profiles
  }
  devshell: {
    modules
    profiles
  }
  configs: {
    treefmt
  }
}
extensions: extensions system {
  APIs: {
    addLoadExtender
    addLoadExtenders
    addExporters
    outputs
  }
}

flops: flops(POP) {
  haumea: {
    type: {
      default
      nixosModules
      nixosProfiles
      evalModules
    }
    load

    type -> layouts
  }
  flake: {
    inputs
    call-flake
  }
}

user: User {shape: person}

extensions <-> user
flops -> extensions
flake.outputs.pops -> extensions
units -> flake.lib.pops: loading
flake.library.pops <- flops.haumea: loader
flops.haumea -> extensions.APIs.addLoadExtender
flops.haumea -> extensions.APIs.addLoadExtenders

flops.flake -> subflake
flops.flake -> call-flake: extended inputs

flake.outputs.pops -> extensions: extensions interface
#+END_SRC

#+RESULTS:
[[file:images/omnibus.png]]

About

A unified Nix configuration loading interface and theory that emulates the modularity, configurability, reusability, and overrideability of Doom Emacs.(based on Pure Object Prototypes)

Resources

Stars

42 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages