diff --git a/aos/ipc_lib/aos_sync.cc b/aos/ipc_lib/aos_sync.cc
index 6bf5d8c..b1a9fb0 100644
--- a/aos/ipc_lib/aos_sync.cc
+++ b/aos/ipc_lib/aos_sync.cc
@@ -1054,9 +1054,7 @@
   return !__atomic_exchange_n(m, 0, __ATOMIC_SEQ_CST);
 }
 
-namespace aos {
-namespace linux_code {
-namespace ipc_lib {
+namespace aos::linux_code::ipc_lib {
 
 // Sets an extra offset between mutexes and the value we use for them in the
 // robust list (only the forward pointers). This is used to work around a kernel
@@ -1070,6 +1068,4 @@
 // This is mainly useful for testing.
 bool HaveLockedMutexes() { return my_robust_list::HaveLockedMutexes(); }
 
-}  // namespace ipc_lib
-}  // namespace linux_code
-}  // namespace aos
+}  // namespace aos::linux_code::ipc_lib
diff --git a/aos/ipc_lib/event_test.cc b/aos/ipc_lib/event_test.cc
index 40c48b2..eda9156 100644
--- a/aos/ipc_lib/event_test.cc
+++ b/aos/ipc_lib/event_test.cc
@@ -8,8 +8,7 @@
 #include "aos/testing/test_logging.h"
 #include "aos/time/time.h"
 
-namespace aos {
-namespace testing {
+namespace aos::testing {
 
 namespace chrono = ::std::chrono;
 namespace this_thread = ::std::this_thread;
@@ -89,5 +88,4 @@
   EXPECT_GE(finish_time - start_time, kWaitTime);
 }
 
-}  // namespace testing
-}  // namespace aos
+}  // namespace aos::testing
diff --git a/aos/ipc_lib/index.cc b/aos/ipc_lib/index.cc
index 4701f51..b6796b6 100644
--- a/aos/ipc_lib/index.cc
+++ b/aos/ipc_lib/index.cc
@@ -3,8 +3,7 @@
 #include <sstream>
 #include <string>
 
-namespace aos {
-namespace ipc_lib {
+namespace aos::ipc_lib {
 
 ::std::string QueueIndex::DebugString() const {
   if (valid()) {
@@ -29,5 +28,4 @@
   }
 }
 
-}  // namespace ipc_lib
-}  // namespace aos
+}  // namespace aos::ipc_lib
diff --git a/aos/ipc_lib/index_test.cc b/aos/ipc_lib/index_test.cc
index dca75a0..8e0da6d 100644
--- a/aos/ipc_lib/index_test.cc
+++ b/aos/ipc_lib/index_test.cc
@@ -3,9 +3,7 @@
 #include "glog/logging.h"
 #include "gtest/gtest.h"
 
-namespace aos {
-namespace ipc_lib {
-namespace testing {
+namespace aos::ipc_lib::testing {
 
 class QueueIndexTest : public ::testing::Test {
  protected:
@@ -204,6 +202,4 @@
 #endif
 }
 
-}  // namespace testing
-}  // namespace ipc_lib
-}  // namespace aos
+}  // namespace aos::ipc_lib::testing
diff --git a/aos/ipc_lib/lockless_queue.cc b/aos/ipc_lib/lockless_queue.cc
index f033e60..a26b564 100644
--- a/aos/ipc_lib/lockless_queue.cc
+++ b/aos/ipc_lib/lockless_queue.cc
@@ -22,8 +22,7 @@
 DEFINE_bool(dump_lockless_queue_data, false,
             "If true, print the data out when dumping the queue.");
 
-namespace aos {
-namespace ipc_lib {
+namespace aos::ipc_lib {
 namespace {
 
 class GrabQueueSetupLockOrDie {
@@ -1662,5 +1661,4 @@
   ::std::cout << "}" << ::std::endl;
 }
 
-}  // namespace ipc_lib
-}  // namespace aos
+}  // namespace aos::ipc_lib
diff --git a/aos/ipc_lib/lockless_queue_death_test.cc b/aos/ipc_lib/lockless_queue_death_test.cc
index 92ad8a8..ccf95f7 100644
--- a/aos/ipc_lib/lockless_queue_death_test.cc
+++ b/aos/ipc_lib/lockless_queue_death_test.cc
@@ -27,9 +27,7 @@
 #include "aos/realtime.h"
 #include "aos/testing/test_logging.h"
 
-namespace aos {
-namespace ipc_lib {
-namespace testing {
+namespace aos::ipc_lib::testing {
 
 namespace chrono = ::std::chrono;
 
@@ -216,6 +214,4 @@
 
 #endif
 
-}  // namespace testing
-}  // namespace ipc_lib
-}  // namespace aos
+}  // namespace aos::ipc_lib::testing
diff --git a/aos/ipc_lib/lockless_queue_test.cc b/aos/ipc_lib/lockless_queue_test.cc
index 5b57aa9..bfd9916 100644
--- a/aos/ipc_lib/lockless_queue_test.cc
+++ b/aos/ipc_lib/lockless_queue_test.cc
@@ -39,9 +39,7 @@
 #endif
              "Number of threads to race");
 
