diff --git a/.woodpecker/cargo-checks.yml b/.woodpecker/cargo-checks.yml
new file mode 100644
index 0000000..a5248ba
--- /dev/null
+++ b/.woodpecker/cargo-checks.yml
@@ -0,0 +1,20 @@
+when:
+  - event: pull_request
+  - event: push
+  - path:
+      include: ["*.rs"]
+
+steps:
+  configure_rustup:
+    image: rust
+    commands: |
+      rustup update stable && rustup default stable
+      rustup component add clippy
+  cargo_clippy:
+    image: rust
+    commands:
+      - cargo clippy --all-targets --all-features
+  cargo_test:
+    image: rust
+    commands:
+      - cargo test --all-features
diff --git a/.woodpecker/flake-update.yml b/.woodpecker/flake-update.yml
index 37d88de..56c672a 100644
--- a/.woodpecker/flake-update.yml
+++ b/.woodpecker/flake-update.yml
@@ -37,7 +37,7 @@ steps:
       owner: ${CI_REPO_OWNER}
       repo: ${CI_REPO_NAME}
       branch: flake-lock-update
-      base_branch: master
+      base_branch: main
       pr_title: "flake.lock: update"
       pr_body: PR automatically created by Woodpecker CI
       close_pr_if_empty: true
diff --git a/flake.nix b/flake.nix
index e23bd30..c6be631 100644
--- a/flake.nix
+++ b/flake.nix
@@ -18,6 +18,8 @@
   in {
     devShells.${system}.default = pkgs.mkShell {
       name = "forcebot_rs-devenv";
+      nativeBuildInputs = [pkgs.pkg-config];
+      buildInputs = with pkgs; [openssl libiconv];
       packages = with pkgs; [
         nil
         alejandra