diff --git a/example/meson.build b/example/meson.build
index 5fc4c40..a4e8998 100644
--- a/example/meson.build
+++ b/example/meson.build
@@ -1,12 +1,10 @@
-examples = [
-  'delayed_echo',
-  'follow',
-  'heartbeat',
-  'heartbeat_timer',
-]
+examples = ['delayed_echo', 'follow', 'heartbeat', 'heartbeat_timer']
 
 foreach example : examples
-  executable(example, example + '.cpp',
-             implicit_include_directories: false,
-             dependencies: sdeventplus_dep)
+    executable(
+        example,
+        example + '.cpp',
+        implicit_include_directories: false,
+        dependencies: sdeventplus_dep,
+    )
 endforeach
diff --git a/meson.build b/meson.build
index d922257..456402a 100644
--- a/meson.build
+++ b/meson.build
@@ -1,14 +1,15 @@
 project(
-  'sdeventplus',
-  'cpp',
-  version: '0.1',
-  meson_version: '>=1.1.1',
-  default_options: [
-    'warning_level=3',
-    'cpp_std=c++23',
-    'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
-    'examples=' + (meson.is_subproject() ? 'false' : 'true'),
-  ])
+    'sdeventplus',
+    'cpp',
+    version: '0.1',
+    meson_version: '>=1.1.1',
+    default_options: [
+        'warning_level=3',
+        'cpp_std=c++23',
+        'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
+        'examples=' + (meson.is_subproject() ? 'false' : 'true'),
+    ],
+)
 
 subdir('src')
 
@@ -16,8 +17,8 @@
 build_examples = get_option('examples')
 
 if build_examples
-  subdir('example')
+    subdir('example')
 endif
 if build_tests.allowed()
-  subdir('test')
+    subdir('test')
 endif
diff --git a/src/meson.build b/src/meson.build
index e736633..245d9ce 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,74 +1,79 @@
 sdeventplus_deps = [
-  dependency('libsystemd', version: '>=240'),
-  dependency('stdplus'),
+    dependency('libsystemd', version: '>=240'),
+    dependency('stdplus'),
 ]
 
 sdeventplus_headers = include_directories('.')
 
 sdeventplus_lib = library(
-  'sdeventplus',
-  [
-    'sdeventplus/clock.cpp',
-    'sdeventplus/event.cpp',
-    'sdeventplus/exception.cpp',
-    'sdeventplus/internal/sdevent.cpp',
-    'sdeventplus/source/base.cpp',
-    'sdeventplus/source/child.cpp',
-    'sdeventplus/source/event.cpp',
-    'sdeventplus/source/io.cpp',
-    'sdeventplus/source/signal.cpp',
-    'sdeventplus/source/time.cpp',
-    'sdeventplus/utility/timer.cpp',
-  ],
-  include_directories: sdeventplus_headers,
-  implicit_include_directories: false,
-  version: meson.project_version(),
-  dependencies: sdeventplus_deps,
-  install: true)
+    'sdeventplus',
+    [
+        'sdeventplus/clock.cpp',
+        'sdeventplus/event.cpp',
+        'sdeventplus/exception.cpp',
+        'sdeventplus/internal/sdevent.cpp',
+        'sdeventplus/source/base.cpp',
+        'sdeventplus/source/child.cpp',
+        'sdeventplus/source/event.cpp',
+        'sdeventplus/source/io.cpp',
+        'sdeventplus/source/signal.cpp',
+        'sdeventplus/source/time.cpp',
+        'sdeventplus/utility/timer.cpp',
+    ],
+    include_directories: sdeventplus_headers,
+    implicit_include_directories: false,
+    version: meson.project_version(),
+    dependencies: sdeventplus_deps,
+    install: true,
+)
 
 sdeventplus_dep = declare_dependency(
-  dependencies: sdeventplus_deps,
-  include_directories: sdeventplus_headers,
-  link_with: sdeventplus_lib)
+    dependencies: sdeventplus_deps,
+    include_directories: sdeventplus_headers,
+    link_with: sdeventplus_lib,
+)
 
 sdeventplus_reqs = []
 foreach dep : sdeventplus_deps
