smallest change

This commit is contained in:
zack 2025-03-22 16:03:07 -04:00
parent 4cca1dc327
commit 9c83ba6849
No known key found for this signature in database
GPG key ID: EE8A2B709E2401D1
77 changed files with 36828 additions and 1516 deletions

View file

@ -21,7 +21,7 @@ writeShellScriptBin "enc" ''
# Create recipient arguments for gpg
recipients=()
recipients+=("-r" "0x5F873416BCF59F35")
recipients+=("-r" "0xEE8A2B709E2401D1")
for recipient in "$@"; do
recipients+=("-r" "$recipient")
done

141
packages/mwc/default.nix Normal file
View file

@ -0,0 +1,141 @@
{
wayland-protocols,
wayland-scanner,
libxkbcommon,
makeWrapper,
pkg-config,
libinput,
wlroots_0_18,
wayland,
pixman,
xorg,
libdrm,
fetchFromGitHub,
stdenv,
ninja,
scdoc,
validatePkgConfig,
libGL,
mesa,
lib,
libglvnd,
meson,
}: let
scenefx = stdenv.mkDerivation (finalAttrs: {
pname = "scenefx";
version = "0.2.1";
src = fetchFromGitHub {
owner = "wlrfx";
repo = "scenefx";
rev = "87c0e8b6d5c86557a800445e8e4c322f387fe19c";
hash = "sha256-BLIADMQwPJUtl6hFBhh5/xyYwLFDnNQz0RtgWO/Ua8s=";
};
strictDeps = true;
depsBuildBuild = [pkg-config];
nativeBuildInputs = [
meson
ninja
pkg-config
scdoc
validatePkgConfig
wayland-scanner
];
buildInputs = [
libdrm
libGL
libxkbcommon
pixman
wayland
wayland-protocols
wlroots_0_18
mesa
];
meta = {
description = "Drop-in replacement for the wlroots scene API that allows wayland compositors to render surfaces with eye-candy effects";
homepage = "https://github.com/wlrfx/scenefx";
license = lib.licenses.mit;
mainProgram = "scenefx";
pkgConfigModules = ["scenefx"];
platforms = lib.platforms.all;
};
});
in
stdenv.mkDerivation {
pname = "mwc-wlr";
version = "unstable-0.1.0";
src = fetchFromGitHub {
owner = "dqrk0jeste";
repo = "mwc";
rev = "15c6a00e3ee85bce1bff812b69652b1e3211f637";
hash = "sha256-YJPkBuyyVXpGMQaOrCP1ECsF+kndFCIm/Fr2FR8fjt4=";
fetchSubmodules = true;
};
nativeBuildInputs = [
wayland-scanner
makeWrapper
pkg-config
meson
ninja
mesa
libglvnd.dev
scenefx
];
outputs = [
"out"
];
buildInputs = [
wayland-protocols
libxkbcommon
wlroots_0_18
libinput
wayland
mesa
libglvnd.dev
xorg.libxcb
libdrm
pixman
];
strictDeps = true;
depsBuildBuild = [
pkg-config
];
installPhase = ''
ls
mkdir -p $out/bin
mkdir -p $out/share
cp -r mwc $out/bin/
cp -r mwc-ipc $out/bin/
cp -r $src/default.conf $out/share/
runHook postInstall
'';
postInstall = ''
wrapProgram $out/bin/mwc --set MWC_DEFAULT_CONFIG_PATH "$out/share/default.conf"
'';
# HUUUUUUUUUGE thanks to https://github.com/dqrk0jeste ^^^
__structuredAttrs = true;
meta = {
description = "tiling wayland compositor based on wlroots.";
homepage = "https://github.com/dqrk0jeste/mwc";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [s0me1newithhand7s];
platforms = ["x86_64-linux"];
};
}

View file

