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:
68
profiles/base/default.nix
Normal file
68
profiles/base/default.nix
Normal file
@@ -0,0 +1,68 @@
|
||||
# profiles/base/default.nix — Always loaded on every host.
|
||||
#
|
||||
# Provides:
|
||||
# - nixpkgs overlays and config (unfree, nix-colors, m3ta-nixpkgs)
|
||||
# - Shell (nushell, fish, starship) with enable options
|
||||
# - CLI tools (bat, carapace, direnv, eza, fzf, lf, nitch, television, zellij, zoxide)
|
||||
# - Secrets management (pass-wayland)
|
||||
# - Base packages (libgtop)
|
||||
{
|
||||
inputs,
|
||||
lib,
|
||||
outputs,
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs.nix-colors.homeManagerModules.default
|
||||
inputs.m3ta-nixpkgs.homeManagerModules.default
|
||||
|
||||
./shell
|
||||
./cli-tools
|
||||
./secrets
|
||||
];
|
||||
|
||||
# ── nixpkgs configuration ──
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
outputs.overlays.temp-packages
|
||||
outputs.overlays.stable-packages
|
||||
outputs.overlays.locked-packages
|
||||
outputs.overlays.pinned-packages
|
||||
outputs.overlays.master-packages
|
||||
|
||||
inputs.nur.overlays.default
|
||||
inputs.m3ta-nixpkgs.overlays.default
|
||||
inputs.m3ta-nixpkgs.overlays.modifications
|
||||
(outputs.lib.mkLlmAgentsOverlay system)
|
||||
];
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = _: true;
|
||||
};
|
||||
};
|
||||
|
||||
# ── Nix settings ──
|
||||
nix = {
|
||||
package = lib.mkDefault pkgs.nix;
|
||||
settings = {
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
warn-dirty = false;
|
||||
};
|
||||
};
|
||||
|
||||
# ── Color scheme ──
|
||||
colorScheme = inputs.nix-colors.colorSchemes.dracula;
|
||||
|
||||
# ── Base packages ──
|
||||
home.packages = with pkgs; [
|
||||
libgtop
|
||||
];
|
||||
|
||||
# ── Home Manager self-management ──
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
# ── Default home state version ──
|
||||
home.stateVersion = lib.mkDefault "26.05";
|
||||
}
|
||||
Reference in New Issue
Block a user