-  if dep.type_name() == 'pkgconfig'
-    sdeventplus_reqs += dep
-  endif
+    if dep.type_name() == 'pkgconfig'
+        sdeventplus_reqs += dep
+    endif
 endforeach
 
 import('pkgconfig').generate(
-  sdeventplus_lib,
-  description: 'C++ systemd event wrapper',
-  version: meson.project_version(),
-  requires: sdeventplus_reqs)
+    sdeventplus_lib,
+    description: 'C++ systemd event wrapper',
+    version: meson.project_version(),
+    requires: sdeventplus_reqs,
+)
 
 install_headers(
-  'sdeventplus/clock.hpp',
-  'sdeventplus/event.hpp',
-  'sdeventplus/exception.hpp',
-  'sdeventplus/types.hpp',
-  subdir: 'sdeventplus')
+    'sdeventplus/clock.hpp',
+    'sdeventplus/event.hpp',
+    'sdeventplus/exception.hpp',
+    'sdeventplus/types.hpp',
+    subdir: 'sdeventplus',
+)
 
 install_headers(
-  'sdeventplus/internal/sdevent.hpp',
-  subdir: 'sdeventplus/internal')
+    'sdeventplus/internal/sdevent.hpp',
+    subdir: 'sdeventplus/internal',
+)
 
 install_headers(
-  'sdeventplus/source/base.hpp',
-  'sdeventplus/source/child.hpp',
-  'sdeventplus/source/event.hpp',
-  'sdeventplus/source/io.hpp',
-  'sdeventplus/source/signal.hpp',
-  'sdeventplus/source/time.hpp',
-  subdir: 'sdeventplus/source')
+    'sdeventplus/source/base.hpp',
+    'sdeventplus/source/child.hpp',
+    'sdeventplus/source/event.hpp',
+    'sdeventplus/source/io.hpp',
+    'sdeventplus/source/signal.hpp',
+    'sdeventplus/source/time.hpp',
+    subdir: 'sdeventplus/source',
+)
+
+install_headers('sdeventplus/test/sdevent.hpp', subdir: 'sdeventplus/test')
 
 install_headers(
-  'sdeventplus/test/sdevent.hpp',
-  subdir: 'sdeventplus/test')
-
-install_headers(
-  'sdeventplus/utility/timer.hpp',
-  'sdeventplus/utility/sdbus.hpp',
-  subdir: 'sdeventplus/utility')
+    'sdeventplus/utility/timer.hpp',
+    'sdeventplus/utility/sdbus.hpp',
+    subdir: 'sdeventplus/utility',
+)
diff --git a/test/meson.build b/test/meson.build
index b2cdbc1..a8425ea 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -1,50 +1,55 @@
 gtest = dependency('gtest', main: true, disabler: true, required: false)
 gmock = dependency('gmock', disabler: true, required: false)
 if not gtest.found() or not gmock.found()
-  gtest_opts = import('cmake').subproject_options()
-  gtest_opts.add_cmake_defines({'CMAKE_CXX_FLAGS': '-Wno-pedantic'})
-  gtest_proj = import('cmake').subproject(
-    'googletest',
-    options: gtest_opts,
-    required: false)
-  if gtest_proj.found()
-    gtest = declare_dependency(
-      dependencies: [
-        dependency('threads'),
-        gtest_proj.dependency('gtest'),
-        gtest_proj.dependency('gtest_main'),
-      ])
-    gmock = gtest_proj.dependency('gmock')
-  else
-    assert(not build_tests.enabled(), 'Googletest is required')
-  endif
+    gtest_opts = import('cmake').subproject_options()
+    gtest_opts.add_cmake_defines({'CMAKE_CXX_FLAGS': '-Wno-pedantic'})
+    gtest_proj = import('cmake').subproject(
+        'googletest',
+        options: gtest_opts,
+        required: false,
+    )
+    if gtest_proj.found()
+        gtest = declare_dependency(
+            dependencies: [
+                dependency('threads'),
+                gtest_proj.dependency('gtest'),
+                gtest_proj.dependency('gtest_main'),
+            ],
+        )
+        gmock = gtest_proj.dependency('gmock')
+    else
+        assert(not build_tests.enabled(), 'Googletest is required')
+    endif
 endif
 
 
 tests = [
-  'clock',
-  'event',
-  'exception',
-  'source/base',
-  'source/child',
-  'source/event',
-  'source/io',
-  'source/signal',
-  'source/time',
-  'utility/sdbus',
-  'utility/timer',
+    'clock',
+    'event',
+    'exception',
+    'source/base',
+    'source/child',
+    'source/event',
+    'source/io',
+    'source/signal',
+    'source/time',
+    'utility/sdbus',
+    'utility/timer',
 ]
 
 foreach t : tests
-  test(t,
-    executable(
-      t.underscorify(),
-      t + '.cpp',
-      implicit_include_directories: false,
-      dependencies: [
-        dependency('sdbusplus'),
-        sdeventplus_dep,
-        gtest,
-        gmock,
-      ]))
+    test(
+        t,
+        executable(
+            t.underscorify(),
+            t + '.cpp',
+            implicit_include_directories: false,
+            dependencies: [
+                dependency('sdbusplus'),
+                sdeventplus_dep,
+                gtest,
+                gmock,
+            ],
+        ),
+    )
 endforeach
