den and vic's dendritic libs made for you with Love++ and AI--. If you like my work, consider sponsoring
Need more batteries? See vic/denful. ❄️ Try it now! Launch our template VM: nix run github:vic/denOr, initialize a project: nix flake init -t github:vic/den
nix flake update den
nix run .#vmReal-world examples for inspiration Available templates |
🏠 Define Hosts, Users & Homes concisely. See schema in # modules/hosts.nix
{
# same home-manager vic configuration
# over laptop, macbook and standalone-hm
den.hosts.x86_64-linux.lap.users.vic = {};
den.hosts.aarch64-darwin.mac.users.vic = {};
den.homes.aarch64-darwin.vic = {};
}$ nixos-rebuild switch --flake .#lap
$ darwin-rebuild switch --flake .#mac
$ home-manager switch --flake .#vic🧩 Aspect-oriented incremental features. (example) Any module can contribute configurations to aspects. # modules/my-laptop.nix
{ den, inputs, ... }: {
# Example: enhance the my-laptop aspect.
# This can be done from any file, multiple times.
den.aspects.my-laptop = {
# this aspect includes configurations
# available from other aspects
includes = [
# your own parametric aspects
den.aspects.workplace-vpn
# den's opt-in batteries includes.
den.provides.home-manager
];
# any file can contribute to this aspect, so
# best practice is to keep concerns separated,
# each on their own file, instead of having huge
# modules in a single file:
# any NixOS configuration
nixos = {
# A nixos class module, see NixOS options.
# import third-party NixOS modules
imports = [
inputs.disko.nixosModules.disko
];
disko.devices = { /* ... */ };
};
# any nix-darwin configuration
darwin = {
# import third-party Darwin modules
imports = [
inputs.nix-homebrew.darwinModules.nix-homebrew
];
nix-homebrew.enableRosetta = true;
};
# For all users of my-laptop
homeManager.programs.vim.enable = true;
};
}
# modules/vic.nix
{ den, ... }: {
den.aspects.vic = {
homeManager = { /* ... */ };
# User contribs to host
nixos.users.users = {
vic.description = "oeiuwq";
};
includes = [
den.aspects.tiling-wm
den._.primary-user
];
};
} |
You are done! You know everything to start creating configurations with den.
Feel free to to explore the codebase, particularly our included batteries and tests.
Learn more at our documentation website
Join our community discussion.
