diff --git a/flake.lock b/flake.lock index 79da665..19bdd7c 100644 --- a/flake.lock +++ b/flake.lock @@ -136,6 +136,27 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "zen-browser", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1752603129, + "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "ixx": { "inputs": { "flake-utils": [ @@ -312,7 +333,8 @@ "plasma-manager": "plasma-manager", "sops-nix": "sops-nix", "terranix": "terranix", - "unstable": "unstable" + "unstable": "unstable", + "zen-browser": "zen-browser" } }, "rust-overlay": { @@ -450,6 +472,27 @@ "repo": "nixpkgs", "type": "github" } + }, + "zen-browser": { + "inputs": { + "home-manager": "home-manager_2", + "nixpkgs": [ + "unstable" + ] + }, + "locked": { + "lastModified": 1759724568, + "narHash": "sha256-i/+YcMMMFXeUKWbR683eoxyz+4Jcb01MHVCjj6OHl0Y=", + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "rev": "b63e1644c96baaaccb78f8d3101f39fbfee733cb", + "type": "github" + }, + "original": { + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index ba5f911..ee8a253 100644 --- a/flake.nix +++ b/flake.nix @@ -39,10 +39,17 @@ url = "github:k2on/elytrarides"; inputs.nixpkgs.follows = "nixpkgs"; }; + + zen-browser = { + url = "github:0xc000022070/zen-browser-flake"; + # IMPORTANT: we're using "libgbm" and is only available in unstable so ensure + # to have it up-to-date or simply don't specify the nixpkgs input + inputs.nixpkgs.follows = "unstable"; + }; }; outputs = { self, nixpkgs, unstable, nixos-apple-silicon, home-manager - , plasma-manager, nixvim, sops-nix, terranix, elytrarides, ... }: + , plasma-manager, nixvim, sops-nix, terranix, elytrarides, zen-browser, ... }: let forAllSystems = function: nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed @@ -102,7 +109,7 @@ secrets = import ./secrets; in nixpkgs.lib.nixosSystem { inherit system; - specialArgs = { inherit pkgs-unstable secrets; }; + specialArgs = { inherit pkgs-unstable secrets zen-browser; }; modules = [ ./host/max/default.nix nixos-apple-silicon.nixosModules.apple-silicon-support @@ -111,12 +118,13 @@ { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.extraSpecialArgs = { inherit secrets; }; + home-manager.extraSpecialArgs = { inherit secrets zen-browser; }; home-manager.users.max = { config, pkgs, lib, ... }: { imports = [ sops-nix.homeManagerModules.sops nixvim.homeManagerModules.nixvim plasma-manager.homeManagerModules.plasma-manager + zen-browser.homeModules.beta ./host/max/home.nix # Import your home.nix here ]; }; diff --git a/host/max/home/browser.nix b/host/max/home/browser.nix index 1038302..af9f846 100644 --- a/host/max/home/browser.nix +++ b/host/max/home/browser.nix @@ -1,4 +1,53 @@ +{ config, ... }: { + programs.zen-browser = { + enable = true; + profiles."default" = { + containersForce = true; + containers = { + Personal = { + color = "yellow"; + icon = "circle"; + id = 1; + }; + School = { + color = "red"; + icon = "fruit"; + id = 2; + }; + Work = { + color = "blue"; + icon = "briefcase"; + id = 3; + }; + }; + spacesForce = true; + spaces = let + containers = config.programs.zen-browser.profiles."default".containers; + in { + "Personal" = { + id = "c6de089c-410d-4206-961d-ab11f988d40a"; + icon = "⭐"; + container = containers."Personal".id; + position = 1000; + }; + "School" = { + id = "78aabdad-8aae-4fe0-8ff0-2a0c6c4ccc24"; + icon = "🍎"; + container = containers."School".id; + position = 2000; + }; + "Work" = { + id = "cdd10fab-4fc5-494b-9041-325e5759195b"; + icon = "💼"; + container = containers."Work".id; + position = 3000; + }; + }; + }; + + }; + programs.firefox = { enable = true; profiles = {