Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tao3k/omnibus

A unified Nix configuration loading interface and framework that emulates the modularity, configurability, reusability, and overrideability of Doom Emacs.(based on Pure Object Prototypes)
https://github.com/tao3k/omnibus

Last synced: about 1 month ago
JSON representation

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

Awesome Lists containing this project

README

        

: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: [email protected]
#+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
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]]