-namespace aos {
-namespace ipc_lib {
-namespace testing {
+namespace aos::ipc_lib::testing {
 
 namespace chrono = ::std::chrono;
 
@@ -566,6 +564,4 @@
 
 #endif
 
-}  // namespace testing
-}  // namespace ipc_lib
-}  // namespace aos
+}  // namespace aos::ipc_lib::testing
diff --git a/aos/ipc_lib/memory_mapped_queue.cc b/aos/ipc_lib/memory_mapped_queue.cc
index 594febb..d73b850 100644
--- a/aos/ipc_lib/memory_mapped_queue.cc
+++ b/aos/ipc_lib/memory_mapped_queue.cc
@@ -6,8 +6,7 @@
 
 #include "absl/strings/str_cat.h"
 
-namespace aos {
-namespace ipc_lib {
+namespace aos::ipc_lib {
 
 std::string ShmFolder(std::string_view shm_base, const Channel *channel) {
   CHECK(channel->has_name());
@@ -140,5 +139,4 @@
   PCHECK(munmap(const_cast<void *>(const_data_), size_) == 0);
 }
 
-}  // namespace ipc_lib
-}  // namespace aos
+}  // namespace aos::ipc_lib
diff --git a/aos/ipc_lib/queue_racer.cc b/aos/ipc_lib/queue_racer.cc
index 27f3835..aa73f2b 100644
--- a/aos/ipc_lib/queue_racer.cc
+++ b/aos/ipc_lib/queue_racer.cc
@@ -8,8 +8,7 @@
 
 #include "aos/ipc_lib/event.h"
 
-namespace aos {
-namespace ipc_lib {
+namespace aos::ipc_lib {
 namespace {
 
 struct ThreadPlusCount {
@@ -428,5 +427,4 @@
   }
 }
 
-}  // namespace ipc_lib
-}  // namespace aos
+}  // namespace aos::ipc_lib
diff --git a/aos/ipc_lib/robust_ownership_tracker.cc b/aos/ipc_lib/robust_ownership_tracker.cc
index f106113..13edebc 100644
--- a/aos/ipc_lib/robust_ownership_tracker.cc
+++ b/aos/ipc_lib/robust_ownership_tracker.cc
@@ -2,8 +2,7 @@
 
 #include "aos/ipc_lib/lockless_queue.h"
 
-namespace aos {
-namespace ipc_lib {
+namespace aos::ipc_lib {
 
 ::std::string RobustOwnershipTracker::DebugString() const {
   ::std::stringstream s;
@@ -21,5 +20,4 @@
   return s.str();
 }
 
-}  // namespace ipc_lib
-}  // namespace aos
+}  // namespace aos::ipc_lib
diff --git a/aos/ipc_lib/shm_observers.cc b/aos/ipc_lib/shm_observers.cc
index 04a6214..2f28e46 100644
--- a/aos/ipc_lib/shm_observers.cc
+++ b/aos/ipc_lib/shm_observers.cc
@@ -1,8 +1,6 @@
 #include "aos/ipc_lib/shm_observers.h"
 
-namespace aos {
-namespace linux_code {
-namespace ipc_lib {
+namespace aos::linux_code::ipc_lib {
 
 ShmAccessorObserver before_observer = nullptr, after_observer = nullptr;
 
@@ -12,6 +10,4 @@
   after_observer = after;
 }
 
-}  // namespace ipc_lib
-}  // namespace linux_code
-}  // namespace aos
+}  // namespace aos::linux_code::ipc_lib
diff --git a/aos/ipc_lib/signalfd.cc b/aos/ipc_lib/signalfd.cc
index f23d0be..d25151d 100644
--- a/aos/ipc_lib/signalfd.cc
+++ b/aos/ipc_lib/signalfd.cc
@@ -12,8 +12,7 @@
 
 #include "glog/logging.h"
 
-namespace aos {
-namespace ipc_lib {
+namespace aos::ipc_lib {
 namespace {
 
 // Wrapper which propagates msan information.
@@ -118,5 +117,4 @@
   return result;
 }
 
-}  // namespace ipc_lib
-}  // namespace aos
+}  // namespace aos::ipc_lib
diff --git a/aos/ipc_lib/signalfd_test.cc b/aos/ipc_lib/signalfd_test.cc
index 40c0a13..2f349c1 100644
--- a/aos/ipc_lib/signalfd_test.cc
+++ b/aos/ipc_lib/signalfd_test.cc
@@ -5,9 +5,7 @@
 
 #include "aos/testing/test_logging.h"
 
-namespace aos {
-namespace ipc_lib {
-namespace testing {
+namespace aos::ipc_lib::testing {
 
 // Tests in this file use separate threads to isolate all manipulation of signal
 // masks between test cases.
@@ -72,6 +70,4 @@
                "Some other code unblocked one or more of our signals");
 }
 
-}  // namespace testing
-}  // namespace ipc_lib
-}  // namespace aos
+}  // namespace aos::ipc_lib::testing