@ -0,0 +1,141 @@
{
lib,
addDriverRunpath,
autoconf,
automake,
bison,
cmake,
fetchFromGitHub,
xorg,
libglvnd,
makeWrapper,
nix-update-script,
pcre,
pkg-config,
python311Packages,
qt5,
stdenv,
vulkan-loader,
wayland,
libsForQt5,
# Boolean flags
waylandSupport ? true,
...
}: let
custom_swig = fetchFromGitHub {
owner = "baldurk";
repo = "swig";
rev = "renderdoc-modified-7";
hash = "sha256-RsdvxBBQvwuE5wSwL8OBXg5KMSpcO6EuMS0CzWapIpc=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "renderdoc";
version = "1.36";
src = fetchFromGitHub {
owner = "baldurk";
repo = "renderdoc";
rev = "v${finalAttrs.version}";
hash = "sha256-a7jUWjNrpy3FnLRccljV7obAlnQwyMJrAaGf9iZa0UY=";
};
outputs = [
"out"
"dev"
"doc"
];
buildInputs =
[
xorg.libXdmcp
xorg.libpthreadstubs
python311Packages.pyside2
python311Packages.pyside2-tools
python311Packages.shiboken2
qt5.qtbase
qt5.qtsvg
vulkan-loader
]
++ lib.optionals waylandSupport [
wayland
libsForQt5.qt5.qtwayland
];
nativeBuildInputs = [
addDriverRunpath
autoconf
automake
bison
cmake
makeWrapper
pcre
pkg-config
python311Packages.python
qt5.qtx11extras
qt5.wrapQtAppsHook
];
cmakeFlags = [
(lib.cmakeFeature "BUILD_VERSION_HASH" finalAttrs.src.rev)
(lib.cmakeFeature "BUILD_VERSION_DIST_NAME" "NixOS")
(lib.cmakeFeature "BUILD_VERSION_DIST_VER" finalAttrs.version)
(lib.cmakeFeature "BUILD_VERSION_DIST_CONTACT" "https://github.com/NixOS/nixpkgs/")
(lib.cmakeBool "BUILD_VERSION_STABLE" true)
(lib.cmakeBool "ENABLE_WAYLAND" waylandSupport)
];
dontWrapQtApps = true;
strictDeps = true;
postUnpack = ''
cp -r ${custom_swig} swig
chmod -R +w swig
patchShebangs swig/autogen.sh
'';
# TODO: define these in the above array via placeholders, once those are
# widely supported
preConfigure = ''
cmakeFlagsArray+=(
"-DRENDERDOC_SWIG_PACKAGE=$PWD/../swig"
"-DVULKAN_LAYER_FOLDER=$out/share/vulkan/implicit_layer.d/"
)
'';
preFixup = let
libPath = lib.makeLibraryPath [
libglvnd
vulkan-loader
];
in ''
wrapQtApp $out/bin/qrenderdoc \
--suffix LD_LIBRARY_PATH : "$out/lib:${libPath}"
wrapProgram $out/bin/renderdoccmd \
--suffix LD_LIBRARY_PATH : "$out/lib:${libPath}"
'';
# The only documentation for this so far is in the setup-hook.sh script from
# add-opengl-runpath
postFixup = ''
addDriverRunpath $out/lib/librenderdoc.so
'';
passthru.updateScript = nix-update-script {};
meta = {
homepage = "https://renderdoc.org/";
description = "Single-frame graphics debugger";
longDescription = ''
RenderDoc is a free MIT licensed stand-alone graphics debugger that
allows quick and easy single-frame capture and detailed introspection
of any application using Vulkan, D3D11, OpenGL or D3D12 across
Windows 7 - 10, Linux or Android.
'';
license = lib.licenses.mit;
mainProgram = "renderdoccmd";
maintainers = with lib.maintainers; [AndersonTorres];
platforms = lib.intersectLists lib.platforms.linux (lib.platforms.x86_64 ++ lib.platforms.i686);
};
})

View file

