diff --git a/flake.nix b/flake.nix
index 11a075a..159120c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -52,6 +52,7 @@
     , nixos
     , home
     , nixos-hardware
+    , darwin
     , pinebook-pro
     , pinebook-pro-kernel-latest
     , nixpkgs-wayland
@@ -62,122 +63,132 @@
     , ...
     } @ inputs:
 
-      digga.lib.mkFlake
-        {
-          inherit self inputs;
+    digga.lib.mkFlake
+      {
+        inherit self inputs;
 
-          channelsConfig = { allowUnfree = true; };
+        channelsConfig = { allowUnfree = true; };
 
-          channels =
-            let
-              commonOverlays = [
-                digga.overlays.patchedNix
-                nur.overlay
-                emacs-overlay.overlay
-                nvfetcher.overlay
-                deploy.overlay
-                nixpkgs-wayland.overlay
-                ./pkgs/default.nix
-              ];
-            in
-              {
-                stable = {
-                  imports = [ (digga.lib.importOverlays ./overlays) ];
-                  overlays = commonOverlays;
-                };
-                unstable = {
-                  imports = [ (digga.lib.importOverlays ./overlays) ];
-                  overlays = commonOverlays;
-                };
-              };
-
-          lib = import ./lib { lib = digga.lib // nixos.lib; };
-
-          sharedOverlays = [
-            (
-              final: prev: {
-                __dontExport = true;
-                lib = prev.lib.extend (
-                  lfinal: lprev: {
-                    our = self.lib;
-                  }
-                );
-              }
-            )
-          ];
-
-          nixos = {
-            hostDefaults = {
-              channelName = "unstable";
-              imports = [ (digga.lib.importModules ./modules) ];
-              externalModules = [
-                { lib.our = self.lib; }
-                digga.nixosModules.bootstrapIso
-                digga.nixosModules.nixConfig
-                home.nixosModules.home-manager
-                bud.nixosModules.bud
-              ];
+        channels =
+          let
+            commonOverlays = [
+              digga.overlays.patchedNix
+              nur.overlay
+              emacs-overlay.overlay
+              nvfetcher.overlay
+              deploy.overlay
+              nixpkgs-wayland.overlay
+              ./pkgs/default.nix
+            ];
+          in
+          {
+            stable = {
+              imports = [ (digga.lib.importOverlays ./overlays) ];
+              overlays = commonOverlays;
             };
-            hosts = {
-              pc = {
-                system = "x86_64-linux";
-              };
-              pbp = {
-                system = "aarch64-linux";
-                modules = [
-                  "${pinebook-pro}/pinebook_pro.nix"
-                ];
-              };
+            unstable = {
+              imports = [ (digga.lib.importOverlays ./overlays) ];
+              overlays = commonOverlays;
             };
-            imports = [ (digga.lib.importHosts ./hosts) ];
-            importables = rec {
-              profiles = digga.lib.rakeLeaves ./profiles // {
-                users = digga.lib.rakeLeaves ./users;
-              };
-              suites = with profiles; rec {
-                base = [ core users.ccr users.root ];
-              };
-              pbpKernelLatest = (
-                import pinebook-pro-kernel-latest {
-                  system = "aarch64-linux";
-                  overlays = [
-                    (import "${pinebook-pro}/overlay.nix")
-                  ];
-                  config.allowUnfree = true;
+          };
+
+        lib = import ./lib { lib = digga.lib // nixos.lib; };
+
+        sharedOverlays = [
+          (
+            final: prev: {
+              __dontExport = true;
+              lib = prev.lib.extend (
+                lfinal: lprev: {
+                  our = self.lib;
                 }
-              ).pkgs.linuxPackages_pinebookpro_latest;
+              );
+            }
+          )
+        ];
+
+        nixos = {
+          hostDefaults = {
+            channelName = "unstable";
+            imports = [ (digga.lib.importModules ./modules) ];
+            externalModules = [
+              { lib.our = self.lib; }
+              digga.nixosModules.bootstrapIso
+              digga.nixosModules.nixConfig
+              home.nixosModules.home-manager
+              bud.nixosModules.bud
+            ];
+          };
+          hosts = {
+            # mbp is added bypassing Digga's mkFlake and adding a specific output to this flake
+            pc = {
+              system = "x86_64-linux";
+              imports = [{ modules = ./hosts/pc; }];
+            };
+            pbp = {
+              system = "aarch64-linux";
+              imports = [{ modules = ./hosts/pbp; }];
+              modules = [
+                "${pinebook-pro}/pinebook_pro.nix"
+              ];
             };
           };
+          # imports = [ (digga.lib.importHosts ./hosts) ]; # same reason as above
+          importables = rec {
+            profiles = digga.lib.rakeLeaves ./profiles // {
+              users = digga.lib.rakeLeaves ./users;
+            };
+            suites = with profiles; rec {
+              base = [ core users.ccr users.root ];
+            };
+            pbpKernelLatest = (
+              import pinebook-pro-kernel-latest {
+                system = "aarch64-linux";
+                overlays = [
+                  (import "${pinebook-pro}/overlay.nix")
+                ];
+                config.allowUnfree = true;
+              }
+            ).pkgs.linuxPackages_pinebookpro_latest;
+          };
+        };
 
-          home = {
-            imports = [ (digga.lib.importModules ./users/modules) ];
-            externalModules = [];
-            importables = rec {
-              profiles = digga.lib.rakeLeaves ./users/profiles;
-              suites = with profiles; rec {
-                base = [ direnv git zsh gpg password-store ];
-                shell = [ zsh exa fzf ];
-                gui = [ sway xdg gtk foot bat ];
-                browser = [ firefox chromium qutebrowser ];
-                multimedia = [ mpv zathura ];
-                dev = [ vim emacs vscode lorri direnv ];
-              };
+        home = {
+          imports = [ (digga.lib.importModules ./users/modules) ];
+          externalModules = [ ];
+          importables = rec {
+            profiles = digga.lib.rakeLeaves ./users/profiles;
+            suites = with profiles; rec {
+              base = [ direnv git zsh gpg password-store ];
+              shell = [ zsh exa fzf ];
+              gui = [ sway xdg gtk foot bat ];
+              browser = [ firefox chromium qutebrowser ];
+              multimedia = [ mpv zathura ];
+              dev = [ vim emacs vscode lorri direnv ];
             };
           };
+        };
 
-          devshell = ./shell;
+        devshell = ./shell;
 
-          homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations;
+        homeConfigurations = digga.lib.mkHomeConfigurations self.nixosConfigurations;
 
-          deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations {};
+        deploy.nodes = digga.lib.mkDeployNodes self.nixosConfigurations { };
 
-          defaultTemplate = self.templates.bud;
-          templates.bud.path = ./.;
-          templates.bud.description = "bud template";
+        defaultTemplate = self.templates.bud;
+        templates.bud.path = ./.;
+        templates.bud.description = "bud template";
 
-        }
-      // {
-        budModules = { devos = import ./bud; };
-        # checks.aarch64-linux = { }; # this line will be uncommented by Github Action in order since it can't build aarch64 derivations
+      }
+    // {
+      budModules = { devos = import ./bud; };
+      # checks.aarch64-linux = { }; # this line will be uncommented by Github Action in order since it can't build aarch64 derivations
+    }
+    // {
+      darwinConfigurations."mbp" = darwin.lib.darwinSystem {
+        system = "x86_64-darwin";
+        modules = [ home.darwinModules.home-manager ./hosts/mbp ];
+        inputs = { inherit darwin; };
       };
+    };
 }
diff --git a/hosts/mbp/configuration.nix b/hosts/mbp/configuration.nix
new file mode 100644
index 0000000..94fccdc
--- /dev/null
+++ b/hosts/mbp/configuration.nix
@@ -0,0 +1,30 @@
+{pkgs, home-manager, ...}:
+{
+  imports = [
+    ../../users/andreaciceri
+  ];
+
+  home-manager = {
+    useGlobalPkgs = true;
+    useUserPackages = true;
+  };
+
+  programs.gnupg.agent = {
+    enable = true;
+    enableSSHSupport = true;
+  };
+
+  nix = {
+    package = pkgs.nixUnstable;
+    extraOptions = ''
+      experimental-features = nix-command flakes flakes ca-references
+      keep-derivations = true
+      keep-outputs = true
+    '';
+    gc = {
+      automatic = false;
+      user = "andreaciceri";
+      options = "--delete-older-than 3d";
+    };
+  };
+  }
diff --git a/hosts/mbp/default.nix b/hosts/mbp/default.nix
new file mode 100644
index 0000000..f8bb144
--- /dev/null
+++ b/hosts/mbp/default.nix
@@ -0,0 +1,8 @@
+{ pkgs, ...}:
+{
+  imports = [
+    ./configuration.nix
+  ];
+
+
+}
diff --git a/users/andreaciceri/default.nix b/users/andreaciceri/default.nix
new file mode 100644
index 0000000..a1f2ed7
--- /dev/null
+++ b/users/andreaciceri/default.nix
@@ -0,0 +1,15 @@
+{ config, lib, pkgs, ... }: {
+  home-manager.users."andreaciceri" = {...}: {
+    imports = [
+      ../profiles/bat
+      ../profiles/fzf
+      ../profiles/zsh
+      ../profiles/direnv
+      ../profiles/exa
+    ];
+    home.packages = with pkgs; [
+      yarn
+    ];
+  };
+
+}
diff --git a/users/profiles/zsh/default.nix b/users/profiles/zsh/default.nix
index a4a41ef..9fc4aae 100644
--- a/users/profiles/zsh/default.nix
+++ b/users/profiles/zsh/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, ... }:
+{ pkgs, config, ... }:
 {
   programs.zsh = {
     enable = true;
@@ -55,5 +55,8 @@
       PROMPT = "\\\${IN_NIX_SHELL:+[nix-shell] }$PROMPT";
     };
     loginExtra = "[[ -z $DISPLAY && $TTY = /dev/tty1 ]] && exec sway";
+    initExtra = if pkgs.system == "x86_64-darwin"
+    then "if test -e /etc/static/bashrc; then source /etc/static/bashrc > /dev/null 2>&1; fi"
+    else "";
   };
 }