feat: initial m3ta-home structure
- flake.nix with nixpkgs, home-manager, nix-colors, m3ta-nixpkgs, agenix, NUR inputs - lib/mkHome.nix: compose HM config from user + identity + context + sets - profiles/base: shell, cli-tools, secrets (always loaded) - profiles/contexts/desktop: WM, apps, theme, ghostty - profiles/contexts/server: minimal headless - profiles/sets/coding: core (git, direnv, jq, rg), editor, lsp, languages, agents - profiles/sets/gaming: steam, gamescope, gpu - profiles/sets/media: obs, ffmpeg, kdenlive, handbrake, yt-dlp - users/m3tam3re/identities: private.nix, work.nix (git, jj, ssh per identity) - users/m3tam3re/preferences: cliphist, difftastic, base packages
This commit is contained in:
33
modules/default.nix
Normal file
33
modules/default.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
# modules/default.nix — Export all m3ta-home modules as a HM module set.
|
||||
#
|
||||
# This allows nixos-config to import all modules at once:
|
||||
# imports = [ inputs.m3ta-home.homeManagerModules.default ];
|
||||
#
|
||||
# Individual modules declare their own options (mkEnableOption etc.)
|
||||
# and are activated by mkHome's import mechanism.
|
||||
inputs: let
|
||||
lib = inputs.nixpkgs.lib;
|
||||
|
||||
# Collect all .nix files recursively from a directory
|
||||
collectModules = dir:
|
||||
builtins.filterSource (path: _type:
|
||||
lib.hasSuffix ".nix" (builtins.baseNameOf path))
|
||||
dir;
|
||||
in {
|
||||
default = {
|
||||
imports = [
|
||||
# Profiles
|
||||
./../profiles/base
|
||||
./../profiles/contexts/desktop
|
||||
./../profiles/contexts/server
|
||||
./../profiles/sets/coding
|
||||
./../profiles/sets/gaming
|
||||
./../profiles/sets/media
|
||||
|
||||
# Users
|
||||
./../users/m3tam3re/preferences
|
||||
./../users/m3tam3re/identities/private.nix
|
||||
./../users/m3tam3re/identities/work.nix
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user