diff --git a/roles/gnome-shell/tasks/main.yaml b/roles/gnome-shell/tasks/main.yaml
index 4d93881..a94210f 100644
--- a/roles/gnome-shell/tasks/main.yaml
+++ b/roles/gnome-shell/tasks/main.yaml
@@ -10,6 +10,36 @@
       - gnome-themes-extra
     state: latest
 
+- name: autostart 1password
+  copy:
+    dest: '{{ansible_env.HOME}}/.config/autostart/1password.desktop'
+    content: |
+      [Desktop Entry]
+      Name=1Password
+      Exec=/opt/1Password/1password %U
+      Terminal=false
+      Type=Application
+      Icon=1password
+      StartupWMClass=1Password
+      Comment=Password manager and secure wallet
+      MimeType=x-scheme-handler/onepassword;x-scheme-handler/onepassword8;
+      Categories=Office;
+
+- name: autostart ulauncher
+  copy:
+    dest: '{{ansible_env.HOME}}/.config/autostart/ulauncher.desktop'
+    content: |
+      [Desktop Entry]
+      Name=Ulauncher
+      Comment=Application launcher for Linux
+      GenericName=Launcher
+      Categories=GNOME;GTK;Utility;
+      TryExec=/usr/bin/ulauncher
+      Exec=env GDK_BACKEND=x11 /usr/bin/ulauncher --hide-window
+      Icon=ulauncher
+      Terminal=false
+      Type=Application
+
 - name: prefer dark mode
   gsettings:
     schema: org.gnome.desktop.interface