gitlab-ci: split linux and macos shared before scripts

They're not actually the same anyways and the anchors can't be shared
between the files. We can figure out refactoring in the future.
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f98f884..ec2393b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,7 +4,6 @@
     - local: .gitlab/artifacts.yml
 
     # OS builds.
-    - local: .gitlab/os-unix.yml
     - local: .gitlab/os-linux.yml
     - local: .gitlab/os-macos.yml
     - local: .gitlab/os-windows.yml
@@ -35,21 +34,21 @@
 build:debian10-iwyu:
     extends:
         - .debian10_iwyu
-        - .cmake_build_unix
+        - .cmake_build_linux
         - .linux_builder_tags
         - .run_automatically
 
 build:fedora31-tidy:
     extends:
         - .fedora31_tidy
-        - .cmake_build_unix
+        - .cmake_build_linux
         - .linux_builder_tags_qt
         - .run_automatically
 
 build:fedora31-sphinx:
     extends:
         - .fedora31_sphinx
-        - .cmake_build_unix
+        - .cmake_build_linux
         - .linux_builder_tags_qt
         - .run_automatically
 
@@ -88,7 +87,7 @@
 build:fedora31-ninja:
     extends:
         - .fedora31_ninja
-        - .cmake_build_unix
+        - .cmake_build_linux
         - .cmake_build_artifacts
         - .linux_builder_tags_qt
         - .run_manually
@@ -96,7 +95,7 @@
 test:fedora31-ninja:
     extends:
         - .fedora31_ninja
-        - .cmake_test_unix
+        - .cmake_test_linux
         - .linux_builder_tags_qt
         - .cmake_test_artifacts
         - .run_automatically
@@ -121,7 +120,7 @@
 build:macos-ninja:
     extends:
         - .macos_ninja
-        - .cmake_build_unix
+        - .cmake_build_macos
         - .cmake_build_artifacts
         - .macos_builder_tags
         - .run_manually
@@ -129,7 +128,7 @@
 test:macos-ninja:
     extends:
         - .macos_ninja
-        - .cmake_test_unix
+        - .cmake_test_macos
         - .cmake_test_artifacts
         - .macos_builder_tags
         - .run_automatically
@@ -141,7 +140,7 @@
 build:macos-makefiles:
     extends:
         - .macos_makefiles
-        - .cmake_build_unix
+        - .cmake_build_macos
         - .cmake_build_artifacts
         - .macos_builder_tags
         - .run_manually
@@ -149,7 +148,7 @@
 test:macos-makefiles:
     extends:
         - .macos_makefiles
-        - .cmake_test_unix
+        - .cmake_test_macos
         - .macos_builder_tags
         - .run_automatically
     dependencies:
diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml
index 7caf507..1c97377 100644
--- a/.gitlab/os-linux.yml
+++ b/.gitlab/os-linux.yml
@@ -118,6 +118,36 @@
 
 ## Linux-specific scripts
 
+.before_script_linux: &before_script_linux
+    - .gitlab/ci/cmake.sh
+    - .gitlab/ci/ninja.sh
+    - export PATH=$PWD/.gitlab:$PWD/.gitlab/cmake/bin:$PATH
+    - cmake --version
+    - ninja --version
+
+.cmake_build_linux:
+    stage: build
+
+    script:
+        - *before_script_linux
+        - .gitlab/ci/sccache.sh
+        - sccache --start-server
+        - sccache --show-stats
+        - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake"
+        - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake"
+        - sccache --show-stats
+
+    interruptible: true
+
+.cmake_test_linux:
+    stage: test
+
+    script:
+        - *before_script_linux
+        - "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_test.cmake"
+
+    interruptible: true
+
 .cmake_build_release_linux:
     stage: build
 
@@ -154,7 +184,7 @@
     stage: test-ext
 
     script:
-        - *before_script_unix
+        - *before_script_linux
         # Make the CMake package available.
         - mkdir -p build/install
         - tar -C build/install --strip-components=1 -xzf build/cmake-*-Linux-x86_64.tar.gz
@@ -170,7 +200,7 @@
     stage: test-ext
 
     script:
-        - *before_script_unix
+        - *before_script_linux
         - .gitlab/ci/sccache.sh
         - sccache --start-server
         - sccache --show-stats
diff --git a/.gitlab/os-macos.yml b/.gitlab/os-macos.yml
index 69b1a07..9d123ec 100644
--- a/.gitlab/os-macos.yml
+++ b/.gitlab/os-macos.yml
@@ -66,11 +66,45 @@
 
 ## macOS-specific scripts
 
+.before_script_macos: &before_script_macos
+    - .gitlab/ci/cmake.sh
+    - .gitlab/ci/ninja.sh
+    - export PATH=$PWD/.gitlab:$PWD/.gitlab/cmake/bin:$PATH
+    - cmake --version
+    - ninja --version
+    # Download Qt
+    - cmake -P .gitlab/ci/download_qt.cmake
+    - export CMAKE_PREFIX_PATH=$PWD/.gitlab/qt
+
+.cmake_build_macos:
+    stage: build
+
+    script:
+        - *before_script_macos
+        - .gitlab/ci/sccache.sh
+        # Allow the server to already be running.
+        - "sccache --start-server || :"
+        - sccache --show-stats
+        - ctest -VV -S .gitlab/ci/ctest_configure.cmake
+        - ctest -VV -S .gitlab/ci/ctest_build.cmake
+        - sccache --show-stats
+
+    interruptible: true
+
+.cmake_test_macos:
+    stage: test
+
+    script:
+        - *before_script_macos
+        - ctest --output-on-failure -V -S .gitlab/ci/ctest_test.cmake
+
+    interruptible: true
+
 .cmake_test_macos_external:
     stage: test-ext
 
     script:
-        - *before_script_unix
+        - *before_script_macos
         - .gitlab/ci/sccache.sh
         # Allow the server to already be running.
         - "sccache --start-server || :"
diff --git a/.gitlab/os-unix.yml b/.gitlab/os-unix.yml
deleted file mode 100644
index c1f6bb7..0000000
--- a/.gitlab/os-unix.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-# Unix-specific build commands
-
-.before_script_unix: &before_script_unix
-    - .gitlab/ci/cmake.sh
-    - .gitlab/ci/ninja.sh
-    - export PATH=$PWD/.gitlab:$PWD/.gitlab/cmake/bin:$PATH
-    - cmake --version
-    - ninja --version
-    # Download Qt on macOS
-    - "[ \"$( uname -s )\" = \"Darwin\" ] && cmake -P .gitlab/ci/download_qt.cmake"
-    - "[ \"$( uname -s )\" = \"Darwin\" ] && export CMAKE_PREFIX_PATH=$PWD/.gitlab/qt"
-
-.cmake_build_unix:
-    stage: build
-
-    script:
-        - *before_script_unix
-        - .gitlab/ci/sccache.sh
-        # Allow the server to already be running.
-        - "sccache --start-server || :"
-        - sccache --show-stats
-        - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake"
-        - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake"
-        - sccache --show-stats
-
-    interruptible: true
-
-.cmake_test_unix:
-    stage: test
-
-    script:
-        - *before_script_unix
-        - "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_test.cmake"
-
-    interruptible: true