Unverified Commit b0c8e710 authored by Sebastian Sellmeier's avatar Sebastian Sellmeier
Browse files

_1password-gui: nixfmt

parent bfde1092
Loading
Loading
Loading
Loading
+18 −9
Original line number Diff line number Diff line
{ stdenv
, pname
, version
, src
, meta
, unzip
, undmg
{
  stdenv,
  pname,
  version,
  src,
  meta,
  unzip,
  undmg,
}:

stdenv.mkDerivation {
  inherit pname version src meta;
  inherit
    pname
    version
    src
    meta
    ;

  nativeBuildInputs = [ unzip undmg ];
  nativeBuildInputs = [
    unzip
    undmg
  ];

  sourceRoot = ".";

+39 −12
Original line number Diff line number Diff line
{ stdenv
, callPackage
, channel ? "stable"
, fetchurl
, lib
{
  stdenv,
  callPackage,
  channel ? "stable",
  fetchurl,
  lib,
  # This is only relevant for Linux, so we need to pass it through
, polkitPolicyOwners ? [ ] }:
  polkitPolicyOwners ? [ ],
}:

let
  pname = "1password";
@@ -50,7 +52,11 @@ let
  };

  src = fetchurl {
    inherit (sources.${channel}.${stdenv.system} or (throw "unsupported system ${stdenv.hostPlatform.system}")) url hash;
    inherit
      (sources.${channel}.${stdenv.system} or (throw "unsupported system ${stdenv.hostPlatform.system}"))
      url
      hash
      ;
  };

  meta = {
@@ -60,11 +66,32 @@ let
    homepage = "https://1password.com/";
    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
    license = lib.licenses.unfree;
    maintainers = with lib.maintainers; [ timstott savannidgerinel sebtm ];
    maintainers = with lib.maintainers; [
      timstott
      savannidgerinel
      sebtm
    ];
    platforms = builtins.attrNames sources.${channel};
    mainProgram = "1password";
  };

in if stdenv.isDarwin
then callPackage ./darwin.nix { inherit pname version src meta; }
else callPackage ./linux.nix { inherit pname version src meta polkitPolicyOwners; }
in
if stdenv.isDarwin then
  callPackage ./darwin.nix {
    inherit
      pname
      version
      src
      meta
      ;
  }
else
  callPackage ./linux.nix {
    inherit
      pname
      version
      src
      meta
      polkitPolicyOwners
      ;
  }
+91 −76
Original line number Diff line number Diff line
{ lib
, stdenv
, pname
, version
, src
, meta
, makeShellWrapper
, wrapGAppsHook3
, alsa-lib
, at-spi2-atk
, at-spi2-core
, atk
, cairo
, cups
, dbus
, expat
, gdk-pixbuf
, glib
, gtk3
, libX11
, libXcomposite
, libXdamage
, libXext
, libXfixes
, libXrandr
, libdrm
, libxcb
, libxkbcommon
, libxshmfence
, libGL
, libappindicator-gtk3
, mesa
, nspr
, nss
, pango
, systemd
, udev
, xdg-utils
{
  lib,
  stdenv,
  pname,
  version,
  src,
  meta,
  makeShellWrapper,
  wrapGAppsHook3,
  alsa-lib,
  at-spi2-atk,
  at-spi2-core,
  atk,
  cairo,
  cups,
  dbus,
  expat,
  gdk-pixbuf,
  glib,
  gtk3,
  libX11,
  libXcomposite,
  libXdamage,
  libXext,
  libXfixes,
  libXrandr,
  libdrm,
  libxcb,
  libxkbcommon,
  libxshmfence,
  libGL,
  libappindicator-gtk3,
  mesa,
  nspr,
  nss,
  pango,
  systemd,
  udev,
  xdg-utils,

  # The 1Password polkit file requires a list of users for whom polkit
  # integrations should be enabled. This should be a list of strings that
  # correspond to usernames.
, polkitPolicyOwners ? []
  polkitPolicyOwners ? [ ],
}:
let
  # Convert the polkitPolicyOwners variable to a polkit-compatible string for the polkit file.
  policyOwners = lib.concatStringsSep " " (map (user: "unix-user:${user}") polkitPolicyOwners);

in stdenv.mkDerivation {
  inherit pname version src meta;
in
stdenv.mkDerivation {
  inherit
    pname
    version
    src
    meta
    ;

  nativeBuildInputs = [ makeShellWrapper wrapGAppsHook3 ];
  nativeBuildInputs = [
    makeShellWrapper
    wrapGAppsHook3
  ];
  buildInputs = [ glib ];

  dontConfigure = true;
@@ -58,7 +68,9 @@ in stdenv.mkDerivation {
  dontWrapGApps = true;

  installPhase =
    let rpath = lib.makeLibraryPath [
    let
      rpath =
        lib.makeLibraryPath [
          alsa-lib
          at-spi2-atk
          at-spi2-core
@@ -87,8 +99,10 @@ in stdenv.mkDerivation {
          nss
          pango
          systemd
    ] + ":${stdenv.cc.cc.lib}/lib64";
    in ''
        ]
        + ":${stdenv.cc.cc.lib}/lib64";
    in
    ''
      runHook preInstall

      mkdir -p $out/bin $out/share/1password
@@ -99,12 +113,13 @@ in stdenv.mkDerivation {
      substituteInPlace $out/share/applications/${pname}.desktop \
        --replace 'Exec=/opt/1Password/${pname}' 'Exec=${pname}'

      '' + (lib.optionalString (polkitPolicyOwners != [ ])
    ''
    + (lib.optionalString (polkitPolicyOwners != [ ]) ''
      # Polkit file
        mkdir -p $out/share/polkit-1/actions
        substitute com.1password.1Password.policy.tpl $out/share/polkit-1/actions/com.1password.1Password.policy --replace "\''${POLICY_OWNERS}" "${policyOwners}"
        '') + ''
    '')
    + ''

      # Icons
      cp -a resources/icons $out/share