aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/programs/default.nix1
-rw-r--r--modules/programs/enteauth/default.nix57
-rw-r--r--users/arpit.nix1
3 files changed, 59 insertions, 0 deletions
diff --git a/modules/programs/default.nix b/modules/programs/default.nix
index e9e6ffd..5f6b49a 100644
--- a/modules/programs/default.nix
+++ b/modules/programs/default.nix
@@ -10,6 +10,7 @@
./brave
./brightnessctl
./bruno
+ ./enteauth
./feh
./ffmpeg
./fzf
diff --git a/modules/programs/enteauth/default.nix b/modules/programs/enteauth/default.nix
new file mode 100644
index 0000000..632b979
--- /dev/null
+++ b/modules/programs/enteauth/default.nix
@@ -0,0 +1,57 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
+
+# Ente Auth - end-to-end encrypted authentication (2FA)
+let
+ enteAuthWithKeyring = pkgs.symlinkJoin {
+ name = "ente-auth-wrapped";
+ paths = [ pkgs.ente-auth ];
+ buildInputs = [ pkgs.makeWrapper ];
+ postBuild = ''
+ wrapProgram $out/bin/enteauth \
+ --prefix PATH : ${
+ lib.makeBinPath [
+ pkgs.gnome-keyring
+ pkgs.dbus
+ ]
+ } \
+ --run "echo 'password' | ${pkgs.gnome-keyring}/bin/gnome-keyring-daemon --unlock --components=secrets"
+
+ rm -rf $out/share/applications/*
+
+ ln -s ${customDesktopItem}/share/applications/* $out/share/applications/
+ '';
+ };
+
+ customDesktopItem = pkgs.makeDesktopItem {
+ name = "enteauth";
+ exec = "enteauth";
+ icon = "io.ente.auth";
+ comment = "End-to-end encrypted 2FA authenticator";
+ desktopName = "Ente Auth";
+ genericName = "2FA Authenticator";
+ categories = [
+ "Utility"
+ "Security"
+ ];
+ terminal = false;
+ };
+in
+{
+ options.programs.enteauth = {
+ enable = lib.mkEnableOption "Enables wrapped ente-auth with automated keyring unlocks and a desktop entry.";
+ package = lib.mkOption {
+ type = lib.types.package;
+ default = enteAuthWithKeyring;
+ description = "The customized version of ente-auth with a self-unlocking daemon backend.";
+ };
+ };
+
+ config = lib.mkIf config.programs.enteauth.enable {
+ home.packages = [ config.programs.enteauth.package ];
+ };
+}
diff --git a/users/arpit.nix b/users/arpit.nix
index d32fbe0..dea8dbb 100644
--- a/users/arpit.nix
+++ b/users/arpit.nix
@@ -18,6 +18,7 @@
programs.brave.enable = true;
programs.brightnessctl.enable = true;
programs.bruno.enable = true;
+ programs.enteauth.enable = true;
programs.feh.enable = true;
programs.ffmpeg.enable = true;
programs.fzf.enable = true;