feat: integrate m3ta-home for centralized user profiles #9

Merged
m3tam3re merged 5 commits from feat/m3ta-home-integration into master 2026-05-02 11:02:55 +02:00
Collaborator

Summary

Integrates the new m3ta-home repository as a flake input, replacing the old home/m3tam3re/<host>.nix system with a centralized profile management approach.

Changes

flake.nix

  • Added m3ta-home as flake input (SSH, follows nixpkgs)

hosts/common/users/m3tam3re.nix (rewritten)

  • Uses m3ta-home.lib.mkHome to compose HM config
  • Central host profile mapping: each host declares context (desktop|server) and sets (coding, gaming, media)
  • Per-host feature flags inline (base, desktop, coding, gaming, media enables)
  • Auto-imports hosts/<hostname>/home.nix if it exists

hosts/m3-ares/home.nix (new)

  • Hyprland monitor layout for TUXEDO laptop (eDP-1 + HDMI-A-1)

hosts/m3-kratos/home.nix (new)

  • Hyprland monitor layout for AMD desktop (dual DP 1440p)

What this enables

  1. Portable user profiles — Same config usable on work machines via identity = "work"
  2. Centralized maintenance — Change shell/editor/theme once, applies everywhere
  3. Granular coding setscoding.core, coding.languages.python, etc.
  4. Project dev shells — Future mkDevShell from m3ta-home

Migration path

  • Verify nixos-rebuild build succeeds for all hosts
  • Test on one host (e.g. m3-hermes — simplest)
  • Remove old home/ directory in follow-up commit
  • Update homeConfigurations.m3-daedalus to use m3ta-home

Breaking changes

The old home/m3tam3re/*.nix files are no longer referenced by this branch. They are kept in the tree for reference but can be deleted after verification.

## Summary Integrates the new [m3ta-home](https://code.m3ta.dev/m3tam3re/m3ta-home) repository as a flake input, replacing the old `home/m3tam3re/<host>.nix` system with a centralized profile management approach. ## Changes ### flake.nix - Added `m3ta-home` as flake input (SSH, follows nixpkgs) ### hosts/common/users/m3tam3re.nix (rewritten) - Uses `m3ta-home.lib.mkHome` to compose HM config - Central host profile mapping: each host declares `context` (desktop|server) and `sets` (coding, gaming, media) - Per-host feature flags inline (base, desktop, coding, gaming, media enables) - Auto-imports `hosts/<hostname>/home.nix` if it exists ### hosts/m3-ares/home.nix (new) - Hyprland monitor layout for TUXEDO laptop (eDP-1 + HDMI-A-1) ### hosts/m3-kratos/home.nix (new) - Hyprland monitor layout for AMD desktop (dual DP 1440p) ## What this enables 1. **Portable user profiles** — Same config usable on work machines via `identity = "work"` 2. **Centralized maintenance** — Change shell/editor/theme once, applies everywhere 3. **Granular coding sets** — `coding.core`, `coding.languages.python`, etc. 4. **Project dev shells** — Future `mkDevShell` from m3ta-home ## Migration path - [ ] Verify `nixos-rebuild build` succeeds for all hosts - [ ] Test on one host (e.g. m3-hermes — simplest) - [ ] Remove old `home/` directory in follow-up commit - [ ] Update `homeConfigurations.m3-daedalus` to use m3ta-home ## Breaking changes The old `home/m3tam3re/*.nix` files are **no longer referenced** by this branch. They are kept in the tree for reference but can be deleted after verification.
m3ta-chiron added 1 commit 2026-05-02 09:53:37 +02:00
m3ta-chiron force-pushed feat/m3ta-home-integration from 9b6f7db563 to ab1bdc9848 2026-05-02 09:53:37 +02:00 Compare
m3ta-chiron added 1 commit 2026-05-02 10:08:54 +02:00
m3ta-chiron added 1 commit 2026-05-02 10:41:15 +02:00
- hosts/m3-kratos/home.nix: XDG/MIME defaults + dual DP Hyprland monitors
- hosts/m3-ares/home.nix: XDG/MIME defaults + eDP+HDMI Hyprland monitors
- hosts/m3-daedalus/home.nix: XDG/MIME defaults (no Hyprland)
- hosts/common/users/m3tam3re.nix: refactored hostFlags into let binding,
  added m3-daedalus profile (desktop/coding+media, no gaming/Hyprland)
m3ta-chiron added 1 commit 2026-05-02 10:54:44 +02:00
m3ta-chiron added 1 commit 2026-05-02 11:01:15 +02:00
All home-manager configuration is now centralized in the m3ta-home repo:
- profiles/base/     ← shell, CLI tools, secrets
- profiles/contexts/ ← desktop, server
- profiles/sets/     ← coding, gaming, media
- users/             ← identities, preferences

Per-host overrides (monitors, XDG/MIME) remain in hosts/<name>/home.nix.
Central user integration via hosts/common/users/m3tam3re.nix.
m3tam3re merged commit 90e417525b into master 2026-05-02 11:02:55 +02:00
m3tam3re deleted branch feat/m3ta-home-integration 2026-05-02 11:02:55 +02:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: m3tam3re/nixos-config#9