diff --git a/defaults/main.yml b/defaults/main.yml
index 4a377553191377df7fca786f75758c2c8925c7ba..0969bfeff8071afd837ae59de7fc364a70bdcbbf 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -28,7 +28,11 @@ default_repos:
       backports:
         url: "deb http://http.debian.net/{{ ansible_distribution|lower }} {{ ansible_distribution_release|lower }}-backports main contrib non-free"
   raspbian:
-    bookworm: {}
+    bookworm:
+      raspbian:
+        url: "deb http://raspbian.raspberrypi.org/raspbian/ {{ ansible_distribution_release|lower }} main contrib non-free rpi"
+      debian:
+        url: "deb http://archive.raspberrypi.org/debian/ {{ ansible_distribution_release|lower }} main non-free"
     bullseye: {}
     buster: {}
 
@@ -80,3 +84,7 @@ default_packages:
       zsh: {}
     bullseye: *debian_packages
     buster: *debian_packages
+  raspbian:
+    bookworm: *debian_packages
+    bullseye: *debian_packages
+    buster: *debian_packages
diff --git a/tasks/main.yml b/tasks/main.yml
index 8957ada07f497e219964ffb4427fc753130d8f2a..a44023cdf8b3680b29ca857432d480ecbef738af 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -1,11 +1,14 @@
 ---
+- name: workaround for raspbian naming
+  set_fact:
+    package_distro: "{% if ansible_lsb.id == 'Raspbian' %}raspbian{% else %}{{ ansible_distribution|lower }}{% endif %}"
 - name: install default packages and repos
   include_role:
     name: packages
   vars:
     packages:
-      pkg: "{{ default_packages[ansible_distribution|lower][ansible_distribution_release|lower] }}"
-      repos: "{{ default_repos[ansible_distribution|lower][ansible_distribution_release|lower] }}"
+      pkg: "{{ default_packages[package_distro][ansible_distribution_release|lower] }}"
+      repos: "{{ default_repos[package_distro][ansible_distribution_release|lower] }}"
 
 - name: copy environment
   copy: