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:
43
flake.nix
Normal file
43
flake.nix
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
description = "m3ta-home — portable user profiles and home-manager configurations";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-colors.url = "github:misterio77/nix-colors";
|
||||
|
||||
m3ta-nixpkgs = {
|
||||
url = "git+ssh://gitea@code.m3ta.dev/m3tam3re/m3ta-nixpkgs.git";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
agenix.url = "github:ryantm/agenix";
|
||||
|
||||
nur.url = "github:nix-community/NUR";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
...
|
||||
} @ inputs: let
|
||||
lib = nixpkgs.lib;
|
||||
in {
|
||||
# Home-Manager modules — import in nixos-config via:
|
||||
# imports = [ inputs.m3ta-home.homeManagerModules.default ];
|
||||
homeManagerModules = import ./modules inputs;
|
||||
|
||||
# Library functions — use in nixos-config via:
|
||||
# m3ta-lib = inputs.m3ta-home.lib;
|
||||
# imports = [ (m3ta-lib.mkHome { ... }) ];
|
||||
lib = import ./lib {inherit inputs;};
|
||||
|
||||
# Overlays (re-exports from m3ta-nixpkgs)
|
||||
overlays = inputs.m3ta-nixpkgs.overlays;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user