diff --git a/meson.build b/meson.build
index 4771723..9daae80 100644
--- a/meson.build
+++ b/meson.build
@@ -1,16 +1,17 @@
 project(
-  'ipmiblob',
-  'cpp',
-  version: '0.1',
-  meson_version: '>=1.1.1',
-  default_options: [
-    'cpp_std=c++23',
-    'werror=true',
-    'warning_level=3',
-    'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
-  ])
+    'ipmiblob',
+    'cpp',
+    version: '0.1',
+    meson_version: '>=1.1.1',
+    default_options: [
+        'cpp_std=c++23',
+        'werror=true',
+        'warning_level=3',
+        'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
+    ],
+)
 
 subdir('src')
 if get_option('tests').allowed()
-  subdir('test')
+    subdir('test')
 endif
diff --git a/src/meson.build b/src/meson.build
index 52f6733..2e55277 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,45 +1,49 @@
 ipmiblob_incs = include_directories('.')
 
 install_headers(
-  'ipmiblob/crc.hpp',
-  'ipmiblob/blob_errors.hpp',
-  'ipmiblob/blob_interface.hpp',
-  'ipmiblob/blob_handler.hpp',
-  'ipmiblob/ipmi_interface.hpp',
-  'ipmiblob/ipmi_handler.hpp',
-  subdir: 'ipmiblob')
+    'ipmiblob/crc.hpp',
+    'ipmiblob/blob_errors.hpp',
+    'ipmiblob/blob_interface.hpp',
+    'ipmiblob/blob_handler.hpp',
+    'ipmiblob/ipmi_interface.hpp',
+    'ipmiblob/ipmi_handler.hpp',
+    subdir: 'ipmiblob',
+)
 
 install_headers(
-  'ipmiblob/internal/sys.hpp',
-  'ipmiblob/internal/sys_interface.hpp',
- subdir: 'ipmiblob/internal')
+    'ipmiblob/internal/sys.hpp',
+    'ipmiblob/internal/sys_interface.hpp',
+    subdir: 'ipmiblob/internal',
+)
 
 install_headers(
-  'ipmiblob/test/blob_interface_mock.hpp',
-  'ipmiblob/test/crc_mock.hpp',
-  'ipmiblob/test/ipmi_interface_mock.hpp',
- subdir: 'ipmiblob/test')
+    'ipmiblob/test/blob_interface_mock.hpp',
+    'ipmiblob/test/crc_mock.hpp',
+    'ipmiblob/test/ipmi_interface_mock.hpp',
+    subdir: 'ipmiblob/test',
+)
 
 ipmiblob_lib = library(
-  'ipmiblob',
-  'ipmiblob/blob_handler.cpp',
-  'ipmiblob/crc.cpp',
-  'ipmiblob/ipmi_handler.cpp',
-  'ipmiblob/internal/sys.cpp',
-  include_directories : ipmiblob_incs,
-  implicit_include_directories: false,
-  version: meson.project_version(),
-  install: true,
-  install_dir: get_option('libdir')
+    'ipmiblob',
+    'ipmiblob/blob_handler.cpp',
+    'ipmiblob/crc.cpp',
+    'ipmiblob/ipmi_handler.cpp',
+    'ipmiblob/internal/sys.cpp',
+    include_directories: ipmiblob_incs,
+    implicit_include_directories: false,
+    version: meson.project_version(),
+    install: true,
+    install_dir: get_option('libdir'),
 )
 
 ipmiblob = declare_dependency(
-  include_directories: ipmiblob_incs,
-  link_with: ipmiblob_lib
+    include_directories: ipmiblob_incs,
+    link_with: ipmiblob_lib,
 )
 
 import('pkgconfig').generate(
-  ipmiblob_lib,
-  name: 'ipmiblob',
-  version: meson.project_version(),
-  description: 'ipmiblob')
+    ipmiblob_lib,
+    name: 'ipmiblob',
+    version: meson.project_version(),
+    description: 'ipmiblob',
+)
diff --git a/test/meson.build b/test/meson.build
index 0d2fd0f..46e16e1 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -1,31 +1,38 @@
-gtest = dependency('gtest', main: true, disabler: true, required: get_option('tests'))
+gtest = dependency(
+    'gtest',
+    main: true,
+    disabler: true,
+    required: get_option('tests'),
+)
 gmock = dependency('gmock', disabler: true, required: get_option('tests'))
 
 if not gtest.found() or not gmock.found()
-  gtest_proj = import('cmake').subproject('googletest', required: false)
-  if gtest_proj.found()
-    gtest = declare_dependency(
-      dependencies: [
-        gtest_proj.dependency('gtest'),
-        gtest_proj.dependency('gtest_main'),
-      ])
-    gmock = gtest_proj.dependency('gmock')
-  else
-    assert(not get_option('tests').allowed(), 'Googletest is required')
-  endif
+    gtest_proj = import('cmake').subproject('googletest', required: false)
+    if gtest_proj.found()
+        gtest = declare_dependency(
+            dependencies: [
+                gtest_proj.dependency('gtest'),
+                gtest_proj.dependency('gtest_main'),
+            ],
+        )
+        gmock = gtest_proj.dependency('gmock')
+    else
+        assert(not get_option('tests').allowed(), 'Googletest is required')
+    endif
 endif
 
-gtests = [
-  'crc',
-  'tools_blob',
-  'tools_ipmi_error',
-  'tools_ipmi',
-]
+gtests = ['crc', 'tools_blob', 'tools_ipmi_error', 'tools_ipmi']
 
 foreach t : gtests
-  test(t, executable(t.underscorify(), t + '_unittest.cpp',
-                     build_by_default: false,
-                     implicit_include_directories: false,
-                     dependencies: [ipmiblob, gtest, gmock]))
+    test(
+        t,
+        executable(
+            t.underscorify(),
+            t + '_unittest.cpp',
+            build_by_default: false,
+            implicit_include_directories: false,
+            dependencies: [ipmiblob, gtest, gmock],
+        ),
+    )
 endforeach
 
