diff --git a/meson.build b/meson.build
index 0bafc2b..55e7edb 100644
--- a/meson.build
+++ b/meson.build
@@ -1,11 +1,7 @@
 project(
     'phosphor-hwmon',
     'cpp',
-    default_options: [
-        'warning_level=3',
-        'werror=true',
-        'cpp_std=c++23'
-    ],
+    default_options: ['warning_level=3', 'werror=true', 'cpp_std=c++23'],
     license: 'Apache-2.0',
     version: '1.0',
     meson_version: '>=1.1.1',
@@ -19,9 +15,7 @@
 
 sysfs_headers = include_directories('.')
 
-sysfs_deps = [
-    dependency('stdplus'),
-]
+sysfs_deps = [dependency('stdplus')]
 
 sysfs_lib = static_library(
     'sysfs',
@@ -33,7 +27,8 @@
 sysfs_dep = declare_dependency(
     dependencies: sysfs_deps,
     include_directories: sysfs_headers,
-    link_with: sysfs_lib)
+    link_with: sysfs_lib,
+)
 
 hwmon_headers = include_directories('.')
 
@@ -62,12 +57,14 @@
     'sensor.cpp',
     'sensorset.cpp',
     dependencies: hwmon_deps,
-    include_directories: hwmon_headers)
+    include_directories: hwmon_headers,
+)
 
 hwmon_dep = declare_dependency(
     dependencies: hwmon_deps,
     include_directories: hwmon_headers,
-    link_with: hwmon_lib)
+    link_with: hwmon_lib,
+)
 
 # CLI11 might not have a pkg-config. It is header only so just make
 # sure we can access the needed symbols from the header.
@@ -76,7 +73,8 @@
     'CLI/CLI.hpp',
     'CLI::App',
     dependencies: cli11_dep,
-    required: false)
+    required: false,
+)
 if not has_cli11
     cli11_proj = subproject('cli11', required: false)
     assert(cli11_proj.found(), 'CLI11 is required')
@@ -86,32 +84,32 @@
 executable(
     'phosphor-hwmon-readd',
     'readd.cpp',
-    dependencies: [
-        cli11_dep,
-        hwmon_dep,
-    ],
-    install: true)
+    dependencies: [cli11_dep, hwmon_dep],
+    install: true,
+)
 
 systemd_system_unit_dir = dependency('systemd').get_variable(
     'systemdsystemunitdir',
-    pkgconfig_define: ['prefix', get_option('prefix')])
+    pkgconfig_define: ['prefix', get_option('prefix')],
+)
 udev_dir = dependency('udev').get_variable(
     'udev_dir',
-    pkgconfig_define: ['prefix', get_option('prefix')])
+    pkgconfig_define: ['prefix', get_option('prefix')],
+)
 
 install_data(
     'xyz.openbmc_project.Hwmon@.service',
-    install_dir: systemd_system_unit_dir
+    install_dir: systemd_system_unit_dir,
 )
 
 install_data(
     'phosphor-hwmon.conf',
-    install_dir: get_option('sysconfdir') / 'dbus-1/system.d'
+    install_dir: get_option('sysconfdir') / 'dbus-1/system.d',
 )
 
 install_data(
     ['70-hwmon.rules', '70-iio.rules'],
-    install_dir: udev_dir / 'rules.d'
+    install_dir: udev_dir / 'rules.d',
 )
 
 force_devpath = ''
@@ -120,12 +118,12 @@
 endif
 
 configure_file(
-    input : 'start_hwmon.sh.in',
-    output : 'start_hwmon.sh',
+    input: 'start_hwmon.sh.in',
+    output: 'start_hwmon.sh',
     configuration: {
-      'OVERRIDE_WITH_DEVPATH': ' '.join(get_option('override-with-devpath')),
-      'FORCE_DEVPATH': force_devpath
-      },
+        'OVERRIDE_WITH_DEVPATH': ' '.join(get_option('override-with-devpath')),
+        'FORCE_DEVPATH': force_devpath,
+    },
     install_dir: get_option('bindir'),
     install_mode: 'rwxr-xr-x',
     install: true,
