Как ссылаться на свойства другого пользователя в выражении Nix?

Как ссылаться на свойства другого пользователя в выражении Nix?

Я хочу установить root's startGidи startUidGID и UID другого пользователя. Как я могу это сделатьбез их жесткого кодирования?Я попробовал несколько вариантов следующего:

  users.users = {
    root = {
      subGidRanges = [
        {
          count = 1;
          startGid = users.users.username.group;
        }
      ];
      subUidRanges = [
        {
          count = 1;
          startUid = config.ids.uids.username;
        }
      ];
    };
    username = {
      isNormalUser = true;
    };
  };

решение1

Кажется, это работает:

  users.users = {
    root = {
      subGidRanges = [
        {
          count = 1;
          startGid = config.ids.gids."${config.users.users.username.group}";
        }
      ];
      subUidRanges = [
        {
          count = 1;
          startUid = config.users.users.username.uid;
        }
      ];
    };
    username = {
      isNormalUser = true;
      uid = 1000;
    };
  };

Как ни странно, config.users.users.username.groupпохоже, что все нормально решается, хотя я и не настраивал это явно, но мне все равно пришлось это сделать, config.users.users.username.uidчтобы исправить эту проблему:

ошибка: значение параметра users.users.root.subUidRanges.[definition 2-entry 1].startUid' in«/etc/nixos/common.nix» не относится к типу «знаковое целое».

Связанный контент