diff --git a/src/lib.rs b/src/lib.rs
index 1762c0e8764bb393213b3768064678e793b766d8..04823d10527606b6a8b3fc70582cf60a055e9773 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,2 +1,4 @@
+#[macro_use] extern crate pamsm;
+
 mod config;
 mod pam;
diff --git a/src/pam.rs b/src/pam.rs
index fdd58b32a4d5965824ae175a6056cf7600dd8eed..24ca4e2f12d3f9b321d156861eb86d2fd7eb112a 100644
--- a/src/pam.rs
+++ b/src/pam.rs
@@ -34,7 +34,6 @@ use oauth2::basic::{
 };
 use oauth2::reqwest::http_client;
 
-extern crate pamsm;
 use pamsm::{PamServiceModule, Pam, PamFlag, PamError, PamLibExt};
 
 fn get_or_pam_error(config: &Config, key: &str) -> Result<String, PamError> {
@@ -104,3 +103,5 @@ impl PamServiceModule for PamOidc {
         return PamError::SERVICE_ERR;
     }
 }
+
+pam_module!(PamOidc);