@highstate/nixos 0.9.19 → 0.9.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "sourceHashes": {
3
- "./dist/inline-flake/index.js": 3705963660,
4
- "./dist/inline-module/index.js": 1539035205,
5
- "./dist/system/index.js": 1085299810
3
+ "./dist/inline-flake/index.js": 3529221358,
4
+ "./dist/inline-module/index.js": 1287701510,
5
+ "./dist/system/index.js": 240262886
6
6
  }
7
7
  }
@@ -1,5 +1,5 @@
1
- import { join } from 'node:path';
2
1
  import { writeFile, access } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
3
  import { MaterializedFolder, Command } from '@highstate/common';
4
4
  import { MaterializedRepository } from '@highstate/git';
5
5
  import { nixos } from '@highstate/library';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/inline-flake/index.ts"],"names":[],"mappings":";;;;;;;;AAOA,IAAM,EAAE,MAAM,IAAA,EAAM,MAAA,EAAQ,SAAQ,GAAI,OAAA,CAAQ,MAAM,WAAW,CAAA;AAEjE,IAAM,EAAE,OAAA,EAAQ,GAAI,MAAM,UAAU,MAAM,CAAA;AAE1C,IAAM,YAAY,MAAM,sBAAA,CAAuB,MAAA,CAAO,IAAA,CAAK,aAAa,IAAI,CAAA;AAE5E,IAAI,cAAA,GAAiB,IAAA,CAAK,IAAA,CAAK,OAAA,CAAQ,KAAK,CAAA;AAC5C,IAAI,mBAAmB,EAAA,EAAI;AACzB,EAAA,cAAA,GAAiB,IAAA,CAAK,IAAA,CAAK,OAAA,CAAQ,GAAG,CAAA;AACxC;AAEA,IAAI,mBAAmB,EAAA,EAAI;AACzB,EAAA,MAAM,IAAI,MAAM,iEAAiE,CAAA;AACnF;AAEA,IAAM,SAAA,GAAY,CAAC,IAAA,CAAK,IAAA,CAAK,KAAA,CAAM,CAAA,EAAG,cAAA,GAAiB,CAAC,CAAA,CAAE,IAAA,EAAK,EAAG,EAAE,CAAA;AAEpE,IAAM,QAAA,GAAW,OAAO,MAAA,KAA+B;AACrD,EAAA,IAAI;AACF,IAAA,MAAM,MAAA,CAAO,IAAA,CAAK,MAAA,CAAO,IAAA,EAAM,WAAW,CAAC,CAAA;AAC3C,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,KAAA;AAAA,EACT;AACF,CAAA;AAEA,KAAA,MAAW,WAAA,IAAe,OAAA,IAAW,EAAC,EAAG;AACvC,EAAA,MAAM,SAAS,MAAM,kBAAA,CAAmB,IAAA,CAAK,WAAA,EAAa,UAAU,MAAM,CAAA;AAE1E,EAAA,IAAI,MAAM,QAAA,CAAS,MAAM,CAAA,EAAG;AAC1B,IAAA,SAAA,CAAU,IAAA,CAAK,CAAA,OAAA,EAAU,WAAA,CAAY,IAAA,CAAK,IAAI,kBAAkB,MAAA,CAAO,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA,EAAA,CAAI,CAAA;AAAA,EAC7F;AACF;AAEA,SAAA,CAAU,IAAA,CAAK,EAAA,EAAI,IAAA,CAAK,IAAA,CAAK,KAAA,CAAM,iBAAiB,CAAC,CAAA,CAAE,IAAA,EAAK,EAAG,EAAE,CAAA;AAEjE,MAAM,SAAA,CAAU,KAAK,SAAA,CAAU,IAAA,EAAM,WAAW,CAAA,EAAG,SAAA,CAAU,IAAA,CAAK,IAAI,CAAC,CAAA;AAEvE,MAAM,IAAI,QAAQ,cAAA,EAAgB;AAAA,EAChC,IAAA,EAAM,OAAA;AAAA,EACN,MAAA,EAAQ,kBAAA;AAAA,EACR,KAAK,SAAA,CAAU;AACjB,CAAC,EAAE,IAAA,EAAK;AAER,IAAO,uBAAQ,OAAA,CAAQ;AAAA,EACrB,MAAA,EAAQ,UAAU,IAAA;AACpB,CAAC","file":"index.js","sourcesContent":["import { join } from \"node:path\"\nimport { writeFile, access } from \"node:fs/promises\"\nimport { Command, MaterializedFolder } from \"@highstate/common\"\nimport { MaterializedRepository } from \"@highstate/git\"\nimport { nixos } from \"@highstate/library\"\nimport { forUnit, toPromise } from \"@highstate/pulumi\"\n\nconst { name, args, inputs, outputs } = forUnit(nixos.inlineFlake)\n\nconst { folders } = await toPromise(inputs)\n\nconst flakeRepo = await MaterializedRepository.create(args.flakeName ?? name)\n\nlet firstOpenBrace = args.code.indexOf(\"{\\n\")\nif (firstOpenBrace === -1) {\n firstOpenBrace = args.code.indexOf(\"{\")\n}\n\nif (firstOpenBrace === -1) {\n throw new Error(\"The provided code does not contain a valid flake.nix structure.\")\n}\n\nconst codeParts = [args.code.slice(0, firstOpenBrace + 1).trim(), \"\"]\n\nconst hasFlake = async (folder: MaterializedFolder) => {\n try {\n await access(join(folder.path, \"flake.nix\"))\n return true\n } catch {\n return false\n }\n}\n\nfor (const inputFolder of folders ?? []) {\n const folder = await MaterializedFolder.open(inputFolder, flakeRepo.folder)\n\n if (await hasFlake(folder)) {\n codeParts.push(`inputs.${inputFolder.meta.name}.url = \"path:./${folder.entity.meta.name}\";`)\n }\n}\n\ncodeParts.push(\"\", args.code.slice(firstOpenBrace + 1).trim(), \"\")\n\nawait writeFile(join(flakeRepo.path, \"flake.nix\"), codeParts.join(\"\\n\"))\n\nawait new Command(\"update-flake\", {\n host: \"local\",\n create: \"nix flake update\",\n cwd: flakeRepo.path,\n}).wait()\n\nexport default outputs({\n folder: flakeRepo.pack(),\n})\n"]}
