From b3cf6f877b58b1a1abd933d97fa130692292d72b Mon Sep 17 00:00:00 2001 From: Yuto Nishida Date: Sun, 10 Aug 2025 17:46:20 -0700 Subject: [PATCH] Lift jupiter to root --- experimental/jupiter-legacy/flake.nix | 87 ------------------- .../build-dns-config}/flake.lock | 0 flake-profiles/build-dns-config/flake.nix | 20 +++++ flake-profiles/outputs.nix | 33 ++++--- .../jupiter-legacy => jupiter}/Pulumi.yaml | 0 .../jupiter-legacy => jupiter}/__main__.py | 0 .../app/pyproject.toml | 0 .../app/src/build_dns_config.py | 0 .../app/src/share.py | 8 +- .../generated-nixie.json | 0 .../generated-serverref.json | 0 .../octodns-config-build/production.yaml | 0 .../octodns-config-build/yart.me.yaml | 0 .../octodns-config-build/yut.to.yaml | 0 .../octodns-config-build/yuto.ink.yaml | 0 .../octodns-config-build/yuto.sh.yaml | 0 .../octodns-config-build/yuto.tel.yaml | 0 .../octodns-config-build/yuto.wiki.yaml | 0 .../octodns-config-template/production.yaml | 0 .../octodns-config-template/yart.me.yaml | 0 .../octodns-config-template/yut.to.yaml | 0 .../octodns-config-template/yuto.ink.yaml | 0 .../octodns-config-template/yuto.sh.yaml | 0 .../octodns-config-template/yuto.tel.yaml | 0 .../octodns-config-template/yuto.wiki.yaml | 0 .../jupiter-legacy => jupiter}/readme.md | 0 .../requirements-freeze.txt | 0 .../requirements.txt | 0 28 files changed, 45 insertions(+), 103 deletions(-) delete mode 100644 experimental/jupiter-legacy/flake.nix rename {experimental/jupiter-legacy => flake-profiles/build-dns-config}/flake.lock (100%) create mode 100644 flake-profiles/build-dns-config/flake.nix rename {experimental/jupiter-legacy => jupiter}/Pulumi.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/__main__.py (100%) rename {experimental/jupiter-legacy => jupiter}/app/pyproject.toml (100%) rename {experimental/jupiter-legacy => jupiter}/app/src/build_dns_config.py (100%) rename {experimental/jupiter-legacy => jupiter}/app/src/share.py (62%) rename {experimental/jupiter-legacy => jupiter}/generated-nixie.json (100%) rename {experimental/jupiter-legacy => jupiter}/generated-serverref.json (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-build/production.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-build/yart.me.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-build/yut.to.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-build/yuto.ink.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-build/yuto.sh.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-build/yuto.tel.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-build/yuto.wiki.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-template/production.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-template/yart.me.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-template/yut.to.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-template/yuto.ink.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-template/yuto.sh.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-template/yuto.tel.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/octodns-config-template/yuto.wiki.yaml (100%) rename {experimental/jupiter-legacy => jupiter}/readme.md (100%) rename {experimental/jupiter-legacy => jupiter}/requirements-freeze.txt (100%) rename {experimental/jupiter-legacy => jupiter}/requirements.txt (100%) diff --git a/experimental/jupiter-legacy/flake.nix b/experimental/jupiter-legacy/flake.nix deleted file mode 100644 index 6df9864..0000000 --- a/experimental/jupiter-legacy/flake.nix +++ /dev/null @@ -1,87 +0,0 @@ -{ - inputs = { - systems.url = "github:nix-systems/default"; - nixpkgs.url = "github:cachix/devenv-nixpkgs/rolling"; - devenv = { - url = "github:cachix/devenv"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - pyproject-nix = { - url = "github:pyproject-nix/pyproject.nix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - }; - nixConfig = { - extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="; - extra-substituters = "https://devenv.cachix.org"; - }; - outputs = { self, nixpkgs, devenv, systems, pyproject-nix } @ inputs: - let - forEachSystem = nixpkgs.lib.genAttrs (import systems); - build-dns-config-pyproject = pyproject-nix.lib.project.loadPyproject { - projectRoot = ./app; - }; - getPythonPkg = pkgs: pkgs.python312; - metadata = builtins.fromTOML (builtins.readFile ./app/pyproject.toml); - in { - packages = forEachSystem (system: let - pkgs = import nixpkgs { - inherit system; - config.allowUnfree = true; - }; - in - { - devenv-up = self.devShells.${system}.default.config.procfileScript; - devenv-test = self.devShells.${system}.default.config.test; - ${metadata.project.name} = let - python = getPythonPkg pkgs; - attrs = build-dns-config-pyproject.renderers.buildPythonPackage { - inherit python; - }; - in - python.pkgs.buildPythonPackage (attrs); - }); - - devShells = forEachSystem - (system: - let - pkgs = import nixpkgs { - inherit system; - config.allowUnfree = true; - }; - in - { - using-devenv = devenv.lib.mkShell { - inherit inputs pkgs; - modules = [ - { - packages = [ - pkgs.hello - ]; - enterShell = '' - hello - ''; - - languages.python = { - enable = true; - package = getPythonPkg pkgs; - venv = { - enable = true; - #requirements = ./requirements.txt; - requirements = ./requirements-freeze.txt; - }; - }; - } - ]; - }; - setup-venv = pkgs.mkShell { - buildInputs = [ - (getPythonPkg pkgs) - ]; - }; - default = self.devShells.${system}.using-devenv; - } - ); - }; -} \ No newline at end of file diff --git a/experimental/jupiter-legacy/flake.lock b/flake-profiles/build-dns-config/flake.lock similarity index 100% rename from experimental/jupiter-legacy/flake.lock rename to flake-profiles/build-dns-config/flake.lock diff --git a/flake-profiles/build-dns-config/flake.nix b/flake-profiles/build-dns-config/flake.nix new file mode 100644 index 0000000..eef9b20 --- /dev/null +++ b/flake-profiles/build-dns-config/flake.nix @@ -0,0 +1,20 @@ +{ + inputs = { + systems.url = "github:nix-systems/default"; + nixpkgs.url = "github:cachix/devenv-nixpkgs/rolling"; + devenv = { + url = "github:cachix/devenv"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + pyproject-nix = { + url = "github:pyproject-nix/pyproject.nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + nixConfig = { + extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="; + extra-substituters = "https://devenv.cachix.org"; + }; + outputs = inputs: (import ../outputs.nix) inputs; +} \ No newline at end of file diff --git a/flake-profiles/outputs.nix b/flake-profiles/outputs.nix index b56e8b6..8fec27f 100644 --- a/flake-profiles/outputs.nix +++ b/flake-profiles/outputs.nix @@ -11,12 +11,14 @@ in recursiveUpdateAll [ { # Jupiter + # TODO: split up Jupiter into 2 projects: pulumi and build-dns-config devShells = forEachSystem (system: let pkgs = inputs.nixpkgs.legacyPackages.${system}; getPython = pkgs: pkgs.python312; in { + # `nix develop flake-profiles/everything-devenv#jupiter` jupiter = inputs.devenv.lib.mkShell { inherit inputs pkgs; modules = [ @@ -42,18 +44,25 @@ recursiveUpdateAll [ ]; }; }); - #packages = forEachSystem (system: let - # pkgs = inputs.nixpkgs.legacyPackages.${system}; - # # TODO: forEachSystem should be around the entire Jupiter section of the outputs - # getPython = pkgs: pkgs.python312; - # metadata = builtins.fromTOML (builtins.readFile ./../jupiter/app/pyproject.toml); - #in - #{ - # ${metadata.project.name} = let - # python = getPython pkgs; - # in - # python.pkgs.buildPythonPackage (attrs); - #}); + packages = forEachSystem (system: let + # TODO: forEachSystem should be around the entire Jupiter section of the outputs + pkgs = inputs.nixpkgs.legacyPackages.${system}; + getPython = pkgs: pkgs.python312; + build-dns-config-pyproject = inputs.pyproject-nix.lib.project.loadPyproject { + projectRoot = ./../jupiter/app; + }; + metadata = builtins.fromTOML (builtins.readFile ./../jupiter/app/pyproject.toml); + in + { + # `nix run flake-profiles/build-dns-config#build-dns-config` + ${metadata.project.name} = let + python = getPython pkgs; + attrs = build-dns-config-pyproject.renderers.buildPythonPackage { + inherit python; + }; + in + python.pkgs.buildPythonPackage (attrs); + }); } { # Main diff --git a/experimental/jupiter-legacy/Pulumi.yaml b/jupiter/Pulumi.yaml similarity index 100% rename from experimental/jupiter-legacy/Pulumi.yaml rename to jupiter/Pulumi.yaml diff --git a/experimental/jupiter-legacy/__main__.py b/jupiter/__main__.py similarity index 100% rename from experimental/jupiter-legacy/__main__.py rename to jupiter/__main__.py diff --git a/experimental/jupiter-legacy/app/pyproject.toml b/jupiter/app/pyproject.toml similarity index 100% rename from experimental/jupiter-legacy/app/pyproject.toml rename to jupiter/app/pyproject.toml diff --git a/experimental/jupiter-legacy/app/src/build_dns_config.py b/jupiter/app/src/build_dns_config.py similarity index 100% rename from experimental/jupiter-legacy/app/src/build_dns_config.py rename to jupiter/app/src/build_dns_config.py diff --git a/experimental/jupiter-legacy/app/src/share.py b/jupiter/app/src/share.py similarity index 62% rename from experimental/jupiter-legacy/app/src/share.py rename to jupiter/app/src/share.py index b074194..e550a38 100644 --- a/experimental/jupiter-legacy/app/src/share.py +++ b/jupiter/app/src/share.py @@ -23,7 +23,7 @@ def _get_cwd(): # Deprecate generated_json_path #generated_json_path = _get_cwd().joinpath('generated.json') -generated_nixie_path = _get_cwd().joinpath('generated-nixie.json') -generated_serverref_path = _get_cwd().joinpath('generated-serverref.json') -octodns_config_template_path = _get_cwd().joinpath('octodns-config-template') -octodns_config_build_path = _get_cwd().joinpath('octodns-config-build') \ No newline at end of file +generated_nixie_path = _get_cwd().joinpath('jupiter/generated-nixie.json') +generated_serverref_path = _get_cwd().joinpath('jupiter/generated-serverref.json') +octodns_config_template_path = _get_cwd().joinpath('jupiter/octodns-config-template') +octodns_config_build_path = _get_cwd().joinpath('jupiter/octodns-config-build') \ No newline at end of file diff --git a/experimental/jupiter-legacy/generated-nixie.json b/jupiter/generated-nixie.json similarity index 100% rename from experimental/jupiter-legacy/generated-nixie.json rename to jupiter/generated-nixie.json diff --git a/experimental/jupiter-legacy/generated-serverref.json b/jupiter/generated-serverref.json similarity index 100% rename from experimental/jupiter-legacy/generated-serverref.json rename to jupiter/generated-serverref.json diff --git a/experimental/jupiter-legacy/octodns-config-build/production.yaml b/jupiter/octodns-config-build/production.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-build/production.yaml rename to jupiter/octodns-config-build/production.yaml diff --git a/experimental/jupiter-legacy/octodns-config-build/yart.me.yaml b/jupiter/octodns-config-build/yart.me.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-build/yart.me.yaml rename to jupiter/octodns-config-build/yart.me.yaml diff --git a/experimental/jupiter-legacy/octodns-config-build/yut.to.yaml b/jupiter/octodns-config-build/yut.to.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-build/yut.to.yaml rename to jupiter/octodns-config-build/yut.to.yaml diff --git a/experimental/jupiter-legacy/octodns-config-build/yuto.ink.yaml b/jupiter/octodns-config-build/yuto.ink.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-build/yuto.ink.yaml rename to jupiter/octodns-config-build/yuto.ink.yaml diff --git a/experimental/jupiter-legacy/octodns-config-build/yuto.sh.yaml b/jupiter/octodns-config-build/yuto.sh.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-build/yuto.sh.yaml rename to jupiter/octodns-config-build/yuto.sh.yaml diff --git a/experimental/jupiter-legacy/octodns-config-build/yuto.tel.yaml b/jupiter/octodns-config-build/yuto.tel.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-build/yuto.tel.yaml rename to jupiter/octodns-config-build/yuto.tel.yaml diff --git a/experimental/jupiter-legacy/octodns-config-build/yuto.wiki.yaml b/jupiter/octodns-config-build/yuto.wiki.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-build/yuto.wiki.yaml rename to jupiter/octodns-config-build/yuto.wiki.yaml diff --git a/experimental/jupiter-legacy/octodns-config-template/production.yaml b/jupiter/octodns-config-template/production.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-template/production.yaml rename to jupiter/octodns-config-template/production.yaml diff --git a/experimental/jupiter-legacy/octodns-config-template/yart.me.yaml b/jupiter/octodns-config-template/yart.me.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-template/yart.me.yaml rename to jupiter/octodns-config-template/yart.me.yaml diff --git a/experimental/jupiter-legacy/octodns-config-template/yut.to.yaml b/jupiter/octodns-config-template/yut.to.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-template/yut.to.yaml rename to jupiter/octodns-config-template/yut.to.yaml diff --git a/experimental/jupiter-legacy/octodns-config-template/yuto.ink.yaml b/jupiter/octodns-config-template/yuto.ink.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-template/yuto.ink.yaml rename to jupiter/octodns-config-template/yuto.ink.yaml diff --git a/experimental/jupiter-legacy/octodns-config-template/yuto.sh.yaml b/jupiter/octodns-config-template/yuto.sh.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-template/yuto.sh.yaml rename to jupiter/octodns-config-template/yuto.sh.yaml diff --git a/experimental/jupiter-legacy/octodns-config-template/yuto.tel.yaml b/jupiter/octodns-config-template/yuto.tel.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-template/yuto.tel.yaml rename to jupiter/octodns-config-template/yuto.tel.yaml diff --git a/experimental/jupiter-legacy/octodns-config-template/yuto.wiki.yaml b/jupiter/octodns-config-template/yuto.wiki.yaml similarity index 100% rename from experimental/jupiter-legacy/octodns-config-template/yuto.wiki.yaml rename to jupiter/octodns-config-template/yuto.wiki.yaml diff --git a/experimental/jupiter-legacy/readme.md b/jupiter/readme.md similarity index 100% rename from experimental/jupiter-legacy/readme.md rename to jupiter/readme.md diff --git a/experimental/jupiter-legacy/requirements-freeze.txt b/jupiter/requirements-freeze.txt similarity index 100% rename from experimental/jupiter-legacy/requirements-freeze.txt rename to jupiter/requirements-freeze.txt diff --git a/experimental/jupiter-legacy/requirements.txt b/jupiter/requirements.txt similarity index 100% rename from experimental/jupiter-legacy/requirements.txt rename to jupiter/requirements.txt -- 2.51.2