Como se referir às propriedades de outro usuário na expressão Nix?

Como se referir às propriedades de outro usuário na expressão Nix?

Quero definir o root startGide startUido GID e UID de outro usuário. Como eu posso fazer issosem codificá-los?Eu tentei diversas variações do seguinte:

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

Responder1

Isso parece funcionar:

  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;
    };
  };

Estranhamente, config.users.users.username.groupparece resolver bem, embora eu não tenha definido explicitamente, mas ainda tive que configurar config.users.users.username.uidpara corrigir esse problema:

erro: O valor da opção users.users.root.subUidRanges.[definition 2-entry 1].startUid' in/etc/nixos/common.nix' não é do tipo `inteiro assinado'.

informação relacionada