diff --git a/defaults/main.yml b/defaults/main.yml
index 5ce8d9dec623508d50c692c26732ec2ff640fc45..f36d831f182783c16cec50032c489bd1ea425a5d 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -1,3 +1,6 @@
+basic_tools:
+  install_packages: True
+
 default_repos:
   debian:
     bullseye:
diff --git a/tasks/main.yml b/tasks/main.yml
index 8957ada07f497e219964ffb4427fc753130d8f2a..31b63d8c7a0e86bcfa96b88eee3816c9bfe973da 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -1,5 +1,7 @@
 ---
 - name: install default packages and repos
+  when:
+    - basic_tools.install_packages
   include_role:
     name: packages
   vars:
@@ -16,7 +18,7 @@
 - name: copy vimrc
   copy:
     src: dotfiles/vimrc
-    dest: /etc/vim/vimrc
+    dest: "{% if ansible_facts['distribution'] != 'Archlinux' %}/etc/vim/vimrc{% else %}/etc/vimrc{% endif %}"
     mode: 0644
 - name: copy zshrc
   copy:
@@ -41,6 +43,8 @@
     mode: 0644
 
 - name: enforce vim as editor
+  when:
+    - ansible_facts['distribution'] != 'Archlinux'
   community.general.alternatives:
     name: editor
     path: /usr/bin/vim.basic