1
+ {"version":3,"sources":["../../src/inline-flake/index.ts"],"names":[],"mappings":";;;;;;;;AAOA,IAAM,EAAE,MAAM,IAAA,EAAM,MAAA,EAAQ,SAAQ,GAAI,OAAA,CAAQ,MAAM,WAAW,CAAA;AAEjE,IAAM,EAAE,OAAA,EAAQ,GAAI,MAAM,UAAU,MAAM,CAAA;AAE1C,IAAM,YAAY,MAAM,sBAAA,CAAuB,MAAA,CAAO,IAAA,CAAK,aAAa,IAAI,CAAA;AAE5E,IAAI,cAAA,GAAiB,IAAA,CAAK,IAAA,CAAK,OAAA,CAAQ,KAAK,CAAA;AAC5C,IAAI,mBAAmB,EAAA,EAAI;AACzB,EAAA,cAAA,GAAiB,IAAA,CAAK,IAAA,CAAK,OAAA,CAAQ,GAAG,CAAA;AACxC;AAEA,IAAI,mBAAmB,EAAA,EAAI;AACzB,EAAA,MAAM,IAAI,MAAM,iEAAiE,CAAA;AACnF;AAEA,IAAM,SAAA,GAAY,CAAC,IAAA,CAAK,IAAA,CAAK,KAAA,CAAM,CAAA,EAAG,cAAA,GAAiB,CAAC,CAAA,CAAE,IAAA,EAAK,EAAG,EAAE,CAAA;AAEpE,IAAM,QAAA,GAAW,OAAO,MAAA,KAA+B;AACrD,EAAA,IAAI;AACF,IAAA,MAAM,MAAA,CAAO,IAAA,CAAK,MAAA,CAAO,IAAA,EAAM,WAAW,CAAC,CAAA;AAC3C,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,KAAA;AAAA,EACT;AACF,CAAA;AAEA,KAAA,MAAW,WAAA,IAAe,OAAA,IAAW,EAAC,EAAG;AACvC,EAAA,MAAM,SAAS,MAAM,kBAAA,CAAmB,IAAA,CAAK,WAAA,EAAa,UAAU,MAAM,CAAA;AAE1E,EAAA,IAAI,MAAM,QAAA,CAAS,MAAM,CAAA,EAAG;AAC1B,IAAA,SAAA,CAAU,IAAA,CAAK,CAAA,OAAA,EAAU,WAAA,CAAY,IAAA,CAAK,IAAI,kBAAkB,MAAA,CAAO,MAAA,CAAO,IAAA,CAAK,IAAI,CAAA,EAAA,CAAI,CAAA;AAAA,EAC7F;AACF;AAEA,SAAA,CAAU,IAAA,CAAK,EAAA,EAAI,IAAA,CAAK,IAAA,CAAK,KAAA,CAAM,iBAAiB,CAAC,CAAA,CAAE,IAAA,EAAK,EAAG,EAAE,CAAA;AAEjE,MAAM,SAAA,CAAU,KAAK,SAAA,CAAU,IAAA,EAAM,WAAW,CAAA,EAAG,SAAA,CAAU,IAAA,CAAK,IAAI,CAAC,CAAA;AAEvE,MAAM,IAAI,QAAQ,cAAA,EAAgB;AAAA,EAChC,IAAA,EAAM,OAAA;AAAA,EACN,MAAA,EAAQ,kBAAA;AAAA,EACR,KAAK,SAAA,CAAU;AACjB,CAAC,EAAE,IAAA,EAAK;AAER,IAAO,uBAAQ,OAAA,CAAQ;AAAA,EACrB,MAAA,EAAQ,UAAU,IAAA;AACpB,CAAC","file":"index.js","sourcesContent":["import { access, writeFile } from \"node:fs/promises\"\nimport { join } from \"node:path\"\nimport { Command, MaterializedFolder } from \"@highstate/common\"\nimport { MaterializedRepository } from \"@highstate/git\"\nimport { nixos } from \"@highstate/library\"\nimport { forUnit, toPromise } from \"@highstate/pulumi\"\n\nconst { name, args, inputs, outputs } = forUnit(nixos.inlineFlake)\n\nconst { folders } = await toPromise(inputs)\n\nconst flakeRepo = await MaterializedRepository.create(args.flakeName ?? name)\n\nlet firstOpenBrace = args.code.indexOf(\"{\\n\")\nif (firstOpenBrace === -1) {\n firstOpenBrace = args.code.indexOf(\"{\")\n}\n\nif (firstOpenBrace === -1) {\n throw new Error(\"The provided code does not contain a valid flake.nix structure.\")\n}\n\nconst codeParts = [args.code.slice(0, firstOpenBrace + 1).trim(), \"\"]\n\nconst hasFlake = async (folder: MaterializedFolder) => {\n try {\n await access(join(folder.path, \"flake.nix\"))\n return true\n } catch {\n return false\n }\n}\n\nfor (const inputFolder of folders ?? []) {\n const folder = await MaterializedFolder.open(inputFolder, flakeRepo.folder)\n\n if (await hasFlake(folder)) {\n codeParts.push(`inputs.${inputFolder.meta.name}.url = \"path:./${folder.entity.meta.name}\";`)\n }\n}\n\ncodeParts.push(\"\", args.code.slice(firstOpenBrace + 1).trim(), \"\")\n\nawait writeFile(join(flakeRepo.path, \"flake.nix\"), codeParts.join(\"\\n\"))\n\nawait new Command(\"update-flake\", {\n host: \"local\",\n create: \"nix flake update\",\n cwd: flakeRepo.path,\n}).wait()\n\nexport default outputs({\n folder: flakeRepo.pack(),\n})\n"]}
@@ -1,7 +1,7 @@
1
1
  import { MaterializedFile, Command, l3EndpointToString, createSshTerminal } from '@highstate/common';
