diff --git a/hmModules/btop/default.nix b/hmModules/btop/default.nix
index d3568da..5d23dec 100644
--- a/hmModules/btop/default.nix
+++ b/hmModules/btop/default.nix
@@ -1,21 +1,9 @@
-{ pkgs, ... }:
 {
   programs.btop = {
     enable = true;
     settings = {
       update_ms = 100;
       theme_background = false;
-      # color_theme = "${config.programs.btop.package}/share/btop/themes/dracula.theme";
-      color_theme =
-        let
-          catppuccin-theme = pkgs.fetchFromGitHub {
-            owner = "catppuccin";
-            repo = "btop";
-            rev = "21b8d5956a8b07fa52519e3267fb3a2d2e693d17";
-            hash = "sha256-UXeTypc15MhjgGUiCrDUZ40m32yH2o1N+rcrEgY6sME=";
-          };
-        in
-        "${catppuccin-theme}/themes/catppuccin_mocha.theme";
     };
   };
 }
diff --git a/hmModules/catppuccin/default.nix b/hmModules/catppuccin/default.nix
new file mode 100644
index 0000000..7b00ca9
--- /dev/null
+++ b/hmModules/catppuccin/default.nix
@@ -0,0 +1,39 @@
+{ lib, ... }:
+{
+  catppuccin = {
+    enable = true;
+    flavor = "mocha";
+    accent = "sapphire";
+  };
+
+  qt = {
+    platformTheme.name = lib.mkForce "kvantum";
+    style.name = lib.mkForce "kvantum";
+  };
+
+  # TODO move away
+  programs.alacritty = {
+    enable = true;
+    settings = {
+      font = {
+        normal = {
+          family = "Fira Code";
+          style = "Regular";
+        };
+        bold = {
+          family = "Fira Code";
+          style = "Bold";
+        };
+        italic = {
+          family = "Cascadia Code";
+          style = "Italic";
+        };
+        bold_italic = {
+          family = "Fira Code";
+          style = "Bold Italic";
+        };
+        size = 13;
+      };
+    };
+  };
+}
diff --git a/hmModules/foot/default.nix b/hmModules/foot/default.nix
index 620e385..620d5f8 100644
--- a/hmModules/foot/default.nix
+++ b/hmModules/foot/default.nix
@@ -1,59 +1,50 @@
 {
   lib,
-  pkgs,
   config,
   ...
 }:
 lib.mkMerge [
   {
-    programs.foot =
-      let
-        catppuccin = pkgs.fetchFromGitHub {
-          owner = "catppuccin";
-          repo = "foot";
-          rev = "307611230661b7b1787feb7f9d122e851bae97e9";
-          hash = "sha256-mkPYHDJtfdfDnqLr1YOjaBpn4lCceok36LrnkUkNIE4=";
-        };
-      in
-      {
-        enable = true;
-        server.enable = true;
-        settings = {
-          main = {
-            term = "xterm-256color";
-            login-shell = "yes";
-            dpi-aware = "no";
-            horizontal-letter-offset = "1";
-            include = "${catppuccin}/themes/catppuccin-mocha.ini";
-            font =
-              let
-                size = "13";
-              in
+    programs.foot = {
+      enable = true;
+      server.enable = true;
+      settings = {
+        main = {
+          term = "xterm-256color";
+          login-shell = "yes";
+          dpi-aware = "no";
+          horizontal-letter-offset = "1";
+          font =
+            let
+              size = "13";
+            in
+            lib.mkForce (
               lib.concatStringsSep ", " [
                 "Iosevka Comfy:size=${size}"
                 "Symbols Nerd Font:size=${size}"
                 "JoyPixels:size=${size}"
-              ];
-          };
-          cursor = {
-            blink = true;
-          };
-          tweak = {
-            overflowing-glyphs = true;
-          };
+              ]
+            );
+        };
+        cursor = {
+          blink = true;
+        };
+        tweak = {
+          overflowing-glyphs = true;
+        };
 
-          key-bindings = {
-            scrollback-up-page = "Control+Shift+k";
-            scrollback-down-page = "Control+Shift+j";
-            search-start = "Control+Shift+s";
-            pipe-command-output = ''[sh -c 'f=$(mktemp); cat - > $f; footclient hx $f; rm $f'] Control+Shift+g'';
-          };
+        key-bindings = {
+          scrollback-up-page = "Control+Shift+k";
+          scrollback-down-page = "Control+Shift+j";
+          search-start = "Control+Shift+s";
+          pipe-command-output = ''[sh -c 'f=$(mktemp); cat - > $f; footclient hx $f; rm $f'] Control+Shift+g'';
+        };
 
-          mouse = {
-            hide-when-typing = "yes";
-          };
+        mouse = {
+          hide-when-typing = "yes";
         };
       };
+    };
   }
   (lib.mkIf config.programs.fish.enable {
     programs.fish.functions = {
diff --git a/hmModules/helix/default.nix b/hmModules/helix/default.nix
index 5816637..c6ef610 100644
--- a/hmModules/helix/default.nix
+++ b/hmModules/helix/default.nix
@@ -12,7 +12,6 @@
     enable = true;
     defaultEditor = true;
     settings = {
-      theme = "catppuccin_mocha";
       editor = {
         indent-guides.render = true;
         cursor-shape = {
diff --git a/hmModules/hyprland/default.nix b/hmModules/hyprland/default.nix
index 646254c..92ffe67 100644
--- a/hmModules/hyprland/default.nix
+++ b/hmModules/hyprland/default.nix
@@ -56,21 +56,20 @@ in
 
   gtk = {
     enable = true;
-    font.name = "Sans,Symbols Nerd Font";
+    # font.name = lib.mkForce "Sans,Symbols Nerd Font";
     iconTheme = {
       name = "Adwaita";
       package = pkgs.adwaita-icon-theme;
     };
-    cursorTheme = {
-      name = "catppuccin-mocha-sapphire";
-      package = pkgs.catppuccin-cursors;
-      size = 48;
-    };
+    # cursorTheme = {
+    #   name = "catppuccin-mocha-sapphire";
+    #   package = pkgs.catppuccin-cursors;
+    #   size = 48;
+    # };
   };
 
   qt = {
     enable = true;
-    platformTheme.name = "gtk3";
   };
 
   # services.kanshi = {
diff --git a/hmModules/shell/default.nix b/hmModules/shell/default.nix
index 64f955e..d1e8fc4 100644
--- a/hmModules/shell/default.nix
+++ b/hmModules/shell/default.nix
@@ -116,45 +116,11 @@
   #   '';
   # };
 
-  xdg.configFile = {
-    "dracula-theme" = {
-      target = "fish/themes/dracula.theme";
-      source =
-        let
-          theme = pkgs.fetchFromGitHub {
-            owner = "dracula";
-            repo = "fish";
-            rev = "269cd7d76d5104fdc2721db7b8848f6224bdf554";
-            hash = "sha256-Hyq4EfSmWmxwCYhp3O8agr7VWFAflcUe8BUKh50fNfY=";
-          };
-        in
-        "${theme}/themes/Dracula\ Official.theme";
-    };
-    "catppuccin-theme" = {
-      target = "fish/themes/Catppuccin\ Mocha.theme";
-      source =
-        let
-          theme = pkgs.fetchFromGitHub {
-            owner = "catppuccin";
-            repo = "fish";
-            rev = "a3b9eb5eaf2171ba1359fe98f20d226c016568cf";
-            hash = "sha256-shQxlyoauXJACoZWtRUbRMxmm10R8vOigXwjxBhG8ng=";
-          };
-        in
-        "${theme}/themes/Catppuccin\ Mocha.theme";
-    };
-  };
-
   programs.fish = {
     enable = true;
-    shellInit =
-      ''
-        fish_config theme choose "dracula"
-        fish_config theme choose "Catppuccin Mocha"
-      ''
-      + lib.optionalString (builtins.hasAttr "cachix-personal-token" age.secrets) ''
-        export CACHIX_AUTH_TOKEN=$(cat ${age.secrets.cachix-personal-token.path})
-      '';
+    shellInit = lib.optionalString (builtins.hasAttr "cachix-personal-token" age.secrets) ''
+      export CACHIX_AUTH_TOKEN=$(cat ${age.secrets.cachix-personal-token.path})
+    '';
     shellAliases = {
       "cat" = "bat";
     };
diff --git a/hmModules/sway/default.nix b/hmModules/sway/default.nix
index 26fee7a..95d5bf4 100644
--- a/hmModules/sway/default.nix
+++ b/hmModules/sway/default.nix
@@ -28,7 +28,7 @@
 
     gtk = {
       enable = true;
-      font.name = "Sans,Symbols Nerd Font";
+      font.name = lib.mkForce "Sans,Symbols Nerd Font";
       iconTheme = {
         name = "Adwaita";
         package = pkgs.adwaita-icon-theme;
diff --git a/hosts/default.nix b/hosts/default.nix
index 18e0bc7..400f3ce 100644
--- a/hosts/default.nix
+++ b/hosts/default.nix
@@ -68,11 +68,13 @@
           inputs.nixThePlanet.nixosModules.macos-ventura
           inputs.lix-module.nixosModules.default
           inputs.lanzaboote.nixosModules.lanzaboote
+          inputs.catppuccin.nixosModules.catppuccin
         ];
         extraHmModules = [
           # inputs.ccrEmacs.hmModules.default
           "${inputs.homeManagerGitWorkspace}/modules/services/git-workspace.nix"
           inputs.vscode-server.nixosModules.home
+          inputs.catppuccin.homeManagerModules.catppuccin
         ];
         secrets = {
           "picard-wireguard-private-key" = { };
diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix
index baf46b0..def7e50 100644
--- a/hosts/picard/default.nix
+++ b/hosts/picard/default.nix
@@ -84,6 +84,7 @@
       "reinstall-magisk-on-lineage"
       "vscode-server"
       "zk"
+      "catppuccin"
     ];
     extraGroups = [ ];
     backupPaths = [ ];