diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 10f6cda24b3..672521166e4 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -71,6 +71,7 @@ ./programs/atop.nix ./programs/bash/bash.nix ./programs/blcr.nix + ./programs/browserpass.nix ./programs/cdemu.nix ./programs/chromium.nix ./programs/command-not-found/command-not-found.nix diff --git a/nixos/modules/programs/browserpass.nix b/nixos/modules/programs/browserpass.nix new file mode 100644 index 00000000000..2b7ec185643 --- /dev/null +++ b/nixos/modules/programs/browserpass.nix @@ -0,0 +1,26 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + + ###### interface + options = { + programs.browserpass = { + enable = mkOption { + default = false; + type = types.bool; + description = '' + Whether to install the NativeMessaging configuration for installed browsers. + ''; + }; + }; + }; + + ###### implementation + config = mkIf config.programs.browserpass.enable { + environment.systemPackages = [ pkgs.browserpass ]; + environment.etc."chromium/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-host.json"; + environment.etc."opt/chrome/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-host.json"; + }; +} diff --git a/pkgs/tools/security/browserpass/default.nix b/pkgs/tools/security/browserpass/default.nix new file mode 100644 index 00000000000..edc46fee582 --- /dev/null +++ b/pkgs/tools/security/browserpass/default.nix @@ -0,0 +1,34 @@ +# This file was generated by https://github.com/kamilchm/go2nix v1.2.0 +{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }: + +buildGoPackage rec { + name = "browserpass-${version}"; + version = "2017-04-11"; + rev = "e0fe250ed8fd061125746f5d99a1f9a678d21004"; + + goPackagePath = "github.com/dannyvankooten/browserpass"; + + src = fetchgit { + inherit rev; + url = "https://github.com/dannyvankooten/browserpass"; + sha256 = "0khwlh5agdd2mm2yzklg8r2h084n8j7jbjjxsiaj67zm8zz6b39c"; + }; + + postInstall = '' + host_file="$bin/bin/browserpass" + mkdir -p "$bin/etc" + + sed -e "s!%%replace%%!$host_file!" go/src/${goPackagePath}/chrome/host.json > chrome-host.json + sed -e "s!%%replace%%!$host_file!" go/src/${goPackagePath}/firefox/host.json > firefox-host.json + + install -D chrome-host.json $bin/etc/chrome-host.json + install -D firefox-host.json $bin/lib/mozilla/native-messaging-hosts/com.dannyvankooten.browserpass.json + ''; + + meta = { + description = "A Chrome & Firefox extension for zx2c4's pass"; + homepage = "https://github.com/dannyvankooten/browserpass"; + license = stdenv.lib.licenses.mit; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 68e63f1c7b4..433f222a341 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -548,6 +548,8 @@ with pkgs; pass = callPackage ../tools/security/pass { }; + browserpass = callPackage ../tools/security/browserpass { }; + oracle-instantclient = callPackage ../development/libraries/oracle-instantclient { }; kwakd = callPackage ../servers/kwakd { };