diff --git a/subprojects/ncsid/meson.build b/subprojects/ncsid/meson.build
index 41563fc..7b9c37c 100644
--- a/subprojects/ncsid/meson.build
+++ b/subprojects/ncsid/meson.build
@@ -13,22 +13,23 @@
 # limitations under the License.
 
 project(
-  'gbmc-ncsid',
-  ['cpp', 'c'],
-  version: '0.1',
-  meson_version: '>=1.1.1',
-  default_options: [
-    'warning_level=3',
-    'werror=true',
-    'cpp_std=c++23',
-    'c_std=c18',
-    'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
-  ])
+    'gbmc-ncsid',
+    ['cpp', 'c'],
+    version: '0.1',
+    meson_version: '>=1.1.1',
+    default_options: [
+        'warning_level=3',
+        'werror=true',
+        'cpp_std=c++23',
+        'c_std=c18',
+        'tests=' + (meson.is_subproject() ? 'disabled' : 'auto'),
+    ],
+)
 
 subdir('src')
 
 build_tests = get_option('tests')
 
 if build_tests.allowed()
-  subdir('test')
+    subdir('test')
 endif
diff --git a/subprojects/ncsid/src/meson.build b/subprojects/ncsid/src/meson.build
index a651027..5ecb5b9 100644
--- a/subprojects/ncsid/src/meson.build
+++ b/subprojects/ncsid/src/meson.build
@@ -15,50 +15,55 @@
 ncsid_headers = include_directories('.')
 
 ncsid_deps = [
-  dependency('sdbusplus', fallback: ['sdbusplus', 'sdbusplus_dep']),
-  dependency('stdplus', fallback: ['stdplus', 'stdplus_dep']),
+    dependency('sdbusplus', fallback: ['sdbusplus', 'sdbusplus_dep']),
+    dependency('stdplus', fallback: ['stdplus', 'stdplus_dep']),
 ]
 
 ncsid_lib = static_library(
-  'ncsid',
-  [
-    'net_config.cpp',
-    'net_iface.cpp',
-    'net_sockio.cpp',
-    'ncsi_sockio.cpp',
-    'ncsi_state_machine.cpp',
-    'platforms/nemora/portable/ncsi_fsm.c',
-    'platforms/nemora/portable/ncsi_client.c',
-    'platforms/nemora/portable/ncsi_server.c',
-  ],
-  include_directories: ncsid_headers,
-  implicit_include_directories: false,
-  dependencies: ncsid_deps)
+    'ncsid',
+    [
+        'net_config.cpp',
+        'net_iface.cpp',
+        'net_sockio.cpp',
+        'ncsi_sockio.cpp',
+        'ncsi_state_machine.cpp',
+        'platforms/nemora/portable/ncsi_fsm.c',
+        'platforms/nemora/portable/ncsi_client.c',
+        'platforms/nemora/portable/ncsi_server.c',
+    ],
+    include_directories: ncsid_headers,
+    implicit_include_directories: false,
+    dependencies: ncsid_deps,
+)
 
 ncsid = declare_dependency(
-  dependencies: ncsid_deps,
-  include_directories: ncsid_headers,
-  link_with: ncsid_lib)
+    dependencies: ncsid_deps,
+    include_directories: ncsid_headers,
+    link_with: ncsid_lib,
+)
 
 executable(
-  'ncsid',
-  'ncsid.cpp',
-  implicit_include_directories: false,
-  dependencies: ncsid,
-  install: true,
-  install_dir: get_option('libexecdir'))
+    'ncsid',
+    'ncsid.cpp',
+    implicit_include_directories: false,
+    dependencies: ncsid,
+    install: true,
+    install_dir: get_option('libexecdir'),
+)
 
 normalize_ip = executable(
-  'normalize_ip',
-  'normalize_ip.c',
-  implicit_include_directories: false,
-  install: true)
+    'normalize_ip',
+    'normalize_ip.c',
+    implicit_include_directories: false,
+    install: true,
+)
 
 normalize_mac = executable(
-  'normalize_mac',
-  'normalize_mac.c',
-  implicit_include_directories: false,
-  install: true)
+    'normalize_mac',
+    'normalize_mac.c',
+    implicit_include_directories: false,
+    install: true,
+)
 
 systemd = dependency('systemd')
 systemunitdir = systemd.get_variable('systemdsystemunitdir')