@ -1,210 +0,0 @@
{
lib,
stdenv,
stdenvNoCC,
fetchFromGitHub,
substituteAll,
makeWrapper,
makeDesktopItem,
copyDesktopItems,
vencord,
electron,
libicns,
jq,
moreutils,
cacert,
pipewire,
libpulseaudio,
autoPatchelfHook,
withTTS ? true,
# Enables the use of vencord from nixpkgs instead of
# letting vesktop manage it's own version
withSystemVencord ? false,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "vesktop";
version = "1.5.3";
src = fetchFromGitHub {
owner = "Vencord";
repo = "Vesktop";
rev = "8993b0d";
hash = "sha256-R8MT8Z5oHJTAXE2SAcq+yAeVkUEhisLOUaUyMAwFy4w=";
};
# NOTE: This requires pnpm 8.10.0 or newer
# https://github.com/pnpm/pnpm/pull/7214
pnpmDeps = assert lib.versionAtLeast lib.custom.pkgs-unstable.nodePackages.pnpm.version "8.10.0";
stdenvNoCC.mkDerivation {
pname = "${finalAttrs.pname}-pnpm-deps";
inherit
(finalAttrs)
src
version
patches
ELECTRON_SKIP_BINARY_DOWNLOAD
;
nativeBuildInputs = [
cacert
jq
moreutils
lib.custom.pkgs-unstable.nodePackages.pnpm
];
# inspired by https://github.com/NixOS/nixpkgs/blob/763e59ffedb5c25774387bf99bc725df5df82d10/pkgs/applications/misc/pot/default.nix#L56
# and based on https://github.com/NixOS/nixpkgs/pull/290715
installPhase = ''
runHook preInstall
pnpm -v
export HOME=$(mktemp -d)
pnpm config set store-dir $out
# Some packages produce platform dependent outputs. We do not want to cache those in the global store
pnpm config set side-effects-cache false
# pnpm is going to warn us about using --force
# --force allows us to fetch all dependencies including ones that aren't meant for our host platform
pnpm install --force --frozen-lockfile --ignore-script
'';
fixupPhase = ''
runHook preFixup
# Remove timestamp and sort the json files
rm -rf $out/v3/tmp
for f in $(find $out -name "*.json"); do
sed -i -E -e 's/"checkedAt":[0-9]+,//g' $f
jq --sort-keys . $f | sponge $f
done
runHook postFixup
'';
dontConfigure = true;
dontBuild = true;
outputHashMode = "recursive";
outputHash = "sha256-FI2CGnbM5TYnh7+CBU0Bbo9I2RwlbGxb+OF/dlh0r0c=";
};
nativeBuildInputs = [
autoPatchelfHook
copyDesktopItems
makeWrapper
lib.custom.pkgs-unstable.nodePackages.pnpm
lib.custom.pkgs-unstable.nodePackages.nodejs
];
buildInputs = [
libpulseaudio
pipewire
stdenv.cc.cc.lib
];
patches =
[./disable_update_checking.patch]
++ lib.optional withSystemVencord (substituteAll {
inherit vencord;
src = ./use_system_vencord.patch;
});
ELECTRON_SKIP_BINARY_DOWNLOAD = 1;
configurePhase = ''
runHook preConfigure
export HOME=$(mktemp -d)
export STORE_PATH=$(mktemp -d)
cp -Tr "$pnpmDeps" "$STORE_PATH"
chmod -R +w "$STORE_PATH"
pnpm config set store-dir "$STORE_PATH"
pnpm install --frozen-lockfile --ignore-script --offline
patchShebangs node_modules/{*,.*}
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
pnpm build
# using `pnpm exec` here apparently makes it ignore ELECTRON_SKIP_BINARY_DOWNLOAD
./node_modules/.bin/electron-builder \
--dir \
-c.asarUnpack="**/*.node" \
-c.electronDist=${electron}/libexec/electron \
-c.electronVersion=${electron.version}
runHook postBuild
'';
# this is consistent with other nixpkgs electron packages and upstream, as far as I am aware
installPhase = ''
runHook preInstall
mkdir -p $out/opt/Vesktop
cp -r dist/linux-*unpacked/resources $out/opt/Vesktop/
pushd build
${libicns}/bin/icns2png -x icon.icns
for file in icon_*x32.png; do
file_suffix=''${file//icon_}
install -Dm0644 $file $out/share/icons/hicolor/''${file_suffix//x32.png}/apps/vesktop.png
done
makeWrapper ${electron}/bin/electron $out/bin/vesktop \
--add-flags $out/opt/Vesktop/resources/app.asar \
${lib.optionalString withTTS "--add-flags \"--enable-speech-dispatcher\""} \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime}}"
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = "vesktop";
desktopName = "Vesktop";
exec = "vesktop %U";
icon = "vesktop";
startupWMClass = "Vesktop";
genericName = "Internet Messenger";
keywords = [
"discord"
"vencord"
"electron"
"chat"
];
categories = [
"Network"
"InstantMessaging"
"Chat"
];
})
];
passthru = {
inherit (finalAttrs) pnpmDeps;
};
meta = {
description = "An alternate client for Discord with Vencord built-in";
homepage = "https://github.com/Vencord/Vesktop";
changelog = "https://github.com/Vencord/Vesktop/releases/tag/${finalAttrs.src.rev}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
getchoo
Scrumplex
vgskye
pluiedev
];
platforms = [
"x86_64-linux"
"aarch64-linux"
];
mainProgram = "vesktop";
};
})

