Subject: Imported packages' indentation doesn't respect Guix conventions

From: Maxim Cournoyer <[email-masked]>
Date: Wed, 04 Sep 2019 12:17:10 +0900

The package definitions imported by Guix importers do not respect Guix
conventions regarding indentation.

Consider:

guix pypi import transaction

(package
  (name "python-transaction")
  (version "2.4.0")
  (source
    (origin
      (method url-fetch)
      (uri (pypi-uri "transaction" version))
      (sha256
        (base32
          "17wz1y524ca07vr03yddy8dv0gbscs06dbdywmllxv5rc725jq3j"))))
  (build-system python-build-system)
  (propagated-inputs
    `(("python-zope.interface" ,python-zope.interface)))
  (native-inputs
    `(("python-coverage" ,python-coverage)
      ("python-mock" ,python-mock)
      ("python-nose" ,python-nose)))
  (home-page
    "https://github.com/zopefoundation/transaction")
  (synopsis "Transaction management for Python")
  (description "Transaction management for Python")
  (license #f))

Re-identing this in Emacs with the Guix .dir-local.el indentation
customizations yields:

(define-public python-transaction
  (package
    (name "python-transaction")
    (version "2.4.0")
    (source
     (origin
       (method url-fetch)
       (uri (pypi-uri "transaction" version))
       (sha256
        (base32
         "17wz1y524ca07vr03yddy8dv0gbscs06dbdywmllxv5rc725jq3j"))))
    (build-system python-build-system)
    (propagated-inputs
     `(("python-zope.interface" ,python-zope.interface)))
    (native-inputs
     `(("python-coverage" ,python-coverage)
       ("python-mock" ,python-mock)
       ("python-nose" ,python-nose)))
    (home-page
     "https://github.com/zopefoundation/transaction")
    (synopsis "Transaction management for Python")
    (description "Transaction management for Python")
    (license #f)))

Multiple record fields indentation offset is set to 1 instead of the
regular 2.

This is produced by the function pretty-print from ice-9. Maybe there's
a way to configure the indentation rules used by pretty-print?