Initial commit

This commit is contained in:
kirbara 2025-12-01 13:23:24 +07:00
commit cfcc57a8bd
Signed by: exp
GPG key ID: D7E63AD0019E75D9
353 changed files with 18756 additions and 0 deletions

View file

@ -0,0 +1,70 @@
{ den, eg, ... }:
{
den.aspects.alice = {
# Alice can include other aspects.
# For small, private one-shot aspects, use let-bindings like here.
# for more complex or re-usable ones, define on their own modules,
# as part of any aspect-subtree.
includes =
let
# deadnix: skip # not required, showcasing angle-brackets syntax.
inherit (den.lib) __findFile;
customEmacs.homeManager =
{ pkgs, ... }:
{
programs.emacs.enable = true;
programs.emacs.package = pkgs.emacs30-nox;
};
in
[
# from local bindings.
customEmacs
# from the aspect tree, cooper example is defined bellow
den.aspects.cooper
den.aspects.setHost
# from the `eg` namespace.
eg.autologin
# den included batteries that provide common configs.
<den/primary-user> # alice is admin always.
(<den/user-shell> "fish") # default user shell
];
# Alice configures NixOS hosts it lives on.
nixos =
{ pkgs, ... }:
{
users.users.alice.packages = [ pkgs.vim ];
};
# Alice home-manager.
homeManager =
{ pkgs, ... }:
{
home.packages = [ pkgs.htop ];
};
# <user>.provides.<host>, via eg/routes.nix
provides.igloo =
{ host, ... }:
{
nixos.programs.nh.enable = host.name == "igloo";
};
};
# This is a context-aware aspect, that emits configurations
# **anytime** at least the `user` data is in context.
# read more at https://vic.github.io/den/context-aware.html
den.aspects.cooper =
{ user, ... }:
{
nixos.users.users.${user.userName}.description = "Alice Cooper";
};
den.aspects.setHost =
{ host, ... }:
{
networking.hostName = host.hostName;
};
}