@@ -133,6 +131,6 @@
 
 subdir('msl')
 if get_option('tests').allowed()
-  subdir('test')
+    subdir('test')
 endif
 subdir('tools')
diff --git a/meson.options b/meson.options
index 8016a2f..a424a8e 100644
--- a/meson.options
+++ b/meson.options
@@ -2,40 +2,42 @@
     'busname-prefix',
     description: 'The DBus busname prefix.',
     type: 'string',
-    value: 'xyz.openbmc_project.Hwmon')
+    value: 'xyz.openbmc_project.Hwmon',
+)
 option(
     'negative-errno-on-fail',
     description: 'Set sensor value to -errno on read failures.',
-    type: 'boolean')
+    type: 'boolean',
+)
 option(
     'sensor-root',
     description: 'The DBus sensors namespace root.',
     type: 'string',
-    value: '/xyz/openbmc_project/sensors')
-option(
-    'tests', type: 'feature', description: 'Build tests.',
+    value: '/xyz/openbmc_project/sensors',
 )
+option('tests', type: 'feature', description: 'Build tests.')
 option(
     'update-functional-on-fail',
     description: 'Update functional property on read failures.  Incompatible with negative-errno-on-fail.',
-    type: 'boolean')
+    type: 'boolean',
+)
 option(
     'enable-max31785-msl',
     type: 'boolean',
     value: false,
-    description: 'Include building and installing the MAX31785 chip\'s minimum ship level checking application.'
+    description: 'Include building and installing the MAX31785 chip\'s minimum ship level checking application.',
 )
 
 
 option(
     'override-with-devpath',
     type: 'array',
-    description: 'Only use the devpath of the device even if OFPath exists'
+    description: 'Only use the devpath of the device even if OFPath exists',
 )
 
 option(
     'always-use-devpath',
     type: 'feature',
     value: 'disabled',
-    description: 'Only use the devpath for all devices.'
+    description: 'Only use the devpath for all devices.',
 )
diff --git a/msl/meson.build b/msl/meson.build
index 72633f7..462bc82 100644
--- a/msl/meson.build
+++ b/msl/meson.build
@@ -1,15 +1,15 @@
 if get_option('enable-max31785-msl')
-configure_file(
-    copy: true,
-    input: 'max31785-msl',
-    install: true,
-    install_dir: get_option('bindir'),
-    install_mode: 'rwxr-xr-x',
-    output: 'max31785-msl',
-)
+    configure_file(
+        copy: true,
+        input: 'max31785-msl',
+        install: true,
+        install_dir: get_option('bindir'),
+        install_mode: 'rwxr-xr-x',
+        output: 'max31785-msl',
+    )
 
-install_data(
-    'phosphor-max31785-msl@.service',
-    install_dir: systemd_system_unit_dir
-)
+    install_data(
+        'phosphor-max31785-msl@.service',
+        install_dir: systemd_system_unit_dir,
+    )
 endif
diff --git a/test/meson.build b/test/meson.build
index 06267e9..6128517 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -1,23 +1,25 @@
 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 get_option('tests').allowed(), '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 get_option('tests').allowed(), 'Googletest is required')
+    endif
 endif
 
 tests = [
@@ -37,5 +39,7 @@
             t + '.cpp',
             'gpio.cpp',
             implicit_include_directories: false,
-            dependencies: [hwmon_dep, gtest, gmock]))
+            dependencies: [hwmon_dep, gtest, gmock],
+        ),
+    )
 endforeach
diff --git a/tools/meson.build b/tools/meson.build
index 8458b3e..dc03f5c 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -1,9 +1,3 @@
-executable(
-    'find_hwmon',
-    'find_hwmon.cpp',
-    dependencies: sysfs_dep)
+executable('find_hwmon', 'find_hwmon.cpp', dependencies: sysfs_dep)
 
-executable(
-    'find_callout_path',
-    'find_callout_path.cpp',
-    dependencies: sysfs_dep)
+executable('find_callout_path', 'find_callout_path.cpp', dependencies: sysfs_dep)