View file

@ -1,181 +0,0 @@
diff --git a/package.json b/package.json
index 481c91b..7217e01 100644
--- a/package.json
+++ b/package.json
@@ -24,8 +24,7 @@
"updateMeta": "tsx scripts/utils/updateMeta.mts"
},
"dependencies": {
- "arrpc": "github:OpenAsar/arrpc#5aadc307cb9bf4479f0a12364a253b07a77ace22",
- "electron-updater": "^6.3.4"
+ "arrpc": "github:OpenAsar/arrpc#5aadc307cb9bf4479f0a12364a253b07a77ace22"
},
"optionalDependencies": {
"@vencord/venmic": "^6.1.0"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 18e57ff..a600375 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -16,9 +16,6 @@ importers:
arrpc:
specifier: github:OpenAsar/arrpc#5aadc307cb9bf4479f0a12364a253b07a77ace22
version: https://codeload.github.com/OpenAsar/arrpc/tar.gz/5aadc307cb9bf4479f0a12364a253b07a77ace22(patch_hash=biyukfa6dww2wxujy4eyvkhrti)
- electron-updater:
- specifier: ^6.3.4
- version: 6.3.4
optionalDependencies:
'@vencord/venmic':
specifier: ^6.1.0
@@ -1007,9 +1004,6 @@ packages:
electron-publish@25.0.3:
resolution: {integrity: sha512-wSGm+TFK2lArswIFBPLuIRHbo945s3MCvG5y1xVC57zL/PsrElUkaGH2ERtRrcKNpaDNq77rDA9JnMJhAFJjUg==}
- electron-updater@6.3.4:
- resolution: {integrity: sha512-uZUo7p1Y53G4tl6Cgw07X1yF8Jlz6zhaL7CQJDZ1fVVkOaBfE2cWtx80avwDVi8jHp+I/FWawrMgTAeCCNIfAg==}
-
electron@32.1.2:
resolution: {integrity: sha512-CXe6doFzhmh1U7daOvUzmF6Cj8hssdYWMeEPRnRO6rB9/bbwMlWctcQ7P8NJXhLQ88/vYUJQrJvlJPh8qM0BRQ==}
engines: {node: '>= 12.20.55'}
@@ -1785,15 +1779,9 @@ packages:
lodash.difference@4.5.0:
resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==}
- lodash.escaperegexp@4.1.2:
- resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==}
-
lodash.flatten@4.4.0:
resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==}
- lodash.isequal@4.5.0:
- resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==}
-
lodash.isplainobject@4.0.6:
resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
@@ -2485,9 +2473,6 @@ packages:
text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
- tiny-typed-emitter@2.1.0:
- resolution: {integrity: sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==}
-
tmp-promise@3.0.3:
resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==}
@@ -3214,7 +3199,7 @@ snapshots:
app-builder-bin@5.0.0-alpha.7: {}
- app-builder-lib@25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)):
+ app-builder-lib@25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)):
dependencies:
'@develar/schema-utils': 2.6.5
'@electron/notarize': 2.3.2
@@ -3229,7 +3214,7 @@ snapshots:
builder-util-runtime: 9.2.5
chromium-pickle-js: 0.2.0
debug: 4.3.7
- dmg-builder: 25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
+ dmg-builder: 25.0.5(electron-builder-squirrel-windows@25.0.5)
ejs: 3.1.10
electron-builder-squirrel-windows: 25.0.5(dmg-builder@25.0.5)
electron-publish: 25.0.3
@@ -3744,9 +3729,9 @@ snapshots:
'@types/react': 17.0.2
moment: 2.30.1
- dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)):
+ dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5):
dependencies:
- app-builder-lib: 25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
+ app-builder-lib: 25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
builder-util: 25.0.3
builder-util-runtime: 9.2.5
fs-extra: 10.1.0
@@ -3789,7 +3774,7 @@ snapshots:
electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5):
dependencies:
- app-builder-lib: 25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
+ app-builder-lib: 25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
archiver: 5.3.2
builder-util: 25.0.3
fs-extra: 10.1.0
@@ -3800,11 +3785,11 @@ snapshots:
electron-builder@25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)):
dependencies:
- app-builder-lib: 25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
+ app-builder-lib: 25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
builder-util: 25.0.3
builder-util-runtime: 9.2.5
chalk: 4.1.2
- dmg-builder: 25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
+ dmg-builder: 25.0.5(electron-builder-squirrel-windows@25.0.5)
fs-extra: 10.1.0
is-ci: 3.0.1
lazy-val: 1.0.5
@@ -3828,19 +3813,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- electron-updater@6.3.4:
- dependencies:
- builder-util-runtime: 9.2.5
- fs-extra: 10.1.0
- js-yaml: 4.1.0
- lazy-val: 1.0.5
- lodash.escaperegexp: 4.1.2
- lodash.isequal: 4.5.0
- semver: 7.6.3
- tiny-typed-emitter: 2.1.0
- transitivePeerDependencies:
- - supports-color
-
electron@32.1.2:
dependencies:
'@electron/get': 2.0.3
@@ -4739,12 +4711,8 @@ snapshots:
lodash.difference@4.5.0: {}
- lodash.escaperegexp@4.1.2: {}
-
lodash.flatten@4.4.0: {}
- lodash.isequal@4.5.0: {}
-
lodash.isplainobject@4.0.6: {}
lodash.merge@4.6.2: {}
@@ -5498,8 +5466,6 @@ snapshots:
text-table@0.2.0: {}
- tiny-typed-emitter@2.1.0: {}
-
tmp-promise@3.0.3:
dependencies:
tmp: 0.2.3
diff --git a/src/main/index.ts b/src/main/index.ts
index 2e0d6f7..f8a67e4 100644
--- a/src/main/index.ts
+++ b/src/main/index.ts
@@ -7,7 +7,6 @@
import "./ipc";
import { app, BrowserWindow, nativeTheme } from "electron";
-import { autoUpdater } from "electron-updater";
import { DATA_DIR } from "./constants";
import { createFirstLaunchTour } from "./firstLaunch";
@@ -19,8 +18,6 @@ import { isDeckGameMode } from "./utils/steamOS";
if (IS_DEV) {
require("source-map-support").install();
-} else {
- autoUpdater.checkForUpdatesAndNotify();
}
// Make the Vencord files use our DATA_DIR
// Make the Vencord files use our DATA_DIR

View file

@ -1,13 +0,0 @@
diff --git a/src/main/constants.ts b/src/main/constants.ts
index d5c5fa6..a1b32f1 100644
--- a/src/main/constants.ts
+++ b/src/main/constants.ts
@@ -16,7 +16,7 @@ export const VENCORD_THEMES_DIR = join(DATA_DIR, "themes");
// needs to be inline require because of circular dependency
// as otherwise "DATA_DIR" (which is used by ./settings) will be uninitialised
export const VENCORD_FILES_DIR =
- (require("./settings") as typeof import("./settings")).Settings.store.vencordDir || join(DATA_DIR, "vencordDist");
+ (require("./settings") as typeof import("./settings")).Settings.store.vencordDir || "@vencord@";
export const USER_AGENT = `Vesktop/${app.getVersion()} (https://github.com/Vencord/Vesktop)`;