refactor: use nix-flatpak instead of nixpak
I went to close into the sun, again
This commit is contained in:
@@ -1,33 +0,0 @@
|
||||
{
|
||||
mkNixPak,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
mkNixPak {
|
||||
config = {sloth, ...}: {
|
||||
app.package = pkgs.bitwarden-desktop;
|
||||
|
||||
imports = [
|
||||
./modules/gui-base.nix
|
||||
];
|
||||
|
||||
dbus.policies = {
|
||||
"org.kde.StatusNotifierWatcher" = "talk";
|
||||
"org.freedesktop.Notifications" = "talk";
|
||||
"org.freedesktop.secrets" = "talk";
|
||||
"com.canonical.AppMenu.Registrar" = "talk";
|
||||
# Lock on lockscreen
|
||||
"org.gnome.ScreenSaver" = "talk";
|
||||
"org.freedesktop.ScreenSaver" = "talk";
|
||||
};
|
||||
|
||||
bubblewrap = {
|
||||
network = true;
|
||||
shareIpc = true;
|
||||
|
||||
bind.rw = [
|
||||
(sloth.concat' sloth.xdgConfigHome "/Bitwarden")
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
{
|
||||
mkNixPak,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
mkNixPak {
|
||||
config = {sloth, ...}: {
|
||||
app.package = pkgs.brave;
|
||||
|
||||
imports = [
|
||||
./modules/gui-base.nix
|
||||
];
|
||||
|
||||
dbus.policies = {
|
||||
"org.freedesktop.FileManager1" = "talk";
|
||||
"org.freedesktop.Notifications" = "talk";
|
||||
"org.freedesktop.ScreenSaver" = "talk";
|
||||
"org.freedesktop.secrets" = "talk";
|
||||
"org.kde.kwalletd5" = "talk";
|
||||
"org.kde.kwalletd6" = "talk";
|
||||
"org.gnome.SessionManager" = "talk";
|
||||
"org.gnome.ScreenSaver" = "talk";
|
||||
"org.gnome.Mutter.IdleMonitor.*" = "talk";
|
||||
"org.cinnamon.ScreenSaver" = "talk";
|
||||
"org.mate.ScreenSaver" = "talk";
|
||||
"org.xfce.ScreenSaver" = "talk";
|
||||
"org.mpris.MediaPlayer2.brave.*" = "own";
|
||||
};
|
||||
|
||||
bubblewrap = {
|
||||
network = true;
|
||||
shareIpc = true;
|
||||
|
||||
bind.rw = [
|
||||
(sloth.concat' sloth.xdgConfigHome "/BraveSoftware")
|
||||
(sloth.concat' sloth.xdgCacheHome "/BraveSoftware")
|
||||
|
||||
"/etc/brave"
|
||||
|
||||
(sloth.concat' sloth.homeDir "/Downloads")
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
{
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
self,
|
||||
...
|
||||
}: let
|
||||
mkNixPak = inputs.nixpak.lib.nixpak {
|
||||
inherit lib pkgs;
|
||||
};
|
||||
|
||||
bitwarden-desktop = import ./bitwarden-desktop.nix {inherit lib mkNixPak pkgs self;};
|
||||
zen = import ./zen-browser.nix {inherit lib mkNixPak pkgs self;};
|
||||
# brave = import ./brave.nix {inherit lib mkNixPak pkgs self;};
|
||||
vesktop = import ./vesktop.nix {inherit lib mkNixPak pkgs self;};
|
||||
in {
|
||||
bitwarden-desktop = bitwarden-desktop.config.script;
|
||||
bitwarden-desktop-env = bitwarden-desktop.config.env;
|
||||
|
||||
# Currently borked: "Filed to create a ProcessSingleton for your profile directory"
|
||||
# brave = brave.config.script;
|
||||
# brave-env = brave.config.env;
|
||||
|
||||
vesktop = vesktop.config.script;
|
||||
vesktop-env = vesktop.config.env;
|
||||
|
||||
zen-browser = zen.config.script;
|
||||
zen-browser-env = zen.config.env;
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
sloth,
|
||||
...
|
||||
}: {
|
||||
config = with lib; {
|
||||
dbus.policies = {
|
||||
"${config.flatpak.appId}" = "own";
|
||||
"org.freedesktop.DBus" = mkDefault "talk";
|
||||
"org.gtk.vfs.*" = mkDefault "talk";
|
||||
"org.gtk.vfs" = mkDefault "talk";
|
||||
"ca.desrt.dconf" = mkDefault "talk";
|
||||
"org.freedesktop.portal" = mkDefault "talk";
|
||||
"org.a11y.Bus" = mkDefault "talk";
|
||||
};
|
||||
|
||||
gpu.enable = mkDefault true;
|
||||
gpu.provider = mkDefault "bundle";
|
||||
|
||||
fonts.enable = mkDefault true;
|
||||
|
||||
locale.enable = mkDefault true;
|
||||
|
||||
bubblewrap = {
|
||||
network = mkDefault false;
|
||||
|
||||
sockets = {
|
||||
wayland = mkDefault true;
|
||||
pulse = mkDefault true;
|
||||
};
|
||||
|
||||
bind.rw = [
|
||||
[sloth.appCacheDir sloth.xdgCacheHome]
|
||||
(sloth.concat' sloth.xdgCacheHome "/fontconfig")
|
||||
(sloth.concat' sloth.xdgCacheHome "/mesa_shader_cache")
|
||||
|
||||
(sloth.concat' sloth.runtimeDir "/at-spi/bus")
|
||||
(sloth.concat' sloth.runtimeDir "/gvfsd")
|
||||
];
|
||||
bind.ro = [
|
||||
(sloth.concat' sloth.runtimeDir "/doc")
|
||||
|
||||
# Follow user theme
|
||||
|
||||
## Access to user theme config
|
||||
(sloth.concat' sloth.xdgConfigHome "/gtk-2.0")
|
||||
(sloth.concat' sloth.xdgConfigHome "/gtk-3.0")
|
||||
(sloth.concat' sloth.xdgConfigHome "/gtk-4.0")
|
||||
(sloth.concat' sloth.xdgConfigHome "/fontconfig")
|
||||
|
||||
## Access to user themes
|
||||
(sloth.concat' sloth.homeDir "/.themes")
|
||||
(sloth.concat' sloth.homeDir "/.icons")
|
||||
];
|
||||
|
||||
env = {
|
||||
"XDG_DATA_DIRS" = makeSearchPath "share" (with pkgs; [
|
||||
adwaita-icon-theme
|
||||
shared-mime-info
|
||||
]);
|
||||
"XCURSOR_PATH" = concatStringsSep ":" (with pkgs; [
|
||||
"${adwaita-icon-theme}/share/icons"
|
||||
"${adwaita-icon-theme}/share/pixmaps"
|
||||
]);
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
mkNixPak,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
mkNixPak {
|
||||
config = {sloth, ...}: {
|
||||
app.package = pkgs.vesktop;
|
||||
|
||||
imports = [
|
||||
./modules/gui-base.nix
|
||||
];
|
||||
|
||||
dbus.policies = {
|
||||
"org.kde.StatusNotifierWatcher" = "talk";
|
||||
"com.canonical.AppMenu.Registrar" = "talk";
|
||||
"org.freedesktop.Notifications" = "talk";
|
||||
};
|
||||
|
||||
bubblewrap = {
|
||||
network = true;
|
||||
shareIpc = true;
|
||||
|
||||
sockets.pipewire = true;
|
||||
sockets.pulse = false;
|
||||
|
||||
bind.rw = [
|
||||
(sloth.concat' sloth.xdgConfigHome "/vesktop")
|
||||
];
|
||||
bind.ro = [
|
||||
(sloth.concat' sloth.homeDir "/Videos")
|
||||
(sloth.concat' sloth.homeDir "/Pictures")
|
||||
(sloth.concat' sloth.homeDir "/Downloads")
|
||||
];
|
||||
bind.dev = ["all"];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
{
|
||||
mkNixPak,
|
||||
pkgs,
|
||||
self,
|
||||
...
|
||||
}:
|
||||
mkNixPak {
|
||||
config = {sloth, ...}: {
|
||||
app.package = self.packages.${pkgs.system}.zen-browser;
|
||||
|
||||
imports = [
|
||||
./modules/gui-base.nix
|
||||
];
|
||||
|
||||
dbus.policies = {
|
||||
"org.freedesktop.FileManager1" = "talk";
|
||||
"org.freedesktop.ScreenSaver" = "talk";
|
||||
"org.gnome.ScreenSaver" = "talk";
|
||||
"org.mozilla.zen.*" = "own";
|
||||
"org.mpris.MediaPlayer2.firefox.*" = "own";
|
||||
};
|
||||
|
||||
bubblewrap = {
|
||||
network = true;
|
||||
shareIpc = true;
|
||||
|
||||
bind.rw = [
|
||||
(sloth.concat' sloth.homeDir "/.zen")
|
||||
(sloth.concat' sloth.xdgCacheHome "/zen")
|
||||
|
||||
(sloth.concat' sloth.homeDir "/Downloads")
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
The contents of this directory were copied from the repository https://github.com/0xc000022070/zen-browser-flake,
|
||||
licensed under the MIT License. The full license text is provided bellow:
|
||||
|
||||
Copyright (c) 2024 Luis Quiñones <luis@quinones.pro>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,153 +0,0 @@
|
||||
{pkgs ? import <nixpkgs>, ...}: let
|
||||
name = "beta";
|
||||
|
||||
variant =
|
||||
{
|
||||
beta.x86_64-linux = rec {
|
||||
version = "1.7.4b";
|
||||
sha1 = "5259fa7cbd661f137c5a84d34e48882074a1a20e";
|
||||
url = "https://github.com/zen-browser/desktop/releases/download/${version}/zen.linux-x86_64.tar.bz2";
|
||||
sha256 = "sha256-hiGb2oyAueKa6Xs6BvtEmgPTRlOXvJ5YDseS8kZ1VbQ=";
|
||||
};
|
||||
beta.aarch64-linux = rec {
|
||||
version = "1.7.4b";
|
||||
sha1 = "5259fa7cbd661f137c5a84d34e48882074a1a20e";
|
||||
url = "https://github.com/zen-browser/desktop/releases/download/${version}/zen.linux-aarch64.tar.bz2";
|
||||
sha256 = "sha256-/fdgw97Ocg7AYGchHhXSWhFOS0bMb5GVAgZDw6/yh3I=";
|
||||
};
|
||||
}
|
||||
.${name}
|
||||
.${pkgs.system};
|
||||
|
||||
runtimeLibs = with pkgs;
|
||||
[
|
||||
libGL
|
||||
libGLU
|
||||
libevent
|
||||
libffi
|
||||
libjpeg
|
||||
libpng
|
||||
libstartup_notification
|
||||
libvpx
|
||||
libwebp
|
||||
stdenv.cc.cc
|
||||
fontconfig
|
||||
libxkbcommon
|
||||
zlib
|
||||
freetype
|
||||
gtk3
|
||||
libxml2
|
||||
dbus
|
||||
xcb-util-cursor
|
||||
alsa-lib
|
||||
libpulseaudio
|
||||
pango
|
||||
atk
|
||||
cairo
|
||||
gdk-pixbuf
|
||||
glib
|
||||
udev
|
||||
libva
|
||||
mesa
|
||||
libnotify
|
||||
cups
|
||||
pciutils
|
||||
ffmpeg
|
||||
libglvnd
|
||||
pipewire
|
||||
speechd
|
||||
]
|
||||
++ (with pkgs.xorg; [
|
||||
libxcb
|
||||
libX11
|
||||
libXcursor
|
||||
libXrandr
|
||||
libXi
|
||||
libXext
|
||||
libXcomposite
|
||||
libXdamage
|
||||
libXfixes
|
||||
libXScrnSaver
|
||||
]);
|
||||
|
||||
policiesJson = pkgs.writeText "firefox-policies.json" (builtins.toJSON {
|
||||
# https://mozilla.github.io/policy-templates/#disableappupdates
|
||||
policies = {
|
||||
DisableAppUpdate = true;
|
||||
};
|
||||
});
|
||||
|
||||
desktopFile =
|
||||
if name == "beta"
|
||||
then "zen.desktop"
|
||||
else "zen_${name}.desktop";
|
||||
in
|
||||
pkgs.stdenv.mkDerivation {
|
||||
inherit (variant) version;
|
||||
|
||||
pname = "zen-browser";
|
||||
|
||||
src = builtins.fetchTarball {inherit (variant) url sha256;};
|
||||
desktopSrc = ./.;
|
||||
|
||||
phases = ["installPhase" "fixupPhase"];
|
||||
|
||||
nativeBuildInputs = with pkgs; [makeWrapper copyDesktopItems wrapGAppsHook];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,opt/zen,lib/zen-${variant.version}/distribution} && cp -r $src/* $out/opt/zen
|
||||
ln -s $out/opt/zen/zen $out/bin/zen
|
||||
ln -s ${policiesJson} "$out/lib/zen-${variant.version}/distribution/policies.json"
|
||||
ln -s $out/bin/zen $out/bin/zen-${name}
|
||||
|
||||
install -D $desktopSrc/zen-${name}.desktop $out/share/applications/${desktopFile}
|
||||
|
||||
install -D $src/browser/chrome/icons/default/default16.png $out/share/icons/hicolor/16x16/apps/zen-${name}.png
|
||||
install -D $src/browser/chrome/icons/default/default32.png $out/share/icons/hicolor/32x32/apps/zen-${name}.png
|
||||
install -D $src/browser/chrome/icons/default/default48.png $out/share/icons/hicolor/48x48/apps/zen-${name}.png
|
||||
install -D $src/browser/chrome/icons/default/default64.png $out/share/icons/hicolor/64x64/apps/zen-${name}.png
|
||||
install -D $src/browser/chrome/icons/default/default128.png $out/share/icons/hicolor/128x128/apps/zen-${name}.png
|
||||
'';
|
||||
|
||||
fixupPhase = ''
|
||||
chmod 755 $out/bin/zen $out/opt/zen/*
|
||||
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/opt/zen/zen
|
||||
wrapProgram $out/opt/zen/zen --set LD_LIBRARY_PATH "${
|
||||
pkgs.lib.makeLibraryPath runtimeLibs
|
||||
}" \
|
||||
--set MOZ_LEGACY_PROFILES 1 --set MOZ_ALLOW_DOWNGRADE 1 --set MOZ_APP_LAUNCHER zen --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
||||
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/opt/zen/zen-bin
|
||||
wrapProgram $out/opt/zen/zen-bin --set LD_LIBRARY_PATH "${
|
||||
pkgs.lib.makeLibraryPath runtimeLibs
|
||||
}" \
|
||||
--set MOZ_LEGACY_PROFILES 1 --set MOZ_ALLOW_DOWNGRADE 1 --set MOZ_APP_LAUNCHER zen --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
||||
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/opt/zen/glxtest
|
||||
wrapProgram $out/opt/zen/glxtest --set LD_LIBRARY_PATH "${
|
||||
pkgs.lib.makeLibraryPath runtimeLibs
|
||||
}"
|
||||
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/opt/zen/updater
|
||||
wrapProgram $out/opt/zen/updater --set LD_LIBRARY_PATH "${
|
||||
pkgs.lib.makeLibraryPath runtimeLibs
|
||||
}"
|
||||
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/opt/zen/vaapitest
|
||||
wrapProgram $out/opt/zen/vaapitest --set LD_LIBRARY_PATH "${
|
||||
pkgs.lib.makeLibraryPath runtimeLibs
|
||||
}"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
inherit desktopFile;
|
||||
|
||||
description = "Experience tranquillity while browsing the web without people tracking you!";
|
||||
homepage = "https://zen-browser.app";
|
||||
downloadPage = "https://zen-browser.app/download/";
|
||||
changelog = "https://github.com/zen-browser/desktop/releases";
|
||||
platforms = pkgs.lib.platforms.linux;
|
||||
mainProgram = "zen";
|
||||
};
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=Zen Browser
|
||||
Exec=zen-beta %u
|
||||
Icon=zen-beta
|
||||
Type=Application
|
||||
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;application/pdf;application/json;
|
||||
StartupWMClass=zen-beta
|
||||
Categories=Network;WebBrowser;
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
X-MultipleArgs=false
|
||||
Keywords=Internet;WWW;Browser;Web;Explorer;
|
||||
Actions=new-window;new-private-window;profilemanager;
|
||||
|
||||
[Desktop Action new-window]
|
||||
Name=Open a New Window
|
||||
Exec=zen-beta %u
|
||||
|
||||
[Desktop Action new-private-window]
|
||||
Name=Open a New Private Window
|
||||
Exec=zen-beta --private-window %u
|
||||
|
||||
[Desktop Action profilemanager]
|
||||
Name=Open the Profile Manager
|
||||
Exec=zen-beta --ProfileManager %u
|
||||
Reference in New Issue
Block a user