{ pkgs, inputs, phps, lib, config, modulesPath,... }: { env.APP_NAME = "configuration"; # https://devenv.sh/packages/ packages = [ inputs.version.defaultPackage."${builtins.currentSystem}" pkgs.git pkgs.gcc12 pkgs.go-task pkgs.blackbox pkgs.blackbox-terminal pkgs.jq pkgs.delve pkgs.gdlv pkgs.wget pkgs.glab pkgs.unixtools.xxd pkgs.libffi pkgs.zlib pkgs.procps pkgs.php81Extensions.xdebug pkgs.ranger pkgs.meld pkgs.gnused pkgs.coreutils-full pkgs.gnugrep pkgs.gnumake pkgs.util-linux pkgs.httpie pkgs.netcat pkgs.memcached pkgs.fd ]; # https://devenv.sh/languages/ # languages.nix.enable = true; languages = { go = { enable = true; }; }; difftastic.enable = true; # This script is executed when the app is built # You can use it to build the app scripts.test-lib.exec = '' #!${pkgs.bash}/bin/bash #set -euo pipefail set -x PATH="''${PATH}":${pkgs.coreutils}/bin PATH="''${PATH}":${pkgs.findutils}/bin PATH="''${PATH}":${pkgs.jq}/bin/ PATH="''${PATH}":${pkgs.rsync}/bin/ PATH="''${PATH}":${pkgs.bash}/bin/ PATH="''${PATH}":${pkgs.curl}/bin/ PATH="''${PATH}":${pkgs.moreutils}/bin/ PATH="''${PATH}":${pkgs.gnutar}/bin PATH="''${PATH}":${pkgs.gzip}/bin/ PATH="''${PATH}":${pkgs.procps}/bin/ PATH="''${PATH}":${pkgs.exa}/bin/ PATH="''${PATH}":${pkgs.git}/bin/ PATH="''${PATH}":${pkgs.gnugrep}/bin/ PATH="''${PATH}":${inputs.version.defaultPackage."${builtins.currentSystem}"}/bin/ export -f PATH task test ''; # This scritp is used to deploy the app to the gitlab registry # It is used by the gitlab-ci.yml file # The environment variables are set in the gitlab project settings scripts.deploy-lib.exec = '' #!${pkgs.bash}/bin/bash PATH="''${PATH}":${pkgs.coreutils}/bin PATH="''${PATH}":${pkgs.jq}/bin/ PATH="''${PATH}":${pkgs.curl}/bin/ PATH="''${PATH}":${pkgs.moreutils}/bin/ PATH="''${PATH}":${pkgs.gnutar}/bin PATH="''${PATH}":${pkgs.gzip}/bin/ PATH="''${PATH}":${pkgs.exa}/bin/ PATH="''${PATH}":${pkgs.git}/bin/ PATH="''${PATH}":${inputs.version.defaultPackage."${builtins.currentSystem}"}/bin/ export PATH if [[ -f .env-gitlab-ci ]]; then source .env-gitlab-ci rm .env-gitlab-ci fi set -x ## if $HOME not set, set it to current directory if [[ -z "''${HOME}" ]]; then HOME=$(pwd) fi export HOME git config user.email "''${GITLAB_USER_EMAIL}" git config user.name "''${GITLAB_USER_NAME:-"Gitlab CI"}" git config pull.rebase true git config http.sslVerify "false" git remote set-url origin https://pad:''${GITLAB_TOKEN}@''${CI_REPOSITORY_URL#*@} git fetch --all --tags --unshallow git reset --hard origin/master git checkout $CI_COMMIT_REF_NAME git pull origin $CI_COMMIT_REF_NAME if [ ! -z "''${CI_PROJECT_DIR}" ]; then echo "CI_PROJECT_DIR is set, using it as project root." project_root=$(realpath "''${CI_PROJECT_DIR}")/ elif [ ! -z "''${DEVENV_ROOT}" ]; then echo "DEVENV_ROOT is set, using it as project root." project_root=$(realpath "''${DEVENV_ROOT}")/ else echo "Error: DEVENV_ROOT or CI_PROJECT_DIR environment variables are not set." exit 1 fi if [ ! -d "''${project_root}" ]; then echo "Error: Project root directory does not seem to be valid." echo "Check the DEVENV_ROOT or CI_PROJECT_DIR environment variables." exit 1 fi if [ -z "'CI_JOB_TOKEN" ]; then echo "Error: CI_JOB_TOKEN variable is not set." exit 1 fi git --no-pager log --decorate=short --pretty=oneline ## the version should be the same as in the build task if ! version auto --git --verbose then echo "ERROR: Could not update version." exit 1 fi git --no-pager log --decorate=short --pretty=oneline gitVersion=v$(version predict) git tag -a $gitVersion git push -o ci.skip origin ''${CI_COMMIT_REF_NAME} --tags echo "done" ''; }