@@ -66,14 +71,16 @@
 libexecdir = get_option('prefix') / get_option('libexecdir')
 
 configure_file(
-  configuration: {'BIN': libexecdir / 'ncsid'},
-  input: 'ncsid@.service.in',
-  output: 'ncsid@.service',
-  install_mode: 'rw-r--r--',
-  install_dir: systemunitdir)
+    configuration: {'BIN': libexecdir / 'ncsid'},
+    input: 'ncsid@.service.in',
+    output: 'ncsid@.service',
+    install_mode: 'rw-r--r--',
+    install_dir: systemunitdir,
+)
 
 install_data(
-  'nic-hostful@.target',
-  'nic-hostless@.target',
-  install_mode: 'rw-r--r--',
-  install_dir: systemunitdir)
+    'nic-hostful@.target',
+    'nic-hostless@.target',
+    install_mode: 'rw-r--r--',
+    install_dir: systemunitdir,
+)
diff --git a/subprojects/ncsid/test/meson.build b/subprojects/ncsid/test/meson.build
index 681306f..f142318 100644
--- a/subprojects/ncsid/test/meson.build
+++ b/subprojects/ncsid/test/meson.build
@@ -15,58 +15,60 @@
 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_proj = import('cmake').subproject(
-    'googletest',
-    cmake_options: [
-      '-DCMAKE_CXX_FLAGS=-Wno-pedantic',
-    ],
-    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.allowed(), 'Googletest is required')
-  endif
+    gtest_proj = import('cmake').subproject(
+        'googletest',
+        cmake_options: ['-DCMAKE_CXX_FLAGS=-Wno-pedantic'],
+        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.allowed(), 'Googletest is required')
+    endif
 endif
 
 tests = [
-  'iface_test',
-  'sock_test',
-  #'ncsi_test',  # TODO: Re-enable when fixed
+    'iface_test',
+    'sock_test',
+    #'ncsi_test',  # TODO: Re-enable when fixed
 ]
 
 ncsid_test_headers = include_directories('.')
 
 ncsid_test_lib = static_library(
-  'ncsid_test',
-  [
-    'net_iface_mock.cpp',
-    'nic_mock.cpp',
-  ],
-  include_directories: ncsid_test_headers,
-  implicit_include_directories: false,
-  dependencies: ncsid)
+    'ncsid_test',
+    ['net_iface_mock.cpp', 'nic_mock.cpp'],
+    include_directories: ncsid_test_headers,
+    implicit_include_directories: false,
+    dependencies: ncsid,
+)
 
 ncsid_test = declare_dependency(
-  dependencies: ncsid,
-  include_directories: ncsid_test_headers,
-  link_with: ncsid_test_lib)
+    dependencies: ncsid,
+    include_directories: ncsid_test_headers,
+    link_with: ncsid_test_lib,
+)
 
 foreach t : tests
-  test(t, executable(t.underscorify(), t + '.cpp',
-                     implicit_include_directories: false,
-                     dependencies: [gtest, gmock, ncsid_test]))
+    test(
+        t,
+        executable(
+            t.underscorify(),
+            t + '.cpp',
+            implicit_include_directories: false,
+            dependencies: [gtest, gmock, ncsid_test],
+        ),
+    )
 endforeach
 
-script_tests = [
-  'normalize_ip_test',
-  'normalize_mac_test',
-]
+script_tests = ['normalize_ip_test', 'normalize_mac_test']
 
 script_env = environment()
 script_deps = []
@@ -76,6 +78,12 @@
 script_deps += normalize_mac
 
 foreach st : script_tests
-  test(st, find_program('bash'), args: files(st + '.sh'),
-    protocol: 'tap', env: script_env, depends: script_deps)
+    test(
+        st,
+        find_program('bash'),
+        args: files(st + '.sh'),
+        protocol: 'tap',
+        env: script_env,
+        depends: script_deps,
+    )
 endforeach
