diff --git a/home/adrielus/features/cli/fish.nix b/home/adrielus/features/cli/fish.nix
index 2fa7c94..e213df4 100644
--- a/home/adrielus/features/cli/fish.nix
+++ b/home/adrielus/features/cli/fish.nix
@@ -1,11 +1,4 @@
-{ config, pkgs, ... }:
-let base16-fish = pkgs.fetchFromGitHub {
-  owner = "tomyun";
-  repo = "base16-fish";
-  sha256 = "142fmqm324gy3qsv48vijm5k81v6mw85ym9mmhnvyv2q2ndg5rix";
-  rev = "2f6dd973a9075dabccd26f1cded09508180bf5fe";
-};
-in
+{ pkgs, ... }:
 {
   programs.fish = {
     enable = true;
@@ -18,9 +11,6 @@ in
     shellAliases = {
       # Print available battery
       battery = "acpi";
-
-      # Rebuild nixos
-      rebuild = "sudo -u adrielus nixos-rebuild switch --flake ~/Projects/nixos-config/";
     };
 
     plugins = with pkgs.fishPlugins; [
@@ -62,11 +52,6 @@ in
           bind -e -M insert -k f10 # unbinds f10
           bind -M insert -m default -k f10 'commandline -f repaint' # Exit insert mode with <f10>
         end
-      '' +
-      # Theming 
-      ''
-        source ${config.scheme base16-fish}
-      ''
-    ;
+      '';
   };
 }
diff --git a/home/adrielus/features/desktop/common/polybar/polybar.ini b/home/adrielus/features/desktop/common/polybar/polybar.ini
index 0d48fc8..c316b9b 100644
--- a/home/adrielus/features/desktop/common/polybar/polybar.ini
+++ b/home/adrielus/features/desktop/common/polybar/polybar.ini
@@ -74,7 +74,7 @@ icon-default = 
 format = <label-state>
 
 label-active = %icon%
-label-active-background = ${colors.base0A}
+label-active-background = ${colors.base05}
 label-active-foreground = ${colors.base00}
 label-active-padding = 2
 
@@ -103,9 +103,9 @@ module-margin = 2
 height=4%
 
 border-top-size = 1
-border-top-color= ${colors.base0A}
+border-top-color= ${colors.base05}
 
 background = ${colors.base00}
-foreground = ${colors.base0A}
+foreground = ${colors.base05}
 
 bottom = true
diff --git a/home/adrielus/features/desktop/common/wallpapers/nix-catppuccin.png b/home/adrielus/features/desktop/common/wallpapers/nix-catppuccin.png
new file mode 100644
index 0000000..c1f20a2
Binary files /dev/null and b/home/adrielus/features/desktop/common/wallpapers/nix-catppuccin.png differ
diff --git a/home/adrielus/features/desktop/common/xwallpaper.nix b/home/adrielus/features/desktop/common/xwallpaper.nix
index 6311f54..b01b159 100644
--- a/home/adrielus/features/desktop/common/xwallpaper.nix
+++ b/home/adrielus/features/desktop/common/xwallpaper.nix
@@ -1,3 +1,10 @@
+{ config, ... }:
+let
+  wallpapers = {
+    "Catppuccin Latte" = ./wallpapers/wall.png;
+    "Catppuccin Frappe" = ./wallpapers/nix-catppuccin.png;
+  };
+in
 {
-  home.file.".background-image".source = ./wallpapers/wall.png;
+  home.file.".background-image".source = wallpapers.${config.scheme.scheme};
 }
diff --git a/home/adrielus/global/default.nix b/home/adrielus/global/default.nix
index a0a7404..169bf2f 100644
--- a/home/adrielus/global/default.nix
+++ b/home/adrielus/global/default.nix
@@ -40,8 +40,8 @@ in
   };
 
   # Set default theme
-  # scheme = lib.mkDefault "${inputs.catppuccin-base16}/base16/latte.yaml";
-  scheme = lib.mkDefault "${inputs.rosepine-base16}/rose-pine-dawn.yaml";
+  scheme = lib.mkDefault "${inputs.catppuccin-base16}/base16/frappe.yaml";
+  # scheme = lib.mkDefault "${inputs.rosepine-base16}/rose-pine-dawn.yaml";
 
   # Set reasonable defaults for some settings
   home = {
diff --git a/hosts/nixos/common/global/default.nix b/hosts/nixos/common/global/default.nix
index 1261f28..37420a4 100644
--- a/hosts/nixos/common/global/default.nix
+++ b/hosts/nixos/common/global/default.nix
@@ -1,7 +1,8 @@
 # Configuration pieces included on all (nixos) hosts
-{ inputs, outputs, ... }: {
+{ inputs, outputs, lib, ... }: {
   imports = [
     inputs.agenix.nixosModule
+    inputs.base16.nixosModule
     # inputs.impermanence.nixosModule
 
     ./nix.nix
@@ -15,6 +16,8 @@
     "/etc/ssh/ssh_host_ed25519_key"
   ];
 
+  scheme = lib.mkDefault "${inputs.catppuccin-base16}/base16/frappe.yaml";
+
   nixpkgs = {
     # Add all overlays defined in the overlays directory
     overlays = builtins.attrValues outputs.overlays ++ [
diff --git a/hosts/nixos/common/optional/xmonad/Main.hs b/hosts/nixos/common/optional/xmonad/Main.hs
index 441c756..2eeda6d 100644
--- a/hosts/nixos/common/optional/xmonad/Main.hs
+++ b/hosts/nixos/common/optional/xmonad/Main.hs
@@ -24,8 +24,8 @@ main =
             terminal = myTerminal,
             workspaces = myWorkspaces,
             borderWidth = 5,
-            focusedBorderColor = "#d7827e",
-            normalBorderColor = "#d7827e",
+            focusedBorderColor = "#{{base05-hex}}",
+            normalBorderColor = "#{{base05-hex}}",
             startupHook = startup,
             layoutHook = avoidStruts myLayoutHook,
             manageHook = manageDocks <+> manageSpawn <+> manageHook def,
diff --git a/hosts/nixos/common/optional/xmonad/default.nix b/hosts/nixos/common/optional/xmonad/default.nix
index 9ec4ce7..7e5479c 100644
--- a/hosts/nixos/common/optional/xmonad/default.nix
+++ b/hosts/nixos/common/optional/xmonad/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, ... }:
+{ pkgs, config, ... }:
 {
   services.xserver = {
     enable = true;
@@ -7,9 +7,11 @@
     windowManager.xmonad = {
       enable = true;
       enableContribAndExtras = true;
-      config = ./Main.hs;
-    };
 
+      config = builtins.readFile (config.scheme {
+        template = builtins.readFile ./Main.hs;
+      });
+    };
 
     # Proper wallpaper zooming
     desktopManager.wallpaper.mode = "fill";