diff --git a/flake.lock b/flake.lock
index 50ec8644049e4877f098ee369af247868cbc9102..a3dbd4eb0cdbda8d9b933aad6f9d3b5a3fa57f00 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,22 +1,39 @@
 {
   "nodes": {
+    "nix-filter": {
+      "locked": {
+        "lastModified": 1687178632,
+        "narHash": "sha256-HS7YR5erss0JCaUijPeyg2XrisEb959FIct3n2TMGbE=",
+        "owner": "numtide",
+        "repo": "nix-filter",
+        "rev": "d90c75e8319d0dd9be67d933d8eb9d0894ec9174",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "nix-filter",
+        "type": "github"
+      }
+    },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1688500189,
-        "narHash": "sha256-djYYiY4lzJOlXOnTHytH6BUugrxHDZjuGxTSrU4gt4M=",
+        "lastModified": 1688679045,
+        "narHash": "sha256-t3xGEfYIwhaLTPU8FLtN/pLPytNeDwbLI6a7XFFBlGo=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "78419edadf0fabbe5618643bd850b2f2198ed060",
+        "rev": "3c7487575d9445185249a159046cc02ff364bff8",
         "type": "github"
       },
       "original": {
-        "id": "nixpkgs",
+        "owner": "NixOS",
         "ref": "nixos-unstable",
-        "type": "indirect"
+        "repo": "nixpkgs",
+        "type": "github"
       }
     },
     "root": {
       "inputs": {
+        "nix-filter": "nix-filter",
         "nixpkgs": "nixpkgs",
         "utils": "utils"
       }
diff --git a/flake.nix b/flake.nix
index 6522bc902e4bca721681a8ee706073c19e805b10..c7fc272039e8a80b1b23ca44a4a3167b55079020 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,14 +1,16 @@
 {
   description = "Bob: The HTML and HTML fragment builder";
-  
   inputs = {
-    nixpkgs.url = "nixpkgs/nixos-unstable";
-    utils.url = "github:numtide/flake-utils";
-  };  
+    nixpkgs.url = github:NixOS/nixpkgs/nixos-unstable;
+    utils.url = github:numtide/flake-utils;
+    nix-filter.url = github:numtide/nix-filter;
+  };
 
-  outputs = { self, nixpkgs, ... }@inputs:
-    let
-      # to work with older version of flakes
+
+
+  outputs = {self, nixpkgs, utils, nix-filter }:
+  let
+     # to work with older version of flakes
       lastModifiedDate = self.lastModifiedDate or self.lastModified or "19700101";
       # System types to support.
       supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
@@ -21,18 +23,9 @@
       
       rootPath = ./.;
       releaseJson = builtins.fromJSON (builtins.readFile "${rootPath}/release.json");
-      currentVersion = releaseJson.version;         
-      
-    in
-    {
-
-      # Provide some binary packages for selected system types.
-      packages = forAllSystems (system:
-        let
-            pkgs = nixpkgs.legacyPackages.${system};
-        in
-        {
-          bob = pkgs.buildGoModule {
+      currentVersion = releaseJson.version;        
+  in (utils.lib.eachDefaultSystem (system: rec {
+    packages.app = nixpkgs.legacyPackages.${system}.buildGoModule {
             pname = "bob";
             version = currentVersion;
 
@@ -48,14 +41,14 @@
             # it should be "out-of-band" with other tooling (eg. gomod2nix).
             # To begin with it is recommended to set this, but one must
             # remeber to bump this hash when your dependencies change.
-            #vendorSha256 = pkgs.lib.fakeSha256;
+            #vendorSha256 = nixpkgs.legacyPackages.${system}.lib.fakeSha256;
             vendorSha256 = "sha256-XdB+u94Rqsb29jVs4miyOq1NEYaVJHWFXg6QebFJzNQ=";
 
             excludedPackages = [ "development" ];
 
             doCheck = false;
             
-            meta = with pkgs.lib; {
+            meta = with nixpkgs.legacyPackages.${system}.lib; {
                 description = "Bob: The HTML and HTML fragment builder";
                 homepage = "https://gitlab.schukai.com/oss/bob";
                 license = licenses.mit;
@@ -64,12 +57,6 @@
             
             
           };
-        });
-
-      # The default package for 'nix build'. This makes sense if the
-      # flake provides only one package or there is a clear "main"
-      # package.
-      defaultPackage = forAllSystems (system: self.packages.${system}.bob);
-    };
-}
-
+    defaultPackage = packages.app;
+  }));
+}
\ No newline at end of file