Giter Club home page Giter Club logo

powercord-overlay's People

Contributors

actions-user avatar infinidoge avatar lavadesu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

powercord-overlay's Issues

Support makeBinaryWrapper

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

Powercord no longer working

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.

Cannot disable updater.

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?

Workflow when developing plugins/themes?

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.

Not sure how to install plugins and themes

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;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.