OOKNET                             [ /  search the index  ]  
──────────────────────────────────────────────────────────────────────────────────────
══════════════════════════════════════════════════════════════════════════════════════
OOKNET   [ /  search  ]  
────────────────────────────────────────────────
════════════════════════════════════════════════
 
HASH      48d34e88eefe
DATE      2025-04-30
SUBJECT   browser: use zen
FILES     5 CHANGED
HASH      48d34e88eefe
DATE      2025-04-30
SUBJECT   browser: use zen
FILES     5 CHANGED
 

diff --git a/hosts/ooksdesk/default.nix b/hosts/ooksdesk/default.nix
index da77c07..0452446 100644
--- a/hosts/ooksdesk/default.nix
+++ b/hosts/ooksdesk/default.nix
@@ -10,6 +10,10 @@
 
   ooknet = {
     host = {
+      deployment = {
+        enable = true;
+        remoteBuild = true;
+      };
       syncthing.enable = true;
       admin = {
         name = "ooks";
@@ -22,9 +26,10 @@
       theme = "minimal";
       profiles = ["creative" "virtualization" "gaming" "media" "communication" "p
roductivity"];
       default = {
-        browser = "firefox";
+        browser = "zen";
         terminal = "foot";
       };
+      programs.firefox.enable = true;
     };
     console = {
       profile = "standard";

diff --git a/hosts/ooksdesk/default.nix b/ho
sts/ooksdesk/default.nix
index da77c07..0452446 100644
--- a/hosts/ooksdesk/default.nix
+++ b/hosts/ooksdesk/default.nix
@@ -10,6 +10,10 @@
 
   ooknet = {
     host = {
+      deployment = {
+        enable = true;
+        remoteBuild = true;
+      };
       syncthing.enable = true;
       admin = {
         name = "ooks";
@@ -22,9 +26,10 @@
       theme = "minimal";
       profiles = ["creative" "virtualizatio
n" "gaming" "media" "communication" "product
ivity"];
       default = {
-        browser = "firefox";
+        browser = "zen";
         terminal = "foot";
       };
+      programs.firefox.enable = true;
     };
     console = {
       profile = "standard";
 

diff --git a/modules/home/common/browser/default.nix b/modules/home/common/browser
/default.nix
index 3589c6d..29d2f92 100644
--- a/modules/home/common/browser/default.nix
+++ b/modules/home/common/browser/default.nix
@@ -2,5 +2,6 @@
   imports = [
     ./firefox
     ./chromium
+    ./zen
   ];
 }

diff --git a/modules/home/common/browser/def
ault.nix b/modules/home/common/browser/defau
lt.nix
index 3589c6d..29d2f92 100644
--- a/modules/home/common/browser/default.ni
x
+++ b/modules/home/common/browser/default.ni
x
@@ -2,5 +2,6 @@
   imports = [
     ./firefox
     ./chromium
+    ./zen
   ];
 }
 

diff --git a/modules/home/common/browser/zen/default.nix b/modules/home/common/bro
wser/zen/default.nix
new file mode 100644
index 0000000..ada66e6
--- /dev/null
+++ b/modules/home/common/browser/zen/default.nix
@@ -0,0 +1,75 @@
+{
+  pkgs,
+  lib,
+  inputs',
+  config,
+  osConfig,
+  hozen,
+  inputs,
+  ...
+}: let
+  inherit (lib) mkIf mkMerge;
+  inherit (osConfig.ooknet.appearance) fonts;
+  inherit (hozen) color;
+  inherit (osConfig.ooknet.workstation) default;
+  inherit (pkgs.stdenv) isDarwin;
+
+  addons = inputs'.firefox-addons.packages;
+  cfg = osConfig.ooknet.workstation.programs.zen;
+  zenMime = {
+    "text/html" = ["zen-beta.desktop"];
+    "x-scheme-handler/http" = ["zen-beta.desktop"];
+    "x-scheme-handler/https" = ["zen-beta.desktop"];
+    "x-scheme-handler/ftp" = ["zen-beta.desktop"];
+    "x-scheme-handler/about" = ["zen-beta.desktop"];
+    "x-scheme-handler/unknown" = ["zen-beta.desktop"];
+    "application/x-extension-htm" = ["zen-beta.desktop"];
+    "application/x-extension-html" = ["zen-beta.desktop"];
+    "application/x-extension-shtml" = ["zen-beta.desktop"];
+    "application/xhtml+xml" = ["zen-beta.desktop"];
+    "application/x-extension-xhtml" = ["zen-beta.desktop"];
+    "application/x-extension-xht" = ["zen-beta.desktop"];
+    "application/json" = ["zen-beta.desktop"];
+  };
+in {
+  imports = [
+    inputs.zen-browser.homeModules.beta
+  ];
+  config = mkMerge [
+    (mkIf (cfg.enable || default.browser == "zen") {
+      programs.zen-browser = {
+        # FIXME: write your own zen module...
+        enable = !isDarwin;
+        profiles.${config.home.username} = {
+          id = 0;
+          isDefault = true;
+          extensions.packages = with addons; [
+            ublock-origin
+            # FIXME: dont use nur...
+            (onepassword-password-manager.overrideAttrs
+              (_: {meta.license = lib.licenses.mit;}))
+          ];
+          settings = {
+            "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
+            "zen.urlbar.behavior" = "float";
+            "zen.theme.border-radius" = 0;
+            "zen.view.compact.hide-tabbar" = true;
+            "zen.view.compact.hide-toolbar" = true;
+            "zen.view.experimental-rounded-view" = false;
+            "zen.workspace.show-workspace-indicator" = false;
+          };
+          userChrome = import ./userChrome.nix {inherit color fonts;};
+        };
+      };
+    })
+
+    (mkIf (default.browser == "zen" && !isDarwin) {
+      home.sessionVariables.BROWSER = "zen";
+      ooknet.binds.browser = "zen";
+      xdg.mimeApps = {
+        associations.added = zenMime;
+        defaultApplications = zenMime;
+      };
+    })
+  ];
+}

diff --git a/modules/home/common/browser/zen
/default.nix b/modules/home/common/browser/z
en/default.nix
new file mode 100644
index 0000000..ada66e6
--- /dev/null
+++ b/modules/home/common/browser/zen/defaul
t.nix
@@ -0,0 +1,75 @@
+{
+  pkgs,
+  lib,
+  inputs',
+  config,
+  osConfig,
+  hozen,
+  inputs,
+  ...
+}: let
+  inherit (lib) mkIf mkMerge;
+  inherit (osConfig.ooknet.appearance) font
s;
+  inherit (hozen) color;
+  inherit (osConfig.ooknet.workstation) def
ault;
+  inherit (pkgs.stdenv) isDarwin;
+
+  addons = inputs'.firefox-addons.packages;
+  cfg = osConfig.ooknet.workstation.program
s.zen;
+  zenMime = {
+    "text/html" = ["zen-beta.desktop"];
+    "x-scheme-handler/http" = ["zen-beta.de
sktop"];
+    "x-scheme-handler/https" = ["zen-beta.d
esktop"];
+    "x-scheme-handler/ftp" = ["zen-beta.des
ktop"];
+    "x-scheme-handler/about" = ["zen-beta.d
esktop"];
+    "x-scheme-handler/unknown" = ["zen-beta
.desktop"];
+    "application/x-extension-htm" = ["zen-b
eta.desktop"];
+    "application/x-extension-html" = ["zen-
beta.desktop"];
+    "application/x-extension-shtml" = ["zen
-beta.desktop"];
+    "application/xhtml+xml" = ["zen-beta.de
sktop"];
+    "application/x-extension-xhtml" = ["zen
-beta.desktop"];
+    "application/x-extension-xht" = ["zen-b
eta.desktop"];
+    "application/json" = ["zen-beta.desktop
"];
+  };
+in {
+  imports = [
+    inputs.zen-browser.homeModules.beta
+  ];
+  config = mkMerge [
+    (mkIf (cfg.enable || default.browser ==
 "zen") {
+      programs.zen-browser = {
+        # FIXME: write your own zen module.
..
+        enable = !isDarwin;
+        profiles.${config.home.username} = 
{
+          id = 0;
+          isDefault = true;
+          extensions.packages = with addons
; [
+            ublock-origin
+            # FIXME: dont use nur...
+            (onepassword-password-manager.o
verrideAttrs
+              (_: {meta.license = lib.licen
ses.mit;}))
+          ];
+          settings = {
+            "toolkit.legacyUserProfileCusto
mizations.stylesheets" = true;
+            "zen.urlbar.behavior" = "float"
;
+            "zen.theme.border-radius" = 0;
+            "zen.view.compact.hide-tabbar" 
= true;
+            "zen.view.compact.hide-toolbar"
 = true;
+            "zen.view.experimental-rounded-
view" = false;
+            "zen.workspace.show-workspace-i
ndicator" = false;
+          };
+          userChrome = import ./userChrome.
nix {inherit color fonts;};
+        };
+      };
+    })
+
+    (mkIf (default.browser == "zen" && !isD
arwin) {
+      home.sessionVariables.BROWSER = "zen"
;
+      ooknet.binds.browser = "zen";
+      xdg.mimeApps = {
+        associations.added = zenMime;
+        defaultApplications = zenMime;
+      };
+    })
+  ];
+}
 

diff --git a/modules/home/common/browser/zen/userChrome.nix b/modules/home/common/
browser/zen/userChrome.nix
new file mode 100644
index 0000000..8638f7c
--- /dev/null
+++ b/modules/home/common/browser/zen/userChrome.nix
@@ -0,0 +1,165 @@
+{
+  color,
+  fonts,
+  ...
+}:
+# css
+''
+    @media (prefers-color-scheme: dark) {
+    :root {
+
+      --clr-menu: #${color.layout.menu};
+      --clr-bg: #${color.layout.body};
+      --clr-fg: #${color.typography.text};
+      --clr-inactive: #${color.border.inactive};
+      --clr-border-active: #${color.border.active};
+      --clr-border-inactive: #${color.border.inactive};
+      --clr-secondary: #${color.secondary.base};
+      --clr-primary: #${color.primary.base};
+
+      --border-active: 1px var(--clr-border-active) solid;
+      --border-inactive: 1px var(--clr-border-inactive) solid;
+
+      --font-base: ${fonts.monospace.family};
+
+      --zen-colors-primary: var(--clr-menu) !important;
+      --zen-primary-color: var(--clr-primary) !important;
+      --zen-colors-secondary: var(--clr-secondary) !important;
+      --zen-colors-tertiary: var(--clr-menu) !important;
+      --zen-colors-border: var(--clr-fg) !important;
+      --toolbarbutton-icon-fill: var(--clr-fg) !important;
+      --lwt-text-color: var(--clr-fg) !important;
+      --toolbar-field-color: var(--clr-fg) !important;
+      --tab-selected-textcolor: var(--clr-fg) !important;
+      --toolbar-field-focus-color: var(--clr-fg) !important;
+      --toolbar-color: #cdd6f4 !important;
+      --newtab-text-primary-color: var(--clr-primary) !important;
+
+      --toolbarbutton-icon-fill: var(--clr-fg) !important;
+
+      /* Application Menu ( ... ) */
+      --arrowpanel-color: var(--clr-fg) !important;
+      --arrowpanel-background: var(--clr-menu) !important;
+
+
+      --sidebar-text-color: yellow !important;
+      --lwt-sidebar-text-color: purple!important;
+      --lwt-sidebar-background-color: green !important;
+      --toolbar-bgcolor: green !important;
+      --newtab-background-color: var(--clr-menu) !important;
+      --zen-themed-toolbar-bg: var(--clr-menu) !important;
+
+      /* Background color for main frame */
+      --zen-main-browser-background: var(--clr-menu) !important;
+      --toolbox-bgcolor-inactive: var(--clr-menu) !important;
+
+      /* Remove rounding*/
+      --zen-button-border-radius: 0px !important;
+      --toolbarbutton-border-radius: 0px !important;
+      --fp-contextmenu-menuitem-border-radius: 0px !important;
+      --fp-contextmenu-border-radius: 0px !important;
+      --zen-border-radius: 0px !important;
+      --zen-webview-border-radius 0px !important;
+      --zen-native-inner-radius: 0px !important;
+
+      font-family: var(--font-base) !important;
+      border-radius: 0px !important;
+    }
+
+    .dialogBox {
+
+      border-radius: 0px !important;
+    }
+    #urlbar-background {
+      background-color: var(--clr-menu) !important;
+      border: 1px var(--clr-fg) solid !important;
+      border-radius: 0px !important;
+    }
+
+    .urlbarView-row {
+      background-color: var(--clr-menu) !important;
+      border-radius: 0px !important;
+      color: var(--clr-fg) !important;
+      border: var(--border-inactive) !important;
+      font-family: var(--font-base) !important;
+      margin: 10px !important;
+    }
+    .urlbarView-row[selected] {
+      background-color: var(--clr-bg) !important;
+      border: var(--border-active) !important;
+    }
+
+    .urlbarView-row:hover:not([selected]) {
+      background-color: var(--clr-bg) !important;
+      border: var(--border-active) !important;
+    }
+
+    .urlbar-input {
+      color: var(--clr-fg) !important;
+    }
+    #urlbar-container {
+      color: var(--clr-fg) !important;
+      border-radius: 0 !important;
+      background-color: transparent !important;
+    }
+
+    .identity-box-button {
+      color: var(--clr-inactive) !important;
+    }
+
+    .tab-background {
+      border-radius: 0 !important;
+      background-color: var(--clr-menu) !important;
+      border: var(--border-inactive) !important;
+    }
+
+    .tab-background[selected] {
+      border-radius: 0 !important;
+      background-color: var(--clr-bg) !important;
+      border: var(--border-active) !important;
+    }
+    .zen-current-workspace-indicator {
+      color: var(--clr-fg) !important;
+      text-align: center !important;
+
+      border-radius: 0 !important;
+    }
+    .zen-current-workspace-indicator {
+      border: var(--border-active) !important;
+      background-color: var(--clr-menu) !important;
+    }
+
+    tab-group {
+      border-radius: 0 !important;
+      border: var(--border-inactive) !important;
+      background-color: var(--clr-menu)!important;
+    }
+
+
+    .zen-current-workspace-indicator::before {
+      border-radius: 0px !important;
+      background-color: var(--clr-menu) !important;
+    }
+
+
+    .zen-current-workspace-indicator {
+      color: var(--clr-fg) !important;
+      border-radius: 0 !important;
+      border: var(--border-active) !important;
+      background-color: var(--clr-menu) !important;
+    }
+
+
+    .zen-current-workspace-indicator-name {
+      border-radius: 0px !important;
+      width: 100% !important;
+      font-size: 1.3rem !important;
+    }
+
+    button {
+      border-radius: 0px !important;
+      font-family: var(--font-base) !important;
+    }
+  }
+
+''

diff --git a/modules/home/common/browser/zen
/userChrome.nix b/modules/home/common/browse
r/zen/userChrome.nix
new file mode 100644
index 0000000..8638f7c
--- /dev/null
+++ b/modules/home/common/browser/zen/userCh
rome.nix
@@ -0,0 +1,165 @@
+{
+  color,
+  fonts,
+  ...
+}:
+# css
+''
+    @media (prefers-color-scheme: dark) {
+    :root {
+
+      --clr-menu: #${color.layout.menu};
+      --clr-bg: #${color.layout.body};
+      --clr-fg: #${color.typography.text};
+      --clr-inactive: #${color.border.inact
ive};
+      --clr-border-active: #${color.border.
active};
+      --clr-border-inactive: #${color.borde
r.inactive};
+      --clr-secondary: #${color.secondary.b
ase};
+      --clr-primary: #${color.primary.base}
;
+
+      --border-active: 1px var(--clr-border
-active) solid;
+      --border-inactive: 1px var(--clr-bord
er-inactive) solid;
+
+      --font-base: ${fonts.monospace.family
};
+
+      --zen-colors-primary: var(--clr-menu)
 !important;
+      --zen-primary-color: var(--clr-primar
y) !important;
+      --zen-colors-secondary: var(--clr-sec
ondary) !important;
+      --zen-colors-tertiary: var(--clr-menu
) !important;
+      --zen-colors-border: var(--clr-fg) !i
mportant;
+      --toolbarbutton-icon-fill: var(--clr-
fg) !important;
+      --lwt-text-color: var(--clr-fg) !impo
rtant;
+      --toolbar-field-color: var(--clr-fg) 
!important;
+      --tab-selected-textcolor: var(--clr-f
g) !important;
+      --toolbar-field-focus-color: var(--cl
r-fg) !important;
+      --toolbar-color: #cdd6f4 !important;
+      --newtab-text-primary-color: var(--cl
r-primary) !important;
+
+      --toolbarbutton-icon-fill: var(--clr-
fg) !important;
+
+      /* Application Menu ( ... ) */
+      --arrowpanel-color: var(--clr-fg) !im
portant;
+      --arrowpanel-background: var(--clr-me
nu) !important;
+
+
+      --sidebar-text-color: yellow !importa
nt;
+      --lwt-sidebar-text-color: purple!impo
rtant;
+      --lwt-sidebar-background-color: green
 !important;
+      --toolbar-bgcolor: green !important;
+      --newtab-background-color: var(--clr-
menu) !important;
+      --zen-themed-toolbar-bg: var(--clr-me
nu) !important;
+
+      /* Background color for main frame */
+      --zen-main-browser-background: var(--
clr-menu) !important;
+      --toolbox-bgcolor-inactive: var(--clr
-menu) !important;
+
+      /* Remove rounding*/
+      --zen-button-border-radius: 0px !impo
rtant;
+      --toolbarbutton-border-radius: 0px !i
mportant;
+      --fp-contextmenu-menuitem-border-radi
us: 0px !important;
+      --fp-contextmenu-border-radius: 0px !
important;
+      --zen-border-radius: 0px !important;
+      --zen-webview-border-radius 0px !impo
rtant;
+      --zen-native-inner-radius: 0px !impor
tant;
+
+      font-family: var(--font-base) !import
ant;
+      border-radius: 0px !important;
+    }
+
+    .dialogBox {
+
+      border-radius: 0px !important;
+    }
+    #urlbar-background {
+      background-color: var(--clr-menu) !im
portant;
+      border: 1px var(--clr-fg) solid !impo
rtant;
+      border-radius: 0px !important;
+    }
+
+    .urlbarView-row {
+      background-color: var(--clr-menu) !im
portant;
+      border-radius: 0px !important;
+      color: var(--clr-fg) !important;
+      border: var(--border-inactive) !impor
tant;
+      font-family: var(--font-base) !import
ant;
+      margin: 10px !important;
+    }
+    .urlbarView-row[selected] {
+      background-color: var(--clr-bg) !impo
rtant;
+      border: var(--border-active) !importa
nt;
+    }
+
+    .urlbarView-row:hover:not([selected]) {
+      background-color: var(--clr-bg) !impo
rtant;
+      border: var(--border-active) !importa
nt;
+    }
+
+    .urlbar-input {
+      color: var(--clr-fg) !important;
+    }
+    #urlbar-container {
+      color: var(--clr-fg) !important;
+      border-radius: 0 !important;
+      background-color: transparent !import
ant;
+    }
+
+    .identity-box-button {
+      color: var(--clr-inactive) !important
;
+    }
+
+    .tab-background {
+      border-radius: 0 !important;
+      background-color: var(--clr-menu) !im
portant;
+      border: var(--border-inactive) !impor
tant;
+    }
+
+    .tab-background[selected] {
+      border-radius: 0 !important;
+      background-color: var(--clr-bg) !impo
rtant;
+      border: var(--border-active) !importa
nt;
+    }
+    .zen-current-workspace-indicator {
+      color: var(--clr-fg) !important;
+      text-align: center !important;
+
+      border-radius: 0 !important;
+    }
+    .zen-current-workspace-indicator {
+      border: var(--border-active) !importa
nt;
+      background-color: var(--clr-menu) !im
portant;
+    }
+
+    tab-group {
+      border-radius: 0 !important;
+      border: var(--border-inactive) !impor
tant;
+      background-color: var(--clr-menu)!imp
ortant;
+    }
+
+
+    .zen-current-workspace-indicator::befor
e {
+      border-radius: 0px !important;
+      background-color: var(--clr-menu) !im
portant;
+    }
+
+
+    .zen-current-workspace-indicator {
+      color: var(--clr-fg) !important;
+      border-radius: 0 !important;
+      border: var(--border-active) !importa
nt;
+      background-color: var(--clr-menu) !im
portant;
+    }
+
+
+    .zen-current-workspace-indicator-name {
+      border-radius: 0px !important;
+      width: 100% !important;
+      font-size: 1.3rem !important;
+    }
+
+    button {
+      border-radius: 0px !important;
+      font-family: var(--font-base) !import
ant;
+    }
+  }
+
+''
 

diff --git a/modules/nixos/workstation/programs/1password.nix b/modules/nixos/work
station/programs/1password.nix
index 78c2556..5e6e2bd 100644
--- a/modules/nixos/workstation/programs/1password.nix
+++ b/modules/nixos/workstation/programs/1password.nix
@@ -1,4 +1,11 @@
-{config, ...}: let
+{
+  config,
+  lib,
+  ...
+}: let
+  inherit (lib) mkIf;
+  inherit (config.ooknet.workstation.programs) zen;
+  inherit (config.ooknet.workstation.default) browser;
   inherit (config.ooknet.host) admin;
 in {
   programs = {
@@ -8,4 +15,10 @@ in {
       polkitPolicyOwners = ["${admin.name}"];
     };
   };
+  environment.etc."1password/custom_allowed_browsers" = mkIf (zen.enable || brows
er == "zen") {
+    text = ''
+      .zen-wrapped
+    '';
+    mode = "0755";
+  };
 }

diff --git a/modules/nixos/workstation/progr
ams/1password.nix b/modules/nixos/workstatio
n/programs/1password.nix
index 78c2556..5e6e2bd 100644
--- a/modules/nixos/workstation/programs/1pa
ssword.nix
+++ b/modules/nixos/workstation/programs/1pa
ssword.nix
@@ -1,4 +1,11 @@
-{config, ...}: let
+{
+  config,
+  lib,
+  ...
+}: let
+  inherit (lib) mkIf;
+  inherit (config.ooknet.workstation.progra
ms) zen;
+  inherit (config.ooknet.workstation.defaul
t) browser;
   inherit (config.ooknet.host) admin;
 in {
   programs = {
@@ -8,4 +15,10 @@ in {
       polkitPolicyOwners = ["${admin.name}"
];
     };
   };
+  environment.etc."1password/custom_allowed
_browsers" = mkIf (zen.enable || browser == 
"zen") {
+    text = ''
+      .zen-wrapped
+    '';
+    mode = "0755";
+  };
 }
 
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET