diff --git a/construct.yaml b/construct.yaml index 264cf55a90..33047dd1ed 100644 --- a/construct.yaml +++ b/construct.yaml @@ -33,6 +33,7 @@ specs: - pymeep # [unix] - jax # [unix] - jaxlib # [unix] + - menuinst # [win] post_install: install.sh # [linux] post_install: install.bat # [win] diff --git a/install.bat b/install.bat index a11f6430ea..f89a1f6a53 100644 --- a/install.bat +++ b/install.bat @@ -4,10 +4,16 @@ pip install lytest simphony sax jax sklearn klayout devsim pip install "jaxlib[cuda111]" -f https://whls.blob.core.windows.net/unstable/index.html --use-deprecated legacy-resolver pip install gdsfactory==5.53.0 gf tool install +cd .. +set GF_PATH=%cd% if exist "%USERPROFILE%\Desktop\gdsfactory" (goto SKIP_INSTALL) cd %USERPROFILE%\Desktop git clone https://github.com/gdsfactory/gdsfactory.git +cd gdsfactory +copy C:\Users\12269\Documents\GitHub\gdsfactory_SC\shortcuts.py . +%GF_PATH%\python shortcuts.py %GF_PATH% + :SKIP_INSTALL echo gdsfactory installed diff --git a/shortcuts.py b/shortcuts.py new file mode 100644 index 0000000000..40743c738c --- /dev/null +++ b/shortcuts.py @@ -0,0 +1,73 @@ +import json +import sys + +import menuinst + + +spyder_settings = """ +{ + "menu_name": "gdsfactory Spyder", + "menu_items": + [ + { + "script": "${PREFIX}/Scripts/spyder.exe", + "scriptarguments": [], + "name": "gdsfactory Spyder", + "workdir": "${PREFIX}", + "icon": "${MENU_DIR}/spyder.ico", + "desktop": true, + "quicklaunch": true + } + ] +} +""" + + +jupyter_lab_settings = """ +{ + "menu_name": "gdsfactory JupyterLab", + "menu_items": + [ + { + "script": "${PREFIX}/Scripts/jupyter-lab.exe", + "scriptarguments": [], + "name": "gdsfactory JupyterLab", + "workdir": "${PREFIX}", + "icon": "${PREFIX}/Lib/site-packages/nbclassic/static/base/images/favicon.ico", + "desktop": true, + "quicklaunch": true + } + ] +} +""" + + +anaconda_navigator_settings = """ +{ + "menu_name": "gdsfactory Anaconda Navigator", + "menu_items": + [ + { + "script": "${PREFIX}/Scripts/anaconda-navigator.exe", + "scriptarguments": [], + "name": "gdsfactory Anaconda Navigator", + "workdir": "${PREFIX}", + "icon": "${MENU_DIR}/anaconda-navigator.ico", + "desktop": true, + "quicklaunch": true + } + ] +} +""" + + +def shortcuts(settings: str): + with open(f"{sys.argv[1]}/settings.json", "w") as f: + json.dump(json.loads(settings), f) + menuinst.install(f"{sys.argv[1]}/settings.json", prefix=f"{sys.argv[1]}") + + +if __name__ == "__main__": + icons = [spyder_settings, jupyter_lab_settings, anaconda_navigator_settings] + for icon in icons: + shortcuts(icon)