diff --git a/daemon/fw/scope-prefix.cpp b/daemon/fw/scope-prefix.cpp
deleted file mode 100644
index 7f6043b..0000000
--- a/daemon/fw/scope-prefix.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/*
- * Copyright (c) 2014-2022,  Regents of the University of California,
- *                           Arizona Board of Regents,
- *                           Colorado State University,
- *                           University Pierre & Marie Curie, Sorbonne University,
- *                           Washington University in St. Louis,
- *                           Beijing Institute of Technology,
- *                           The University of Memphis.
- *
- * This file is part of NFD (Named Data Networking Forwarding Daemon).
- * See AUTHORS.md for complete list of NFD authors and contributors.
- *
- * NFD is free software: you can redistribute it and/or modify it under the terms
- * of the GNU General Public License as published by the Free Software Foundation,
- * either version 3 of the License, or (at your option) any later version.
- *
- * NFD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE.  See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "scope-prefix.hpp"
-
-namespace nfd::scope_prefix {
-
-const Name LOCALHOST("ndn:/localhost");
-const Name LOCALHOP("ndn:/localhop");
-
-} // namespace nfd::scope_prefix
diff --git a/daemon/fw/scope-prefix.hpp b/daemon/fw/scope-prefix.hpp
index fd8796c..9b48b22 100644
--- a/daemon/fw/scope-prefix.hpp
+++ b/daemon/fw/scope-prefix.hpp
@@ -41,7 +41,7 @@
  *  \li Interest can come from and go to local faces only.
  *  \li Data can come from and go to local faces only.
  */
-extern const Name LOCALHOST;
+inline const Name LOCALHOST{"/localhost"};
 
 /** \brief ndn:/localhop
  *
@@ -55,7 +55,7 @@
  *
  *  Data packets under prefix ndn:/localhop are unrestricted.
  */
-extern const Name LOCALHOP;
+inline const Name LOCALHOP{"/localhop"};
 
 } // namespace nfd::scope_prefix
 
diff --git a/daemon/nfd.cpp b/daemon/nfd.cpp
index a178fe4..5cda79e 100644
--- a/daemon/nfd.cpp
+++ b/daemon/nfd.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2021,  Regents of the University of California,
+ * Copyright (c) 2014-2022,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -45,7 +45,7 @@
 
 NFD_LOG_INIT(Nfd);
 
-const std::string INTERNAL_CONFIG("internal://nfd.conf");
+const std::string INTERNAL_CONFIG{"internal://nfd.conf"};
 
 Nfd::Nfd(ndn::KeyChain& keyChain)
   : m_keyChain(keyChain)
