fix: use m3ta-home.paths.srcRoot for wallpapers (pure eval compatible)

This commit is contained in:
2026-05-02 10:14:03 +02:00
parent 02d3735ada
commit 4a4dc42a12
4 changed files with 26 additions and 10 deletions

View File

@@ -5,17 +5,17 @@
#
# Individual modules declare their own options (mkEnableOption etc.)
# and are activated by mkHome's import mechanism.
inputs: let
{
inputs,
selfPath,
}: 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 = [
# Paths — must be first, provides m3ta-home.paths.srcRoot
./paths.nix
# Profiles
./../profiles/base
./../profiles/contexts/desktop
@@ -29,5 +29,8 @@ in {
./../users/m3tam3re/identities/private.nix
./../users/m3tam3re/identities/work.nix
];
# Set the source root for asset path resolution
m3ta-home.paths.srcRoot = selfPath;
};
}

13
modules/paths.nix Normal file
View File

@@ -0,0 +1,13 @@
# modules/paths.nix — Provides m3ta-home source paths for pure evaluation mode.
#
# Relative paths with ../.. break in the Nix store during pure evaluation.
# This module exposes the flake source root so other modules can reference
# assets via config.m3ta-home.paths.srcRoot.
{lib, ...}: {
options.m3ta-home.paths = {
srcRoot = lib.mkOption {
type = lib.types.path;
description = "Root path of the m3ta-home flake source (set by flake.nix).";
};
};
}