diff --git a/main.yaml b/main.yaml
index 4792c70e..2200e619 100644
--- a/main.yaml
+++ b/main.yaml
@@ -11,6 +11,7 @@
       tags:
         - "skip-if-wsl"
     - role: fzf
+    - role: gnome-tweak-tools
     - role: git
     - role: htop
     - role: lazydocker
@@ -18,9 +19,11 @@
     - role: neovim
     - role: nnn
     - role: neovim-lsp
+    - role: npm
     - role: pv
     - role: rename
     - role: ripgrep
+    - role: tldr
     - role: tmux
     - role: zsh
     - role: zsh-antigen
diff --git a/roles/gnome-tweak-tools/tasks/main.yaml b/roles/gnome-tweak-tools/tasks/main.yaml
new file mode 100644
index 00000000..681ce503
--- /dev/null
+++ b/roles/gnome-tweak-tools/tasks/main.yaml
@@ -0,0 +1,7 @@
+---
+- name: Install
+  ansible.builtin.package:
+    name:
+      - gnome-tweaks
+    state: latest
+  become: true
diff --git a/roles/npm/tasks/main.yaml b/roles/npm/tasks/main.yaml
new file mode 100644
index 00000000..fb6eeb03
--- /dev/null
+++ b/roles/npm/tasks/main.yaml
@@ -0,0 +1,7 @@
+---
+- name: Install
+  ansible.builtin.package:
+    name:
+      - npm
+    state: latest
+  become: true
diff --git a/roles/tldr/tasks/main.yaml b/roles/tldr/tasks/main.yaml
new file mode 100644
index 00000000..08ae98f6
--- /dev/null
+++ b/roles/tldr/tasks/main.yaml
@@ -0,0 +1,7 @@
+---
+- name: Install
+  ansible.builtin.package:
+    name:
+      - tldr
+    state: latest
+  become: true