diff --git a/gnu/system.scm b/gnu/system.scm
index 393b89633588519fc49acd675874e3b53adff355..b1445dcab742415bbea2651f7c396766fa6e3ee4 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -291,6 +291,10 @@ (define* (etc-directory #:key
 /run/current-system/profile/bin/bash\n"))
        (issue      (text-file "issue" issue))
 
+       ;; For now, generate a basic config so that /etc/hosts is honored.
+       (nsswitch   (text-file "nsswitch.conf"
+                              "hosts: files dns\n"))
+
        ;; TODO: Generate bashrc from packages' search-paths.
        (bashrc    (text-file* "bashrc"  "
 export PS1='\\u@\\h \\w\\$ '
@@ -317,6 +321,7 @@ (define* (etc-directory #:key
                   ("pam.d" ,#~#$pam.d)
                   ("login.defs" ,#~#$login.defs)
                   ("issue" ,#~#$issue)
+                  ("nsswitch.conf" ,#~#$nsswitch)
                   ("skel" ,#~#$skel)
                   ("shells" ,#~#$shells)
                   ("profile" ,#~#$bashrc)