Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ denful Public

re-usable, cherry-pickable Dendritic modules that use flake.parts to customize and extend your config easily. like a lazyvim-distribution but for dendritic nix. Mirror from https://tangled.org/oeiuwq.com/denful. Discussions at https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/

License

Notifications You must be signed in to change notification settings

vic/denful

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

5 Commits

Repository files navigation

denful - Dendritic Nix modules, enough to fill a den.

Denful provides lots of flake.parts modules that you can mix in your existing Dendritic configurations.

Features

  • no need for nix wizardy. designed for beginners but your magic is of great use here.
  • minimalistic and inter-operable tools. incrementally enable just what you need.
  • supports all nix module classes. no special cases.
  • multi host definitions with high module re-use.
  • multi user support.
  • secrets management.
  • automatic website documentation.
  • experimental: flake-agnostic. can be used with or without flakes/flake.parts.

Facets

You are free to cherry-pick any of our provided modules via flake.modules.<class>.<name>.

However, we also provide higher modules (named facets). The concept is similar to that of layers in editor-configurations like Spacemacs or plugin-bundles in other editor distributions.

facets definition.

This section is mostly useful for facet authors, but surely is of value for facet users. The following example just tries to show a facet structure and what it can do.

Syntax here is that of flake.aspects. resolved modules are be available at flake.modules.<class>.niri but people can also use flake.aspects.niri if desired (eg, as an aspect dependency).

# facets/niri.nix
{ inputs, lib, ... }:
{
 flake.aspects.niri = { aspects, ... }: {
 description = ''
 Niri: a scrollable-tiling WM (https://github.com/YaLTeR/niri)

 Configured via https://github.com/sodiboo/niri-flake.
 '';
 # the `flake` class module contributes to your flake,
 # for example by adding inputs or caches via `github:vic/flake-file`.
 flake = {
 flake-file.inputs.niri-flake = {
 url = lib.mkDefault "github:sodiboo/niri-flake";
 inputs.nixpkgs.follows = "nixpkgs";
 };
 flake-file.nixConfig = {
 extra-substituters = [ "https://niri.cachix.org" ];
 extra-trusted-public-keys = [ "niri.cachix.org-1:Wv0OmO7PsuocRKzfDoJ3mulSl7Z6oezYhGhR+3W2964=" ];
 };
 # it can also import aditional flake modules.
 # flake-file.inputs.foo-dep.url = "...";
 # imports = [ inputs.foo-dep.flakeModule ];
 # or define/enhance another aspect: anarchy is our omarchy like aspect.
 flake.aspects.anarchy = {
 includes = [ aspects.niri ];
 };
 };
 # the nixos class enhances os-level stuff for the `niri` aspect.
 nixos = {
 imports = [ inputs.niri-flake.nixosModules.niri ];
 };
 };
}

facet usage

In some dendritic module of yours:

{ inputs, ... }:
{
 imports = [ inputs.denful.modules.flake.niri ];
 flake.aspects.my-laptop = {aspects, ...}: {
 # features of all facets that contribute to the anarchy aspect
 includes = [ aspects.anarchy ];
 };
}

About

re-usable, cherry-pickable Dendritic modules that use flake.parts to customize and extend your config easily. like a lazyvim-distribution but for dendritic nix. Mirror from https://tangled.org/oeiuwq.com/denful. Discussions at https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Languages

AltStyle によって変換されたページ (->オリジナル) /