2
+ import { MaterializedRepository } from '@highstate/git';
2
3
  import { nixos } from '@highstate/library';
3
4
  import { forUnit, toPromise } from '@highstate/pulumi';
4
- import { MaterializedRepository } from '@highstate/git';
5
5
 
6
6
  // src/system/index.ts
7
7
  var { name, args, inputs, outputs } = forUnit(nixos.system);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/system/index.ts"],"names":[],"mappings":";;;;;;AAKA,IAAM,EAAE,MAAM,IAAA,EAAM,MAAA,EAAQ,SAAQ,GAAI,OAAA,CAAQ,MAAM,MAAM,CAAA;AAE5D,IAAM,EAAE,KAAA,EAAO,MAAA,EAAO,GAAI,MAAM,UAAU,MAAM,CAAA;AAEhD,IAAI,CAAC,OAAO,GAAA,EAAK;AACf,EAAA,MAAM,IAAI,MAAM,0CAA0C,CAAA;AAC5D;AAEA,IAAM,IAAA,GAAO,MAAM,sBAAA,CAAuB,IAAA,CAAK,KAAK,CAAA;AAEpD,IAAM,UAAA,GAAa,MAAM,gBAAA,CAAiB,MAAA;AAAA,EACxC,aAAA;AAAA,EACA,MAAA,CAAO,IAAI,OAAA,EAAS,UAAA;AAAA,EACpB;AACF,CAAA;AAEA,IAAM,MAAA,GAAS,IAAA,CAAK,MAAA,IAAU,MAAA,CAAO,QAAA;AAErC,MAAM,IAAI,QAAQ,IAAA,EAAM;AAAA,EACtB,IAAA,EAAM,OAAA;AAAA,EACN,MAAA,EAAQ;AAAA,IACN,gBAAA;AAAA,IACA,CAAA,QAAA,EAAW,IAAA,CAAK,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA;AAAA,IAC9B,CAAA,GAAA,EAAM,WAAW,IAAI,CAAA,CAAA;AAAA,IACrB,CAAA,cAAA,EAAiB,MAAA,CAAO,GAAA,CAAI,IAAI,CAAA,CAAA,EAAI,kBAAA,CAAmB,MAAA,CAAO,GAAA,CAAI,SAAA,CAAU,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,IAC/E,cAAc,MAAA,CAAO,GAAA,CAAI,SAAA,CAAU,CAAC,EAAE,IAAI,CAAA,CAAA;AAAA,IAC1C;AAAA;AAEJ,CAAC,EAAE,IAAA,EAAK;AAER,IAAO,iBAAQ,OAAA,CAAQ;AAAA,EACrB,QAAQ,MAAA,CAAO,MAAA;AAAA,EAEf,UAAA,EAAY,CAAC,iBAAA,CAAkB,MAAA,CAAO,GAAG,CAAC;AAC5C,CAAC","file":"index.js","sourcesContent":["import { Command, createSshTerminal, l3EndpointToString, MaterializedFile } from \"@highstate/common\"\nimport { nixos } from \"@highstate/library\"\nimport { forUnit, toPromise } from \"@highstate/pulumi\"\nimport { MaterializedRepository } from \"@highstate/git\"\n\nconst { name, args, inputs, outputs } = forUnit(nixos.system)\n\nconst { flake, server } = await toPromise(inputs)\n\nif (!server.ssh) {\n throw new Error(\"Server must have an SSH endpoint defined\")\n}\n\nconst repo = await MaterializedRepository.open(flake)\n\nconst privateKey = await MaterializedFile.create(\n \"private-key\",\n server.ssh.keyPair?.privateKey,\n 0o600,\n)\n\nconst system = args.system ?? server.hostname\n\nawait new Command(name, {\n host: \"local\",\n create: [\n \"nixos-anywhere\",\n `--flake ${repo.path}#${system}`,\n `-i ${privateKey.path}`,\n `--target-host ${server.ssh.user}@${l3EndpointToString(server.ssh.endpoints[0])}`,\n `--ssh-port ${server.ssh.endpoints[0].port}`,\n \"--copy-host-keys\",\n ],\n}).wait()\n\nexport default outputs({\n server: inputs.server,\n\n $terminals: [createSshTerminal(server.ssh)],\n})\n"]}
