Skip to content

Commit

Permalink
feat: c++ compatibility (#425)
Browse files Browse the repository at this point in the history
* feat: c++ 20 compatibility

* chore: warnings
  • Loading branch information
vishwa2710 authored Aug 4, 2024
1 parent 10cb83a commit 7160108
Show file tree
Hide file tree
Showing 16 changed files with 123 additions and 133 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,4 @@ __pycache__
.ipynb_checkpoints
.open-space-toolkit
share/OpenSpaceToolkit/*
scripts
24 changes: 12 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,19 +119,19 @@ ENDIF ()

IF (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")

IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13)

MESSAGE (FATAL_ERROR "GCC version must be at least 4.8")
MESSAGE (FATAL_ERROR "GCC version must be at least 13")

ENDIF ()

SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic -Wshadow -Wno-deprecated")

ENDIF ()

### C++ 17 support
### C++ 20 support

SET (CMAKE_CXX_STANDARD 17)
SET (CMAKE_CXX_STANDARD 20)
SET (CMAKE_CXX_STANDARD_REQUIRED ON)
SET (CMAKE_CXX_EXTENSIONS OFF)

Expand Down Expand Up @@ -274,39 +274,39 @@ ELSE ()
MESSAGE (SEND_ERROR "[NLopt] not found.")
ENDIF ()

### Open Space Toolkit ▸ Core [3.x.y]
### Open Space Toolkit ▸ Core [4.x.y]

FIND_PACKAGE ("OpenSpaceToolkitCore" "3" REQUIRED)
FIND_PACKAGE ("OpenSpaceToolkitCore" "4" REQUIRED)

IF (NOT OpenSpaceToolkitCore_FOUND)

MESSAGE (SEND_ERROR "[Open Space Toolkit ▸ Core] not found.")

ENDIF ()

### Open Space Toolkit ▸ I/O [3.x.y]
### Open Space Toolkit ▸ I/O [4.x.y]

FIND_PACKAGE ("OpenSpaceToolkitIO" "3" REQUIRED)
FIND_PACKAGE ("OpenSpaceToolkitIO" "4" REQUIRED)

IF (NOT OpenSpaceToolkitIO_FOUND)

MESSAGE (SEND_ERROR "[Open Space Toolkit ▸ I/O] not found.")

ENDIF ()

### Open Space Toolkit ▸ Mathematics [3.x.y]
### Open Space Toolkit ▸ Mathematics [4.x.y]

FIND_PACKAGE ("OpenSpaceToolkitMathematics" "3" REQUIRED)
FIND_PACKAGE ("OpenSpaceToolkitMathematics" "4" REQUIRED)

IF (NOT OpenSpaceToolkitMathematics_FOUND)

MESSAGE (SEND_ERROR "[Open Space Toolkit ▸ Mathematics] not found.")

ENDIF ()

### Open Space Toolkit ▸ Physics [7.x.y]
### Open Space Toolkit ▸ Physics [8.x.y]

FIND_PACKAGE ("OpenSpaceToolkitPhysics" "7" REQUIRED)
FIND_PACKAGE ("OpenSpaceToolkitPhysics" "8" REQUIRED)

IF (NOT OpenSpaceToolkitPhysics_FOUND)

Expand Down
9 changes: 4 additions & 5 deletions bindings/python/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Apache License 2.0

open-space-toolkit-core~=3.1
open-space-toolkit-io~=3.0
open-space-toolkit-mathematics~=3.1
open-space-toolkit-physics~=7.1
numpy~=2.0
open-space-toolkit-core~=4.0
open-space-toolkit-io~=4.0
open-space-toolkit-mathematics~=4.0
open-space-toolkit-physics~=8.0
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ inline void OpenSpaceToolkitAstrodynamicsPy_Trajectory_LocalOrbitalFrameFactory(
&LocalOrbitalFrameFactory::TNW,
arg("parent_frame"),
R"doc(
Get a Topocentric North-West-Up (TNW) local orbital frame factory.
Get a Tangent-Normal-Wideband (TNW) local orbital frame factory.
Args:
parent_frame (Frame): The parent frame.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ inline void OpenSpaceToolkitAstrodynamicsPy_Trajectory_LocalOrbitalFrameTransfor
.value("LVLHGD", LocalOrbitalFrameTransformProvider::Type::LVLHGD, "Local Vertical-Local Horizontal Geodetic")
.value("VVLH", LocalOrbitalFrameTransformProvider::Type::VVLH, "Vertical-Local Horizontal")
.value("QSW", LocalOrbitalFrameTransformProvider::Type::QSW, "Quasi-Satellite West")
.value("TNW", LocalOrbitalFrameTransformProvider::Type::TNW, "Topocentric North-West")
.value("VNC", LocalOrbitalFrameTransformProvider::Type::VNC, "Velocity-Normal-Co-normal")
.value("TNW", LocalOrbitalFrameTransformProvider::Type::TNW, "Tangent-Normal-Wideband")
.value("VNC", LocalOrbitalFrameTransformProvider::Type::VNC, "Velocity-Normal-Conormal")

;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ inline void OpenSpaceToolkitAstrodynamicsPy_Trajectory_Orbit(pybind11::module& a
.value("LVLHGDGT", Orbit::FrameType::LVLHGDGT, "Local Vertical-Local Horizontal GeoDetic Ground Track")
.value("VVLH", Orbit::FrameType::VVLH, "Vertical-Local Horizontal")
.value("QSW", Orbit::FrameType::QSW, "Quasi-Satellite West")
.value("TNW", Orbit::FrameType::TNW, "Topocentric North-West")
.value("VNC", Orbit::FrameType::VNC, "Velocity-Normal-Co-normal")
.value("TNW", Orbit::FrameType::TNW, "Tangent-Normal-Wideband")
.value("VNC", Orbit::FrameType::VNC, "Velocity-Normal-Conormal")

;

Expand Down
165 changes: 76 additions & 89 deletions docker/development/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,153 +13,140 @@ LABEL maintainer="lucas@loftorbital.com"
## Additional deps

RUN apt-get update \
&& apt-get install -y unzip jq git-lfs locales \
&& rm -rf /var/lib/apt/lists/*

## {fmt}

ARG FMT_VERSION="5.2.0"

RUN git clone --branch ${FMT_VERSION} --depth 1 https://github.com/fmtlib/fmt.git /tmp/fmt \
&& cd /tmp/fmt \
&& mkdir build \
&& cd build \
&& cmake -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE .. \
&& make --silent -j $(nproc) \
&& make install \
&& rm -rf /tmp/fmt
&& apt-get install -y unzip jq git-lfs locales \
&& rm -rf /var/lib/apt/lists/*

## ordered-map

ARG ORDERED_MAP_VERSION="0.6.0"

RUN git clone --branch v${ORDERED_MAP_VERSION} --depth 1 https://github.com/Tessil/ordered-map.git /tmp/ordered-map \
&& cd /tmp/ordered-map \
&& cp -r ./include/tsl /usr/local/include \
&& rm -rf /tmp/ordered-map
&& cd /tmp/ordered-map \
&& cp -r ./include/tsl /usr/local/include \
&& rm -rf /tmp/ordered-map

## Eigen

ARG EIGEN_VERSION="3.4.0"

RUN mkdir /tmp/eigen \
&& cd /tmp/eigen \
&& wget --quiet https://gitlab.com/libeigen/eigen/-/archive/${EIGEN_VERSION}/eigen-${EIGEN_VERSION}.tar.gz \
&& tar -xvf eigen-${EIGEN_VERSION}.tar.gz \
&& cd eigen-${EIGEN_VERSION} \
&& mkdir build \
&& cd build \
&& cmake .. \
&& make install \
&& rm -rf /tmp/eigen
&& cd /tmp/eigen \
&& wget --quiet https://gitlab.com/libeigen/eigen/-/archive/${EIGEN_VERSION}/eigen-${EIGEN_VERSION}.tar.gz \
&& tar -xvf eigen-${EIGEN_VERSION}.tar.gz \
&& cd eigen-${EIGEN_VERSION} \
&& mkdir build \
&& cd build \
&& cmake .. \
&& make install \
&& rm -rf /tmp/eigen

## SGP4

ARG SGP4_VERSION="6a448b4"

RUN git clone https://github.com/dnwrnr/sgp4.git /tmp/sgp4 \
&& cd /tmp/sgp4 \
&& git checkout ${SGP4_VERSION} \
&& mkdir build \
&& cd build \
&& cmake -DCMAKE_CXX_FLAGS="-fPIC" .. \
&& make -j $(nproc) \
&& mkdir /usr/local/include/sgp4 \
&& cp ../libsgp4/*.h /usr/local/include/sgp4/ \
&& cp libsgp4/*.a /usr/local/lib \
&& rm -rf /tmp/sgp4
&& cd /tmp/sgp4 \
&& git checkout ${SGP4_VERSION} \
&& mkdir build \
&& cd build \
&& cmake -DCMAKE_CXX_FLAGS="-fPIC" .. \
&& make -j $(nproc) \
&& mkdir /usr/local/include/sgp4 \
&& cp ../libsgp4/*.h /usr/local/include/sgp4/ \
&& cp libsgp4/*.a /usr/local/lib \
&& rm -rf /tmp/sgp4

## NLopt

ARG NLOPT_VERSION="2.5.0"

RUN git clone --branch v${NLOPT_VERSION} --depth 1 https://github.com/stevengj/nlopt.git /tmp/nlopt \
&& cd /tmp/nlopt \
&& mkdir build \
&& cd build \
&& cmake -DBUILD_SHARED_LIBS=OFF .. \
&& make \
&& make install \
&& rm -rf /tmp/nlopt
&& cd /tmp/nlopt \
&& mkdir build \
&& cd build \
&& cmake -DBUILD_SHARED_LIBS=OFF .. \
&& make \
&& make install \
&& rm -rf /tmp/nlopt

## benchmark

ARG BENCHMARK_VERSION="1.8.2"

RUN git clone --branch v${BENCHMARK_VERSION} https://github.com/google/benchmark.git /tmp/benchmark \
&& cd /tmp/benchmark \
&& cmake -E make_directory "build" \
&& cmake -E chdir "build" cmake -DBENCHMARK_DOWNLOAD_DEPENDENCIES=on -DCMAKE_BUILD_TYPE=Release ../ \
&& cmake --build "build" --config Release --target install \
&& rm -rf /tmp/benchmark
&& cd /tmp/benchmark \
&& cmake -E make_directory "build" \
&& cmake -E chdir "build" cmake -DBENCHMARK_DOWNLOAD_DEPENDENCIES=on -DCMAKE_BUILD_TYPE=Release ../ \
&& cmake --build "build" --config Release --target install \
&& rm -rf /tmp/benchmark

## Open Space Toolkit ▸ Core

ARG TARGETPLATFORM
ARG OSTK_CORE_MAJOR="3"
ARG OSTK_CORE_MAJOR="4"

## Force an image rebuild when new minor or Core patch versions are detected
ADD https://api.github.com/repos/open-space-collective/open-space-toolkit-core/git/matching-refs/tags/${OSTK_CORE_MAJOR} /tmp/open-space-toolkit-core/versions.json

RUN mkdir -p /tmp/open-space-toolkit-core \
&& cd /tmp/open-space-toolkit-core \
&& export LATEST_PATCH_OF_MINOR=$(jq -r .[-1].ref versions.json | cut -d "/" -f3) \
&& export PACKAGE_PLATFORM=$(if [ ${TARGETPLATFORM} = "linux/amd64" ]; then echo "x86_64"; elif [ ${TARGETPLATFORM} = "linux/arm64" ]; then echo "aarch64"; else echo "Unknown platform" && exit 1; fi;) \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-core/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-core-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-runtime.deb \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-core/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-core-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-devel.deb \
&& apt-get install -y ./*.deb \
&& rm -rf /tmp/open-space-toolkit-core
&& cd /tmp/open-space-toolkit-core \
&& export LATEST_PATCH_OF_MINOR=$(jq -r .[-1].ref versions.json | cut -d "/" -f3) \
&& export PACKAGE_PLATFORM=$(if [ ${TARGETPLATFORM} = "linux/amd64" ]; then echo "x86_64"; elif [ ${TARGETPLATFORM} = "linux/arm64" ]; then echo "aarch64"; else echo "Unknown platform" && exit 1; fi;) \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-core/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-core-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-runtime.deb \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-core/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-core-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-devel.deb \
&& apt-get install -y ./*.deb \
&& rm -rf /tmp/open-space-toolkit-core

## Open Space Toolkit ▸ I/O

ARG TARGETPLATFORM
ARG OSTK_IO_MAJOR="3"
ARG OSTK_IO_MAJOR="4"

## Force an image rebuild when new IO minor or patch versions are detected
ADD https://api.github.com/repos/open-space-collective/open-space-toolkit-io/git/matching-refs/tags/${OSTK_IO_MAJOR} /tmp/open-space-toolkit-io/versions.json

RUN mkdir -p /tmp/open-space-toolkit-io \
&& cd /tmp/open-space-toolkit-io \
&& export LATEST_PATCH_OF_MINOR=$(jq -r .[-1].ref versions.json | cut -d "/" -f3) \
&& export PACKAGE_PLATFORM=$(if [ ${TARGETPLATFORM} = "linux/amd64" ]; then echo "x86_64"; elif [ ${TARGETPLATFORM} = "linux/arm64" ]; then echo "aarch64"; else echo "Unknown platform" && exit 1; fi;) \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-io/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-io-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-runtime.deb \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-io/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-io-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-devel.deb \
&& apt-get install -y ./*.deb \
&& rm -rf /tmp/open-space-toolkit-io
&& cd /tmp/open-space-toolkit-io \
&& export LATEST_PATCH_OF_MINOR=$(jq -r .[-1].ref versions.json | cut -d "/" -f3) \
&& export PACKAGE_PLATFORM=$(if [ ${TARGETPLATFORM} = "linux/amd64" ]; then echo "x86_64"; elif [ ${TARGETPLATFORM} = "linux/arm64" ]; then echo "aarch64"; else echo "Unknown platform" && exit 1; fi;) \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-io/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-io-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-runtime.deb \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-io/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-io-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-devel.deb \
&& apt-get install -y ./*.deb \
&& rm -rf /tmp/open-space-toolkit-io

## Open Space Toolkit ▸ Mathematics

ARG TARGETPLATFORM
ARG OSTK_MATHEMATICS_MAJOR="3"
ARG OSTK_MATHEMATICS_MAJOR="4"

## Force an image rebuild when new Math minor or patch versions are detected
ADD https://api.github.com/repos/open-space-collective/open-space-toolkit-mathematics/git/matching-refs/tags/${OSTK_MATHEMATICS_MAJOR} /tmp/open-space-toolkit-mathematics/versions.json

RUN mkdir -p /tmp/open-space-toolkit-mathematics \
&& cd /tmp/open-space-toolkit-mathematics \
&& export LATEST_PATCH_OF_MINOR=$(jq -r .[-1].ref versions.json | cut -d "/" -f3) \
&& export PACKAGE_PLATFORM=$(if [ ${TARGETPLATFORM} = "linux/amd64" ]; then echo "x86_64"; elif [ ${TARGETPLATFORM} = "linux/arm64" ]; then echo "aarch64"; else echo "Unknown platform" && exit 1; fi;) \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-mathematics/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-mathematics-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-runtime.deb \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-mathematics/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-mathematics-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-devel.deb \
&& apt-get install -y ./*.deb \
&& rm -rf /tmp/open-space-toolkit-mathematics
&& cd /tmp/open-space-toolkit-mathematics \
&& export LATEST_PATCH_OF_MINOR=$(jq -r .[-1].ref versions.json | cut -d "/" -f3) \
&& export PACKAGE_PLATFORM=$(if [ ${TARGETPLATFORM} = "linux/amd64" ]; then echo "x86_64"; elif [ ${TARGETPLATFORM} = "linux/arm64" ]; then echo "aarch64"; else echo "Unknown platform" && exit 1; fi;) \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-mathematics/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-mathematics-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-runtime.deb \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-mathematics/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-mathematics-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-devel.deb \
&& apt-get install -y ./*.deb \
&& rm -rf /tmp/open-space-toolkit-mathematics

## Open Space Toolkit ▸ Physics

ARG TARGETPLATFORM
ARG OSTK_PHYSICS_MAJOR="7"
ARG OSTK_PHYSICS_MAJOR="8"

## Force an image rebuild when new Physics minor or patch versions are detected
ADD https://api.github.com/repos/open-space-collective/open-space-toolkit-physics/git/matching-refs/tags/${OSTK_PHYSICS_MAJOR} /tmp/open-space-toolkit-physics/versions.json

RUN mkdir -p /tmp/open-space-toolkit-physics \
&& cd /tmp/open-space-toolkit-physics \
&& export LATEST_PATCH_OF_MINOR=$(jq -r .[-1].ref versions.json | cut -d "/" -f3) \
&& export PACKAGE_PLATFORM=$(if [ ${TARGETPLATFORM} = "linux/amd64" ]; then echo "x86_64"; elif [ ${TARGETPLATFORM} = "linux/arm64" ]; then echo "aarch64"; else echo "Unknown platform" && exit 1; fi;) \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-physics/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-physics-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-runtime.deb \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-physics/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-physics-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-devel.deb \
&& apt-get install -y ./*.deb \
&& rm -rf /tmp/open-space-toolkit-physics
&& cd /tmp/open-space-toolkit-physics \
&& export LATEST_PATCH_OF_MINOR=$(jq -r .[-1].ref versions.json | cut -d "/" -f3) \
&& export PACKAGE_PLATFORM=$(if [ ${TARGETPLATFORM} = "linux/amd64" ]; then echo "x86_64"; elif [ ${TARGETPLATFORM} = "linux/arm64" ]; then echo "aarch64"; else echo "Unknown platform" && exit 1; fi;) \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-physics/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-physics-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-runtime.deb \
&& wget --quiet https://github.com/open-space-collective/open-space-toolkit-physics/releases/download/${LATEST_PATCH_OF_MINOR}/open-space-toolkit-physics-${LATEST_PATCH_OF_MINOR}-1.${PACKAGE_PLATFORM}-devel.deb \
&& apt-get install -y ./*.deb \
&& rm -rf /tmp/open-space-toolkit-physics

# Install OSTk data

Expand Down Expand Up @@ -187,17 +174,17 @@ FROM root-user as non-root-user
# Install dev utilities

RUN apt-get update \
&& apt-get install -y zsh sudo \
&& rm -rf /var/lib/apt/lists/*
&& apt-get install -y zsh sudo \
&& rm -rf /var/lib/apt/lists/*

# Create non-root user and group

ARG USERNAME="developer"
ARG USER_UID="1000"
ARG USER_GID=${USER_UID}
RUN groupadd --gid ${USER_GID} ${USERNAME} || true \
&& adduser --uid ${USER_UID} --gid ${USER_GID} ${USERNAME} \
&& echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/${USERNAME}
&& adduser --uid ${USER_UID} --gid ${USER_GID} ${USERNAME} \
&& echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/${USERNAME}

# Change ownership of OSTK_DATA_LOCAL_CACHE

Expand All @@ -210,10 +197,10 @@ USER ${USERNAME}
# Install shell utilities

RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" \
&& git clone https://github.com/bhilburn/powerlevel9k.git /home/${USERNAME}/.oh-my-zsh/custom/themes/powerlevel9k \
&& git clone https://github.com/zsh-users/zsh-autosuggestions /home/${USERNAME}/.oh-my-zsh/custom/plugins/zsh-autosuggestions \
&& git clone https://github.com/zsh-users/zsh-syntax-highlighting.git /home/${USERNAME}/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting \
&& mkdir -p /home/${USERNAME}/.vscode-server/extensions /home/${USERNAME}/.vscode-server-insiders/extensions
&& git clone https://github.com/bhilburn/powerlevel9k.git /home/${USERNAME}/.oh-my-zsh/custom/themes/powerlevel9k \
&& git clone https://github.com/zsh-users/zsh-autosuggestions /home/${USERNAME}/.oh-my-zsh/custom/plugins/zsh-autosuggestions \
&& git clone https://github.com/zsh-users/zsh-syntax-highlighting.git /home/${USERNAME}/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting \
&& mkdir -p /home/${USERNAME}/.vscode-server/extensions /home/${USERNAME}/.vscode-server-insiders/extensions

## Configure environment

Expand Down
Loading

0 comments on commit 7160108

Please sign in to comment.