From 27aa2f077bf335c0dbfaf19954075b36da45cf8c Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sun, 22 Dec 2024 00:48:57 -0500 Subject: [PATCH] Set up chromium with support for wayland and widevine. --- nix/configuration/configuration.nix | 1 + nix/configuration/roles/chromium/default.nix | 51 ++++++++++++++++++++ nix/configuration/roles/sway/default.nix | 4 +- 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 nix/configuration/roles/chromium/default.nix diff --git a/nix/configuration/configuration.nix b/nix/configuration/configuration.nix index f8509f7..bd623fd 100644 --- a/nix/configuration/configuration.nix +++ b/nix/configuration/configuration.nix @@ -27,6 +27,7 @@ ./roles/sway ./roles/alacritty ./roles/firefox + ./roles/chromium ./roles/emacs ./roles/git ./roles/fonts diff --git a/nix/configuration/roles/chromium/default.nix b/nix/configuration/roles/chromium/default.nix new file mode 100644 index 0000000..737bb31 --- /dev/null +++ b/nix/configuration/roles/chromium/default.nix @@ -0,0 +1,51 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + imports = [ ]; + + environment.systemPackages = with pkgs; [ + (chromium.override { enableWideVine = true; }) + ]; + + nixpkgs.config.allowUnfreePredicate = + pkg: + builtins.elem (lib.getName pkg) [ + "chromium" + "chromium-unwrapped" + "widevine-cdm" + ]; + + environment.persistence."/persist" = lib.mkIf (!config.me.buildingIso) { + hideMounts = true; + users.talexander = { + directories = [ + { + directory = ".config/chromium"; + user = "talexander"; + group = "talexander"; + mode = "0700"; + } + ]; + }; + }; + environment.persistence."/state" = lib.mkIf (!config.me.buildingIso) { + hideMounts = true; + users.talexander = { + directories = [ + { + directory = ".cache/chromium"; + user = "talexander"; + group = "talexander"; + mode = "0700"; + } + ]; + }; + }; + + nixpkgs.config.chromium.commandLineArgs = "--enable-features=Vulkan"; +} diff --git a/nix/configuration/roles/sway/default.nix b/nix/configuration/roles/sway/default.nix index 65b3d1b..6776a31 100644 --- a/nix/configuration/roles/sway/default.nix +++ b/nix/configuration/roles/sway/default.nix @@ -297,11 +297,13 @@ in programs.sway.extraSessionCommands = if config.me.buildingIso then '' - export WLR_RENDERER_ALLOW_SOFTWARE=1; + export WLR_RENDERER_ALLOW_SOFTWARE=1 + export NIXOS_OZONE_WL=1 # Wayland support for chromium and electron '' else '' export WLR_RENDERER=vulkan + export NIXOS_OZONE_WL=1 # Wayland support for chromium and electron ''; programs.sway = {