Vivaldi on NixOS で Flash PPAPI Plugin を有効にした

読了まで:約1分


と​いう話。


実を​言うと、​僕の​ NixOS 環境上の​ Vivaldi では、​今まで​ Flash Player が​動いてなくて、​ Flash が​必要に​なる​ Web サイトとか​基本的には​動きません!​ と​いう​感じだったのですが、​ 今後​ [[N 高等学校]] への​入学を​目指している​関係で、​色々と​必要に​なるかもしれない、と​いう​事で、​動く​様に​しました。

それで、​実際の​コードからの​抜粋には​なるんだけど、​大体、​ 下記の​様な​感じで​ Vivaldi on NixOS で​ Flash Plugin を​有効に​出来ます:

vivaldi = vivaldi.overrideAttrs (old: rec {
buildInputs   = old.buildInputs ++  [[ makeWrapper ]] ;
installPhase  = old.installPhase + ''
rm $out/bin/vivaldi
eval makeWrapper $out/opt/vivaldi/vivaldi $out/bin/vivaldi ${
stdenv.lib.concatMapStringsSep " " (plugin: "$(< \"${plugin}/nix-support/wrapper-flags\")") (callPackage <nixpkgs/pkgs/applications/networking/browsers/chromium/plugins.nix> {
enableWideVine    = false;
enablePepperFlash = true;
upstream-info     = import <nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.nix>;
}).enabled
}
'';
});

それで​この​ Snippet 、​実際の​ところは​ NixOS の​ chromium の​ パッケージ定義を​参考に​して​書いたのですが、​ 一体​何を​行っているか、と​言うと、​基本的には、

NixOS 上の​ Chromium で​ Flash PPAPI Plugin を​有効に​する​方​法

と​同じ​手法を、​ Chromium の​パッケージ定義から​定義ファイルを​拝借しつつ、​ それを​ Vivaldi でも​適用出来る​様に​した、と​いう​感じです。​ その​ため、​この​手法は​他の​ Electron 系アプリでも​適用出来るのではないか、と​思います。


ちなみに。

上記の​ Snippet は、​実際に​僕が​使っている​設定ファイルの​コードとは​相違していて、​ 僕の​環境の​場合だと、​ vivaldi.overrideAttrs の​ vivaldi の​部分が、​ Nixpkgs の​最新の​定義ファイルを​ GitHub から​取ってきた​それを​使う、​ と​いう​感じに​なっています。​なお、​実際の​コードは​大体​こんなの​:

vivaldi = (callPackage "${fetchurl {
url = "https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/applications/networking/browsers/vivaldi/default.nix";
sha256 = "12cml3pb8rzwsgv7zi0da7nqmbpk5br6gqzxgpmxhmkwagrzgbsi";
}}" { }).overrideAttrs (old: rec {

それで、​この、

ネットから​パッケージ定義を​部分的に​取ってきて、​それを​そのまま​使う

と​言う​手法は、​NixOS で​部分的に​最新の​パッケージを​使いたい、と​言う​時に​非常に​便利なので、​ NixOS や​ Nixpkgs ​使いであれば、​一応、​覚えておいて​損は​ないです、​はい。


と​言う事で​本日は​以上です。

しっかし、​日本で​ NixOS ​使っている方と​言うか、​利用している方の​母数は​どれくらいなんでしょうかね。​ なんか、​ほとんど​見かけない​感じでは​あるんですが​……

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。
次に備えて待機中。

今は趣味でプログラミングをして
生活しています。