diff --git a/daemon/rib/readvertise/host-to-gateway-readvertise-policy.cpp b/daemon/rib/readvertise/host-to-gateway-readvertise-policy.cpp
index 2d8d3a5..ade9f8b 100644
--- a/daemon/rib/readvertise/host-to-gateway-readvertise-policy.cpp
+++ b/daemon/rib/readvertise/host-to-gateway-readvertise-policy.cpp
@@ -32,8 +32,8 @@
 
 namespace nfd::rib {
 
-const name::Component IGNORE_COMPONENT("nrd");
-const time::seconds DEFAULT_REFRESH_INTERVAL = 25_s;
+const name::Component IGNORE_COMPONENT{"nrd"};
+constexpr time::seconds DEFAULT_REFRESH_INTERVAL = 25_s;
 
 HostToGatewayReadvertisePolicy::HostToGatewayReadvertisePolicy(const ndn::KeyChain& keyChain,
                                                                const ConfigSection& section)
diff --git a/docs/conf.py b/docs/conf.py
index e661298..854d2a5 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,25 +1,17 @@
 # Configuration file for the Sphinx documentation builder.
 #
-# This file only contains a selection of the most common options. For a full
-# list see the documentation:
+# For the full list of built-in configuration values, see the documentation:
 # https://www.sphinx-doc.org/en/master/usage/configuration.html
 
-# -- Path setup --------------------------------------------------------------
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#
-# import os
+import importlib.util
 import sys
-# sys.path.insert(0, os.path.abspath('.'))
-
 
 # -- Project information -----------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
 
-project = u'Named Data Networking Forwarding Daemon (NFD)'
-copyright = u'Copyright © 2014-2022 Named Data Networking Project.'
-author = u'Named Data Networking Project'
+project = 'Named Data Networking Forwarding Daemon (NFD)'
+copyright = 'Copyright © 2014-2022 Named Data Networking Project.'
+author = 'Named Data Networking Project'
 
 # The short X.Y version.
 #version = ''
@@ -35,49 +27,31 @@
 
 
 # -- General configuration ---------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
 
-# If your documentation needs a minimal Sphinx version, state it here.
-#
-needs_sphinx = '1.3'
-
-# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
-# ones.
+needs_sphinx = '4.0'
 extensions = [
     'sphinx.ext.extlinks',
     'sphinx.ext.todo',
 ]
 
 def addExtensionIfExists(extension):
-    try:
-        __import__(extension)
+    if importlib.util.find_spec(extension) is not None:
         extensions.append(extension)
-    except ImportError:
-        sys.stderr.write("Extension '%s' not found. "
-                         "Some documentation may not build correctly.\n" % extension)
+    else:
+        sys.stderr.write(f'WARNING: Extension {extension!r} not found. '
+                          'Some documentation may not build correctly.\n')
 
 addExtensionIfExists('sphinxcontrib.doxylink')
 
-# The master toctree document.
-master_doc = 'index'
-
-# Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-# This pattern also affects html_static_path and html_extra_path.
-exclude_patterns = []
+exclude_patterns = ['Thumbs.db', '.DS_Store']
 
 
 # -- Options for HTML output -------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
 
-# The theme to use for HTML and HTML Help pages.  See the documentation for
-# a list of builtin themes.
-#
 html_theme = 'named_data_theme'
-
-# Add any paths that contain custom themes here, relative to this directory.
 html_theme_path = ['.']
 
 # Add any paths that contain custom static files (such as style sheets) here,
@@ -92,36 +66,8 @@
 highlight_language = 'none'
 
 
-# -- Options for LaTeX output ------------------------------------------------
-
-latex_elements = {
-    # The paper size ('letterpaper' or 'a4paper').
-    #
-    # 'papersize': 'letterpaper',
-
-    # The font size ('10pt', '11pt' or '12pt').
-    #
-    # 'pointsize': '10pt',
-
-    # Additional stuff for the LaTeX preamble.
-    #
-    # 'preamble': '',
-
-    # Latex figure (float) alignment
-    #
-    # 'figure_align': 'htbp',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title,
-#  author, documentclass [howto, manual, or own class]).
-latex_documents = [
-    ('index', 'nfd-docs.tex', u'Named Data Networking Forwarding Daemon (NFD)',
-     author, 'manual'),
-]
-
-
 # -- Options for manual page output ------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-manual-page-output
 
 # One entry per manual page. List of tuples
 # (source start file, name, description, authors, manual section).
@@ -142,16 +88,13 @@
     ('manpages/nfd-asf-strategy',       'nfd-asf-strategy',         'NFD ASF strategy',                     [], 7),
 ]
 
-# If true, show URL addresses after external links.
-#man_show_urls = True
 
-
-# -- Custom options ----------------------------------------------------------
+# -- Misc options ------------------------------------------------------------
 
 doxylink = {
     'nfd': ('NFD.tag', 'doxygen/'),
 }
 
 extlinks = {
-    'issue': ('https://redmine.named-data.net/issues/%s', 'issue #'),
+    'issue': ('https://redmine.named-data.net/issues/%s', 'issue #%s'),
 }
diff --git a/tools/ndn-autoconfig-server/program.cpp b/tools/ndn-autoconfig-server/program.cpp
index 542d91a..657782c 100644
--- a/tools/ndn-autoconfig-server/program.cpp
+++ b/tools/ndn-autoconfig-server/program.cpp
@@ -33,9 +33,9 @@
 
 namespace ndn::autoconfig_server {
 
-const Name HUB_DATA_NAME("/localhop/ndn-autoconf/hub");
-const Name ROUTABLE_PREFIXES_DATA_PREFIX("/localhop/nfd");
-const PartialName ROUTABLE_PREFIXES_DATA_SUFFIX("rib/routable-prefixes");
+const Name HUB_DATA_NAME{"/localhop/ndn-autoconf/hub"};
+const Name ROUTABLE_PREFIXES_DATA_PREFIX{"/localhop/nfd"};
+const PartialName ROUTABLE_PREFIXES_DATA_SUFFIX{"rib/routable-prefixes"};
 
 Program::Program(const Options& options, Face& face, KeyChain& keyChain)
   : m_face(face)
diff --git a/tools/ndn-autoconfig/multicast-discovery.cpp b/tools/ndn-autoconfig/multicast-discovery.cpp
index 550ed7f..cf87ec2 100644
--- a/tools/ndn-autoconfig/multicast-discovery.cpp
+++ b/tools/ndn-autoconfig/multicast-discovery.cpp
@@ -33,8 +33,8 @@
 
 using nfd::ControlParameters;
 
-const Name HUB_DISCOVERY_PREFIX("/localhop/ndn-autoconf/hub");
-constexpr uint64_t HUB_DISCOVERY_ROUTE_COST(1);
+const Name HUB_DISCOVERY_PREFIX{"/localhop/ndn-autoconf/hub"};
+constexpr uint64_t HUB_DISCOVERY_ROUTE_COST = 1;
 constexpr time::milliseconds HUB_DISCOVERY_ROUTE_EXPIRATION = 30_s;
 constexpr time::milliseconds HUB_DISCOVERY_INTEREST_LIFETIME = 4_s;
 
