unset shellHook PATH=${PATH:-} nix_saved_PATH="$PATH" XDG_DATA_DIRS=${XDG_DATA_DIRS:-} nix_saved_XDG_DATA_DIRS="$XDG_DATA_DIRS" BASH='/noshell' HOSTTYPE='x86_64' IFS=' ' IN_NIX_SHELL='impure' export IN_NIX_SHELL LINENO='76' MACHTYPE='x86_64-pc-linux-gnu' NIX_BUILD_CORES='0' export NIX_BUILD_CORES NIX_STORE='/nix/store' export NIX_STORE OLDPWD='' export OLDPWD OPTERR='1' OSTYPE='linux-gnu' PATH='/path-not-set' export PATH PS4='+ ' builder='/nix/store/kxkdrxvc3da2dpsgikn8s2ml97h88m46-bash-interactive-5.2-p15/bin/bash' export builder dontAddDisableDepTrack='1' export dontAddDisableDepTrack name='devenv-shell' export name out='/home/vs/workspaces/oss/go-libs/xflags/outputs/out' export out outputs='out' shellHook=' # Remove all the unnecessary noise that is set by the build env unset NIX_BUILD_TOP NIX_BUILD_CORES NIX_STORE unset TEMP TEMPDIR TMP TMPDIR # $name variable is preserved to keep it compatible with pure shell https://github.com/sindresorhus/pure/blob/47c0c881f0e7cfdb5eaccd335f52ad17b897c060/pure.zsh#L235 unset builder out shellHook stdenv system # Flakes stuff unset dontAddDisableDepTrack outputs # For `nix develop`. We get /noshell on Linux and /sbin/nologin on macOS. if [[ "$SHELL" == "/noshell" || "$SHELL" == "/sbin/nologin" ]]; then export SHELL=/nix/store/kxkdrxvc3da2dpsgikn8s2ml97h88m46-bash-interactive-5.2-p15/bin/bash fi # https://github.com/numtide/devshell/issues/158 PATH=${PATH#/path-not-set:} export DEVENV_PROFILE=/nix/store/ishxkjwm6m1nq2dzailw41xw5rczf6hi-devenv-profile # add installed packages to PATH export PATH="$DEVENV_PROFILE/bin:$PATH" # prepend common compilation lookup paths export PKG_CONFIG_PATH="$DEVENV_PROFILE/lib/pkgconfig:${PKG_CONFIG_PATH-}" export LD_LIBRARY_PATH="$DEVENV_PROFILE/lib:${LD_LIBRARY_PATH-}" export LIBRARY_PATH="$DEVENV_PROFILE/lib:${LIBRARY_PATH-}" export C_INCLUDE_PATH="$DEVENV_PROFILE/include:${C_INCLUDE_PATH-}" # these provide shell completions / default config options export XDG_DATA_DIRS="$DEVENV_PROFILE/share:${XDG_DATA_DIRS-}" export XDG_CONFIG_DIRS="$DEVENV_PROFILE/etc/xdg:${XDG_CONFIG_DIRS-}" export DEVENV_DOTFILE='\''/home/vs/workspaces/oss/go-libs/xflags/.devenv'\'' export DEVENV_PROFILE='\''/nix/store/ishxkjwm6m1nq2dzailw41xw5rczf6hi-devenv-profile'\'' export DEVENV_ROOT='\''/home/vs/workspaces/oss/go-libs/xflags'\'' export DEVENV_STATE='\''/home/vs/workspaces/oss/go-libs/xflags/.devenv/state'\'' export GIT_EXTERNAL_DIFF='\''difft'\'' export GOPATH='\''/home/vs/workspaces/oss/go-libs/xflags/.devenv/state/go'\'' export GOROOT='\''/nix/store/m3mi5km1zdmaqdb33byirlixigzh3f4l-go-1.20.7/share/go/'\'' export PATH=$GOPATH/bin:$PATH cat <<'\''EOF'\'' > Taskfile.yml # THIS FILE IS AUTOGENERATED BY THE DEVENVSHELL # DO NOT EDIT THIS FILE MANUALLY # INSTEAD EDIT THE DEVENVSHELL CONFIGURATION FILE devenv.nix # AND OPEN A SHELL WITH THE COMMAND devenv shell # # Information about the task runner can be found here: # https://taskfile.dev version: '\''3'\'' tasks: default: cmds: - task --list silent: true test: desc: Execute unit tests in Go. cmds: - echo "Execute unit tests in Go." - go test -cover -v ./... - go test -bench . - go test -race . test-fuzz: desc: Conduct fuzzing tests.# cmds: - echo "Conduct fuzzing tests." - go test -v -fuzztime=30s -fuzz=Fuzz ./... add-licenses: desc: Attach license headers to Go files. cmds: - echo "Attach license headers to Go files." - go install github.com/google/addlicense@latest - addlicense -c "schukai GmbH" -s -l "AGPL-3.0" ./*.go silent: true check-licenses: desc: Check license headers of Go files. silent: true cmds: - go-licenses save "$(get-go-default-packages)" --ignore "gitlab.schukai.com" --force --save_path ${DEVENV_ROOT}/licenses/ check: desc: Confirm repository status. cmds: - git diff-index --quiet HEAD || (echo "There are uncommitted changes after running make. Please commit or stash them before running make."; exit 1) silent: true commit: desc: Commit changes to the repository. aliases: - c - ci - git-commit cmds: - do-git-commit EOF cat <<'\''EOF'\'' > .gitlab-ci.yml # THIS FILE IS AUTOGENERATED BY THE DEVENVSHELL # DO NOT EDIT THIS FILE MANUALLY # INSTEAD EDIT THE DEVENVSHELL CONFIGURATION FILE devenv.nix # AND OPEN A SHELL WITH THE COMMAND devenv shell # image: docker-registry.schukai.com:443/nixos-ci-devenv:latest services: - docker:dind variables: # The repo name as used in # https://github.com/nix-community/NUR/blob/master/repos.json NIXOS_VERSION: "23.05" NIXPKGS_ALLOW_UNFREE: "1" NIXPKGS_ALLOW_INSECURE: "1" DOCKER_DRIVER: overlay2 GIT_DEPTH: 10 stages: - test - deploy before_script: - nix shell nixpkgs#coreutils-full -c mkdir -p /certs/client/ - nix shell nixpkgs#coreutils-full -c ln -fs /etc/ssl/certs/ca-bundle.crt /certs/client/ca.pem - echo > .env-gitlab-ci - variables=("HOME=$HOME" "CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME" "CI_REPOSITORY_URL=$CI_REPOSITORY_URL" "GITLAB_TOKEN=$GITLAB_TOKEN" "CI_JOB_TOKEN=$CI_JOB_TOKEN" "GITLAB_USER_EMAIL=$GITLAB_USER_EMAIL" "GITLAB_USER_NAME=\"$GITLAB_USER_NAME\"" "CI_REGISTRY_USER=$CI_REGISTRY_USER" "CI_PROJECT_ID=$CI_PROJECT_ID" "CI_PROJECT_DIR=$CI_PROJECT_DIR" "CI_API_V4_URL=$CI_API_V4_URL" "CI_PROJECT_NAME=$CI_PROJECT_NAME" "CI_COMMIT_SHORT_SHA=$CI_COMMIT_SHORT_SHA"); for var in "${variables[@]}"; do echo "$var" >> .env-gitlab-ci; done - cat .env-gitlab-ci after_script: - if [ -f .env-gitlab-ci ]; then rm .env-gitlab-ci; fi test: stage: test tags: - nixos script: - devenv shell test-lib cache: - key: nixos paths: - /nix/store artifacts: paths: - dist deploy: stage: deploy tags: - nixos script: - devenv shell -c deploy-lib when: on_success cache: - key: nixos paths: - /nix/store artifacts: paths: - dist EOF export PS1="\[\e[0;34m\](devenv)\[\e[0m\] ${PS1-}" # set path to locales on non-NixOS Linux hosts if [ -z "${LOCALE_ARCHIVE-}" ]; then export LOCALE_ARCHIVE=/nix/store/mrbcpynv50xm2ad1gm2r15jvlg22nxnm-glibc-locales-2.37-8/lib/locale/locale-archive fi # note what environments are active, but make sure we don'\''t repeat them if [[ ! "${DIRENV_ACTIVE-}" =~ (^|:)"$PWD"(:|$) ]]; then export DIRENV_ACTIVE="$PWD:${DIRENV_ACTIVE-}" fi # devenv helper if [ ! type -p direnv &>/dev/null && -f .envrc ]; then echo "You have .envrc but direnv command is not installed." echo "Please install direnv: https://direnv.net/docs/installation.html" fi mkdir -p .devenv rm -f .devenv/profile ln -s /nix/store/ishxkjwm6m1nq2dzailw41xw5rczf6hi-devenv-profile .devenv/profile ' export shellHook stdenv='/nix/store/psfv6k7b2qa49zzdgr221qbi4nq8i3km-naked-stdenv' export stdenv system='x86_64-linux' export system runHook () { eval "$shellHook"; unset runHook } PATH="$PATH:$nix_saved_PATH" XDG_DATA_DIRS="$XDG_DATA_DIRS:$nix_saved_XDG_DATA_DIRS" export NIX_BUILD_TOP="$(mktemp -d -t nix-shell.XXXXXX)" export TMP="$NIX_BUILD_TOP" export TMPDIR="$NIX_BUILD_TOP" export TEMP="$NIX_BUILD_TOP" export TEMPDIR="$NIX_BUILD_TOP" eval "$shellHook"