39 lines
917 B
Markdown
39 lines
917 B
Markdown
|
|
# m3ta-home — Portable User Profiles
|
||
|
|
|
||
|
|
Centralized home-manager configurations for NixOS systems.
|
||
|
|
Separates user identity, preferences, and feature sets for portable deployment.
|
||
|
|
|
||
|
|
## Structure
|
||
|
|
|
||
|
|
```
|
||
|
|
m3ta-home/
|
||
|
|
├── lib/ ← mkHome, mkDevShell
|
||
|
|
├── modules/ ← Home-Manager module exports
|
||
|
|
├── profiles/ ← base, contexts, sets
|
||
|
|
├── users/ ← identity, preferences, secrets
|
||
|
|
└── secrets/ ← Agenix-encrypted user secrets
|
||
|
|
```
|
||
|
|
|
||
|
|
## Usage in nixos-config
|
||
|
|
|
||
|
|
```nix
|
||
|
|
inputs.m3ta-home = {
|
||
|
|
url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/m3ta-home.git";
|
||
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
||
|
|
};
|
||
|
|
```
|
||
|
|
|
||
|
|
```nix
|
||
|
|
# hosts/common/users/m3tam3re.nix
|
||
|
|
home-manager.users.m3tam3re = {
|
||
|
|
imports = [
|
||
|
|
(inputs.m3ta-home.lib.mkHome {
|
||
|
|
user = "m3tam3re";
|
||
|
|
identity = "private";
|
||
|
|
context = "desktop";
|
||
|
|
sets = [ "coding" "gaming" "media" ];
|
||
|
|
})
|
||
|
|
];
|
||
|
|
};
|
||
|
|
```
|