commit 5dfbbc048d64f38be024b8df273c423ea940c1aa
parent 3a421bd40aad1009aefa0d491928118a3eb6864c
Author: mtmn <miro@haravara.org>
Date: Sat, 27 Jun 2026 19:37:09 +0200
nix: add `plass` and co.
Diffstat:
5 files changed, 65 insertions(+), 0 deletions(-)
diff --git a/flake.lock b/flake.lock
@@ -278,6 +278,22 @@
"type": "github"
}
},
+ "plass": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1746719398,
+ "narHash": "sha256-fB3L28wxesvt+YJen+IuS1LaQ4Mkkbnge6kFOaBOzQI=",
+ "owner": "omar-polo",
+ "repo": "plass",
+ "rev": "6d50c657de6e3e8504efafbcc536e5cfd5933772",
+ "type": "github"
+ },
+ "original": {
+ "owner": "omar-polo",
+ "repo": "plass",
+ "type": "github"
+ }
+ },
"ragenix": {
"inputs": {
"agenix": "agenix",
@@ -309,6 +325,7 @@
"home-manager": "home-manager",
"nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs_3",
+ "plass": "plass",
"ragenix": "ragenix",
"shirts": "shirts",
"tmux-xpanes": "tmux-xpanes",
diff --git a/flake.nix b/flake.nix
@@ -46,6 +46,11 @@
url = "github:greymd/tmux-xpanes";
flake = false;
};
+
+ plass = {
+ url = "github:omar-polo/plass";
+ flake = false;
+ };
};
outputs = {
diff --git a/modules/mixins/core/default.nix b/modules/mixins/core/default.nix
@@ -25,5 +25,9 @@
nvd
comma
];
+
+ perl = [
+ perlPackages.EncodeLocale
+ ];
}));
}
diff --git a/modules/mixins/dotfiles/default.nix b/modules/mixins/dotfiles/default.nix
@@ -62,6 +62,8 @@
}
)) (scan path ""));
in {
+ imports = [./plass.nix];
+
config = {
home.file =
(mkMapping ./home ".")
diff --git a/modules/mixins/dotfiles/plass.nix b/modules/mixins/dotfiles/plass.nix
@@ -0,0 +1,37 @@
+{
+ inputs,
+ pkgs,
+ ...
+}: let
+ totp = pkgs.stdenv.mkDerivation {
+ name = "totp";
+ src = inputs.plass;
+ buildInputs = [pkgs.openssl];
+ buildPhase = "cc -Wall -Wextra -o totp totp.c -lcrypto";
+ installPhase = "install -m755 totp $out";
+ };
+in {
+ home.file = {
+ "bin/plass" = {
+ source = "${inputs.plass}/plass";
+ executable = true;
+ };
+ "bin/pwg" = {
+ source = "${inputs.plass}/pwg";
+ executable = true;
+ };
+ "bin/totp" = {
+ source = totp;
+ executable = true;
+ };
+ ".local/share/man/man1/plass.1" = {
+ source = "${inputs.plass}/plass.1";
+ };
+ ".local/share/man/man1/pwg.1" = {
+ source = "${inputs.plass}/pwg.1";
+ };
+ ".local/share/man/man1/totp.1" = {
+ source = "${inputs.plass}/totp.1";
+ };
+ };
+}