diff --git a/home/gui/default.nix b/home/gui/default.nix index b3056bb..2cc8ffb 100644 --- a/home/gui/default.nix +++ b/home/gui/default.nix @@ -11,6 +11,7 @@ home.packages = with pkgs; [ bazel bazel-buildtools + bitwarden cdrtools ffmpeg gopls @@ -24,7 +25,6 @@ libreoffice-bin ] else [ - bitwarden gnucash handbrake jellyfin-media-player diff --git a/overlays/default.nix b/overlays/default.nix index 79d8990..2d10d17 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -60,4 +60,5 @@ in rec { propagatedBuildInputs = old.propagatedBuildInputs ++ [ my-py-addons.xonsh-direnv ]; }); + bitwarden = if super.stdenv.isDarwin then (super.callPackage ./mac/bitwarden.nix {}) else super.bitwarden; } diff --git a/overlays/hms.sh b/overlays/hms.sh index af3f656..0060746 100644 --- a/overlays/hms.sh +++ b/overlays/hms.sh @@ -27,8 +27,14 @@ popd > /dev/null rm -r "${dest}" if [ "$(uname -s)" == "Darwin" ]; then - for app in ~/.nix-profile/Applications/*.app; do - echo "Copying '${app}' to Applications" - cp -r "${app}" "${HOME}/Applications" + cd ~/.nix-profile/Applications + for app in *.app; do + echo "Updating permissions on '${app}'" + chmod -R u+w "${HOME}/Applications/${app}" + echo "Copying new version to Applications" + cp -r "${app}" "${HOME}/Applications" 2>&1 > /dev/null || true + if [ "$?" != "0" ]; then + echo "An error occurred, proceeding anyway" + fi done fi diff --git a/overlays/mac/bitwarden.nix b/overlays/mac/bitwarden.nix new file mode 100644 index 0000000..6c9277c --- /dev/null +++ b/overlays/mac/bitwarden.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchurl, + undmg, +}: + +stdenv.mkDerivation rec { + version = "2022.10.1"; + pname = "Bitwarden"; + + buildInputs = [ + undmg + ]; + sourceRoot = "."; + phases = [ + "unpackPhase" + "installPhase" + ]; + installPhase = '' + mkdir -p "$out/Applications" + cp -r Bitwarden*.app "$out/Applications" + ''; + + src = fetchurl { + name = "Bitwarden-${version}.dmg"; + url = "https://github.com/bitwarden/clients/releases/download/desktop-v${version}/Bitwarden-${version}-universal.dmg"; + sha256 = "sha256-6O8xaGBaG4d6l9QRtGM5wj9OCMFy87dH8N1MfEBBjck="; + }; + + meta = { + description = "Bitwarden, an open source password management tool"; + homepage = "https://bitwarden.com"; + }; +}