1
+ {"version":3,"sources":["../../src/system/index.ts"],"names":[],"mappings":";;;;;;AAKA,IAAM,EAAE,MAAM,IAAA,EAAM,MAAA,EAAQ,SAAQ,GAAI,OAAA,CAAQ,MAAM,MAAM,CAAA;AAE5D,IAAM,EAAE,KAAA,EAAO,MAAA,EAAO,GAAI,MAAM,UAAU,MAAM,CAAA;AAEhD,IAAI,CAAC,OAAO,GAAA,EAAK;AACf,EAAA,MAAM,IAAI,MAAM,0CAA0C,CAAA;AAC5D;AAEA,IAAM,IAAA,GAAO,MAAM,sBAAA,CAAuB,IAAA,CAAK,KAAK,CAAA;AAEpD,IAAM,UAAA,GAAa,MAAM,gBAAA,CAAiB,MAAA;AAAA,EACxC,aAAA;AAAA,EACA,MAAA,CAAO,IAAI,OAAA,EAAS,UAAA;AAAA,EACpB;AACF,CAAA;AAEA,IAAM,MAAA,GAAS,IAAA,CAAK,MAAA,IAAU,MAAA,CAAO,QAAA;AAErC,MAAM,IAAI,QAAQ,IAAA,EAAM;AAAA,EACtB,IAAA,EAAM,OAAA;AAAA,EACN,MAAA,EAAQ;AAAA,IACN,gBAAA;AAAA,IACA,CAAA,QAAA,EAAW,IAAA,CAAK,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA;AAAA,IAC9B,CAAA,GAAA,EAAM,WAAW,IAAI,CAAA,CAAA;AAAA,IACrB,CAAA,cAAA,EAAiB,MAAA,CAAO,GAAA,CAAI,IAAI,CAAA,CAAA,EAAI,kBAAA,CAAmB,MAAA,CAAO,GAAA,CAAI,SAAA,CAAU,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,IAC/E,cAAc,MAAA,CAAO,GAAA,CAAI,SAAA,CAAU,CAAC,EAAE,IAAI,CAAA,CAAA;AAAA,IAC1C;AAAA;AAEJ,CAAC,EAAE,IAAA,EAAK;AAER,IAAO,iBAAQ,OAAA,CAAQ;AAAA,EACrB,QAAQ,MAAA,CAAO,MAAA;AAAA,EAEf,UAAA,EAAY,CAAC,iBAAA,CAAkB,MAAA,CAAO,GAAG,CAAC;AAC5C,CAAC","file":"index.js","sourcesContent":["import { Command, createSshTerminal, l3EndpointToString, MaterializedFile } from \"@highstate/common\"\nimport { MaterializedRepository } from \"@highstate/git\"\nimport { nixos } from \"@highstate/library\"\nimport { forUnit, toPromise } from \"@highstate/pulumi\"\n\nconst { name, args, inputs, outputs } = forUnit(nixos.system)\n\nconst { flake, server } = await toPromise(inputs)\n\nif (!server.ssh) {\n throw new Error(\"Server must have an SSH endpoint defined\")\n}\n\nconst repo = await MaterializedRepository.open(flake)\n\nconst privateKey = await MaterializedFile.create(\n \"private-key\",\n server.ssh.keyPair?.privateKey,\n 0o600,\n)\n\nconst system = args.system ?? server.hostname\n\nawait new Command(name, {\n host: \"local\",\n create: [\n \"nixos-anywhere\",\n `--flake ${repo.path}#${system}`,\n `-i ${privateKey.path}`,\n `--target-host ${server.ssh.user}@${l3EndpointToString(server.ssh.endpoints[0])}`,\n `--ssh-port ${server.ssh.endpoints[0].port}`,\n \"--copy-host-keys\",\n ],\n}).wait()\n\nexport default outputs({\n server: inputs.server,\n\n $terminals: [createSshTerminal(server.ssh)],\n})\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@highstate/nixos",
3
- "version": "0.9.19",
3
+ "version": "0.9.21",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -14,20 +14,25 @@
14
14
  "access": "public"
15
15
  },
16
16
  "scripts": {
17
- "build": "highstate build"
17
+ "build": "highstate build",
18
+ "typecheck": "tsgo --noEmit --skipLibCheck",
19
+ "biome": "biome check --write --unsafe --error-on-warnings",
20
+ "biome:check": "biome check --error-on-warnings"
18
21
  },
19
22
  "dependencies": {
20
- "@highstate/common": "^0.9.19",
21
- "@highstate/contract": "^0.9.19",
22
- "@highstate/git": "^0.9.19",
23
- "@highstate/library": "^0.9.19",
24
- "@highstate/pulumi": "^0.9.19",
23
+ "@highstate/common": "^0.9.21",
24
+ "@highstate/contract": "^0.9.21",
25
+ "@highstate/git": "^0.9.21",
26
+ "@highstate/library": "^0.9.21",
27
+ "@highstate/pulumi": "^0.9.21",
25
28
  "@pulumi/kubernetes": "^4.18.0",
26
29
  "@pulumi/pulumi": "^3.184.0",
27
30
  "remeda": "^2.21.3"
28
31
  },
29
32
  "devDependencies": {
30
- "@highstate/cli": "^0.9.19"
33
+ "@biomejs/biome": "2.2.0",
34
+ "@highstate/cli": "^0.9.21",
35
+ "@typescript/native-preview": "^7.0.0-dev.20250920.1"
31
36
  },
32
- "gitHead": "e77d292335556c6e5b6275acda1a3d1609d786a1"
37
+ "gitHead": "390ff15c0e0076822a682f9d4e19260942a8d6c2"
33
38
  }