lavadesu / powercord-overlay Goto Github PK
View Code? Open in Web Editor NEWA Nix flake to install Discord with Powercord
License: MIT License
A Nix flake to install Discord with Powercord
License: MIT License
Since Powercord has been declared End of Life, it is no longer maintained.
Replugged appears to be the fork that has arisen, and it is probably a good idea to retarget the powercord
input to its repository:
https://github.com/replugged-org/replugged
The ability to use BetterDiscord plugins would be a nice addition as there are some plugins which Powercord is missing.
Heads up that the discord-plugged derivation will break when discord's wrapper gets swapped to makeBinaryWrapper
.
Here's an approach which works for both types:
if grep '\0' $out/opt/DiscordCanary/DiscordCanary && wrapperCmd=$(${makeBinaryWrapper.extractCmd} $out/opt/DiscordCanary/DiscordCanary) && [[ $wrapperCmd ]]; then
# Binary wrapper
parseMakeCWrapperCall() {
shift # makeCWrapper
oldExe=$1; shift
oldWrapperArgs=("$@")
}
eval "parseMakeCWrapperCall ''${wrapperCmd//"${discord-canary.out}"/"$out"}"
# Binary wrapper
makeWrapper $oldExe $out/opt/DiscordCanary/DiscordCanary "''${oldWrapperArgs[@]}" --add-flags "${extraElectronArgs}"
else
# Normal wrapper
substituteInPlace $out/opt/DiscordCanary/DiscordCanary \
--replace '${discord-canary.out}' "$out" \
--replace '"$@"' '${extraElectronArgs} "$@"'
fi
See also NixOS/nixpkgs#172592
So, I'm not sure what's going on, but powercord isn't working for me anymore. Earlier today, I updated my system and now the binaries installed by your overlay are no longer working. I use a flake to install discord-plugged, and it gives me two binaries: discordcanary
and DiscordCanary
. I'm not sure what the difference between these two are, but both of these seem to just launch default Discord with no Powercord plugins.
My entire system config is here: https://github.com/IQubic/nixos-config
The things to take note of are this line in flake.nix
: https://github.com/IQubic/nixos-config/blob/main/flake.nix#L45
and the entirety of powercord.nix
: https://github.com/IQubic/nixos-config/blob/main/hm/powercord.nix
powercord.nix
is imported by home.nix
, which is referenced in flake.nix
.
So, I've just installed this via the overlay, and when I try to run DiscordCanary, I'm told there's a new update, and I have drop down menu where I can select .deb, .tar.gz, or I'll figure it out. How do I disable the automatic update mechanism?
Hi there,
I'm currently working on a Powercord plugin, and I was wondering if there's a good way to add it to pkgs.discord-plugged.override
's plugins
list without adding it to the Nix store. I currently have the plugin added as a non-flake input in flake.nix
that points to my local Git repository, but in the past (on Arch Linux) I would make changes and simply refresh the client on plugin changes, as it was quicker. Is there a way I could do this, adding it to the plugins
list as a symlink or something similar so I can develop on it without constantly having to rebuild?
Thanks for this great overlay.
I've got Powercord installed properly, but I can't seem to get it to install plugins and themes. I'm trying to do this in my configuration.nix. Here's the code I have (N.B. irrelevant parts of config trimmed out):
{ config, pkgs, lib, ... }:
let
powercord-overlay = import (builtins.fetchTarball "https://github.com/LavaDesu/powercord-overlay/archive/master.tar.gz");
in
{
nixpkgs.overlays = [ powercord-overlay.overlay ];
# Packages
environment.systemPackages = with pkgs; [
(discord-plugged.override {
plugins = [
(pkgs.fetchTarball "https://github.com/somasis/discord-tokipona/archive/master.tar.gz")
(pkgs.fetchTarball "https://github.com/Vap0r1ze/vpc-shiki/archive/main.tar.gz")
(pkgs.fetchTarball "https://github.com/intrnl/powercord-read-all/archive/master.tar.gz")
];
themes = [
(pkgs.fetchTarball "https://github.com/NYRI4/Comfy/archive/master.tar.gz")
];
})
];
}
Attempting to rebuild this config with nixos-rebuild --switch
gives this error (N.B. line numbers aren't really meaningful, because I've not shown the whole configuration.nix):
building Nix...
building the system configuration...
error: attribute 'fetchTarball' missing
at /etc/nixos/configuration.nix:92:10:
91| plugins = [
92| (pkgs.fetchTarball "https://github.com/somasis/discord-tokipona/archive/master.tar.gz")
| ^
93| (pkgs.fetchTarball "https://github.com/Vap0r1ze/vpc-shiki/archive/main.tar.gz")
I think the use of with pkgs;
is shadowing the pkgs input from the top of the file. I'm not really sure how to fix that.
EDIT: Just tried changing pkgs.fetchTarball
to builtins.fetchTarball
in all 4 instances. This has not made the rebuild work any better:
building Nix...
building the system configuration...
error: value is a string with context while a set was expected
at /nix/store/xh8m68z7x92iwz5a6267cxlxl7jl6j4g-source/drvs/powercord.nix:15:48:
14|
15| fromDrvs = drvs: mn: builtins.map (drv: {
| ^
16| inherit (drv) outPath;
Is there a way to use OpenAsar with this overlay?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.