@highstate/nixos 0.9.16 → 0.9.18

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": 3898384711,
4
- "./dist/inline-module/index.js": 2783981422,
5
- "./dist/system/index.js": 2580625128
3
+ "./dist/inline-flake/index.js": 2895243567,
4
+ "./dist/inline-module/index.js": 3778897670,
5
+ "./dist/system/index.js": 372185590
6
6
  }
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/inline-flake/index.ts"],"names":[],"mappings":"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","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 { repositories, 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 inputRepo of repositories) {\n const repo = await MaterializedRepository.open(inputRepo, flakeRepo)\n\n if (await hasFlake(repo.folder)) {\n codeParts.push(\n `inputs.${inputRepo.folder.meta.name}.url = \"git+file:./${repo.entity.folder.meta.name}\";`,\n )\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 await flakeRepo.git.add(folder.entity.meta.name)\n}\n\ncodeParts.push(\"\", args.code.slice(firstOpenBrace + 1).trim(), \"\")\n\nawait writeFile(join(flakeRepo.path, \"flake.nix\"), codeParts.join(\"\\n\"))\nawait flakeRepo.git.add(\"flake.nix\")\n\nawait toPromise(\n new Command(\"update-flake\", {\n host: \"local\",\n create: \"nix flake update\",\n cwd: flakeRepo.path,\n }).stdout,\n)\n\nawait flakeRepo.git.add(\"flake.lock\")\nawait flakeRepo.git.commit(\"Update flake.nix\")\n\nexport default outputs({\n repository: await flakeRepo.pack(),\n})\n"]}
1
+ {"version":3,"sources":["../../src/inline-flake/index.ts"],"names":[],"mappings":"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","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 { repositories, 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 inputRepo of repositories) {\n const repo = await MaterializedRepository.open(inputRepo, flakeRepo)\n\n if (await hasFlake(repo.folder)) {\n codeParts.push(\n `inputs.${inputRepo.folder.meta.name}.url = \"git+file:./${repo.entity.folder.meta.name}\";`,\n )\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 await flakeRepo.git.add(folder.entity.meta.name)\n}\n\ncodeParts.push(\"\", args.code.slice(firstOpenBrace + 1).trim(), \"\")\n\nawait writeFile(join(flakeRepo.path, \"flake.nix\"), codeParts.join(\"\\n\"))\nawait flakeRepo.git.add(\"flake.nix\")\n\nawait toPromise(\n new Command(\"update-flake\", {\n host: \"local\",\n create: \"nix flake update\",\n cwd: flakeRepo.path,\n }).stdout,\n)\n\nawait flakeRepo.git.add(\"flake.lock\")\nawait flakeRepo.git.commit(\"Update flake.nix\")\n\nexport default outputs({\n repository: await flakeRepo.pack(),\n})\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/inline-module/index.ts"],"names":[],"mappings":";;;;AAGA,IAAM,EAAE,MAAM,IAAM,EAAA,MAAA,EAAQ,SAAY,GAAA,OAAA,CAAQ,MAAM,YAAY,CAAA;AAElE,IAAM,UAAA,GAAa,KAAK,UAAc,IAAA,IAAA;AACtC,IAAM,EAAE,KAAO,EAAA,OAAA,EAAY,GAAA,MAAM,UAAU,MAAM,CAAA;AAEjD,IAAO,wBAAQ,OAAQ,CAAA;AAAA,EACrB,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA;AAAA,KACR;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,UAAA;AAAA,MACN,KAAO,EAAA;AAAA,QACL,GAAG,KAAA;AAAA,QACH;AAAA,UACE,IAAM,EAAA;AAAA,YACJ,IAAM,EAAA;AAAA,WACR;AAAA,UACA,OAAS,EAAA;AAAA,YACP,IAAM,EAAA,UAAA;AAAA,YACN,OAAO,IAAK,CAAA;AAAA;AACd;AACF,OACF;AAAA,MACA;AAAA;AACF;AAEJ,CAAC","file":"index.js","sourcesContent":["import { nixos } from \"@highstate/library\"\nimport { forUnit, toPromise } from \"@highstate/pulumi\"\n\nconst { name, args, inputs, outputs } = forUnit(nixos.inlineModule)\n\nconst moduleName = args.moduleName ?? name\nconst { files, folders } = await toPromise(inputs)\n\nexport default outputs({\n folder: {\n meta: {\n name: moduleName,\n },\n content: {\n type: \"embedded\",\n files: [\n ...files,\n {\n meta: {\n name: \"default.nix\",\n },\n content: {\n type: \"embedded\",\n value: args.code,\n },\n },\n ],\n folders,\n },\n },\n})\n"]}
1
+ {"version":3,"sources":["../../src/inline-module/index.ts"],"names":[],"mappings":";;;;AAGA,IAAM,EAAE,MAAM,IAAA,EAAM,MAAA,EAAQ,SAAQ,GAAI,OAAA,CAAQ,MAAM,YAAY,CAAA;AAElE,IAAM,UAAA,GAAa,KAAK,UAAA,IAAc,IAAA;AACtC,IAAM,EAAE,KAAA,EAAO,OAAA,EAAQ,GAAI,MAAM,UAAU,MAAM,CAAA;AAEjD,IAAO,wBAAQ,OAAA,CAAQ;AAAA,EACrB,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM;AAAA,MACJ,IAAA,EAAM;AAAA,KACR;AAAA,IACA,OAAA,EAAS;AAAA,MACP,IAAA,EAAM,UAAA;AAAA,MACN,KAAA,EAAO;AAAA,QACL,GAAG,KAAA;AAAA,QACH;AAAA,UACE,IAAA,EAAM;AAAA,YACJ,IAAA,EAAM;AAAA,WACR;AAAA,UACA,OAAA,EAAS;AAAA,YACP,IAAA,EAAM,UAAA;AAAA,YACN,OAAO,IAAA,CAAK;AAAA;AACd;AACF,OACF;AAAA,MACA;AAAA;AACF;AAEJ,CAAC","file":"index.js","sourcesContent":["import { nixos } from \"@highstate/library\"\nimport { forUnit, toPromise } from \"@highstate/pulumi\"\n\nconst { name, args, inputs, outputs } = forUnit(nixos.inlineModule)\n\nconst moduleName = args.moduleName ?? name\nconst { files, folders } = await toPromise(inputs)\n\nexport default outputs({\n folder: {\n meta: {\n name: moduleName,\n },\n content: {\n type: \"embedded\",\n files: [\n ...files,\n {\n meta: {\n name: \"default.nix\",\n },\n content: {\n type: \"embedded\",\n value: args.code,\n },\n },\n ],\n folders,\n },\n },\n})\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/system/index.ts"],"names":[],"mappings":";;;;;;AAKA,IAAM,EAAE,MAAM,IAAM,EAAA,MAAA,EAAQ,SAAY,GAAA,OAAA,CAAQ,MAAM,MAAM,CAAA;AAE5D,IAAM,EAAE,UAAY,EAAA,MAAA,EAAW,GAAA,MAAM,UAAU,MAAM,CAAA;AAErD,IAAI,CAAC,OAAO,GAAK,EAAA;AACf,EAAM,MAAA,IAAI,MAAM,0CAA0C,CAAA;AAC5D;AAEA,IAAM,IAAO,GAAA,MAAM,sBAAuB,CAAA,IAAA,CAAK,UAAU,CAAA;AAEzD,IAAM,UAAA,GAAa,MAAM,gBAAiB,CAAA,MAAA;AAAA,EACxC,aAAA;AAAA,EACA,MAAA,CAAO,IAAI,OAAS,CAAA,UAAA;AAAA,EACpB;AACF,CAAA;AAEA,IAAM,MAAA,GAAS,IAAK,CAAA,MAAA,IAAU,MAAO,CAAA,QAAA;AAErC,MAAM,SAAA;AAAA,EACJ,IAAI,QAAQ,IAAM,EAAA;AAAA,IAChB,IAAM,EAAA,OAAA;AAAA,IACN,MAAQ,EAAA;AAAA,MACN,gBAAA;AAAA,MACA,CAAW,QAAA,EAAA,IAAA,CAAK,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA;AAAA,MAC9B,CAAA,GAAA,EAAM,WAAW,IAAI,CAAA,CAAA;AAAA,MACrB,CAAA,cAAA,EAAiB,MAAO,CAAA,GAAA,CAAI,IAAI,CAAA,CAAA,EAAI,kBAAmB,CAAA,MAAA,CAAO,GAAI,CAAA,SAAA,CAAU,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,MAC/E,cAAc,MAAO,CAAA,GAAA,CAAI,SAAU,CAAA,CAAC,EAAE,IAAI,CAAA,CAAA;AAAA,MAC1C;AAAA;AACF,GACD,CAAE,CAAA;AACL,CAAA;AAEA,IAAO,iBAAQ,OAAQ,CAAA;AAAA,EACrB,QAAQ,MAAO,CAAA,MAAA;AAAA,EAEf,UAAY,EAAA,CAAC,iBAAkB,CAAA,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 { repository, 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(repository)\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 toPromise(\n 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 }).stdout,\n)\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,UAAA,EAAY,MAAA,EAAO,GAAI,MAAM,UAAU,MAAM,CAAA;AAErD,IAAI,CAAC,OAAO,GAAA,EAAK;AACf,EAAA,MAAM,IAAI,MAAM,0CAA0C,CAAA;AAC5D;AAEA,IAAM,IAAA,GAAO,MAAM,sBAAA,CAAuB,IAAA,CAAK,UAAU,CAAA;AAEzD,IAAM,UAAA,GAAa,MAAM,gBAAA,CAAiB,MAAA;AAAA,EACxC,aAAA;AAAA,EACA,MAAA,CAAO,IAAI,OAAA,CAAS,UAAA;AAAA,EACpB;AACF,CAAA;AAEA,IAAM,MAAA,GAAS,IAAA,CAAK,MAAA,IAAU,MAAA,CAAO,QAAA;AAErC,MAAM,SAAA;AAAA,EACJ,IAAI,QAAQ,IAAA,EAAM;AAAA,IAChB,IAAA,EAAM,OAAA;AAAA,IACN,MAAA,EAAQ;AAAA,MACN,gBAAA;AAAA,MACA,CAAA,QAAA,EAAW,IAAA,CAAK,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA;AAAA,MAC9B,CAAA,GAAA,EAAM,WAAW,IAAI,CAAA,CAAA;AAAA,MACrB,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,MAC/E,cAAc,MAAA,CAAO,GAAA,CAAI,SAAA,CAAU,CAAC,EAAE,IAAI,CAAA,CAAA;AAAA,MAC1C;AAAA;AACF,GACD,CAAA,CAAE;AACL,CAAA;AAEA,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 { repository, 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(repository)\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 toPromise(\n 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 }).stdout,\n)\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.16",
3
+ "version": "0.9.18",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -17,17 +17,17 @@
17
17
  "build": "highstate build"
18
18
  },
19
19
  "dependencies": {
20
- "@highstate/common": "^0.9.16",
21
- "@highstate/contract": "^0.9.16",
22
- "@highstate/git": "^0.9.16",
23
- "@highstate/library": "^0.9.16",
24
- "@highstate/pulumi": "^0.9.16",
20
+ "@highstate/common": "^0.9.18",
21
+ "@highstate/contract": "^0.9.18",
22
+ "@highstate/git": "^0.9.18",
23
+ "@highstate/library": "^0.9.18",
24
+ "@highstate/pulumi": "^0.9.18",
25
25
  "@pulumi/kubernetes": "^4.18.0",
26
- "@pulumi/pulumi": "^3.181.0",
26
+ "@pulumi/pulumi": "^3.184.0",
27
27
  "remeda": "^2.21.3"
28
28
  },
29
29
  "devDependencies": {
30
- "@highstate/cli": "^0.9.16"
30
+ "@highstate/cli": "^0.9.18"
31
31
  },
32
- "gitHead": "458d6f1f9f6d4aec0ba75a2b2c4c01408cb9c8df"
32
+ "gitHead": "9ebcd7da56b00b8ca08bf52cc8438f527338cd64"
33
33
  }