{ description = "A passwordstore and Secret Service API implementation"; inputs.nixpkgs.url = "github:NixOs/nixpkgs/nixos-unstable"; outputs = { self, nixpkgs }: let lib = nixpkgs.lib; forSystem = f: system: f { inherit system; pkgs = import nixpkgs { inherit system; }; }; supportedSystems = lib.platforms.unix; forAllSystems = f: lib.genAttrs supportedSystems (forSystem f); in { devShells = forAllSystems ({ system, pkgs }: { default = pkgs.mkShell { name = "dev"; buildInputs = with pkgs; [ gpgme sqlite systemdLibs pkg-config meson ninja gdb ccls clang-tools # clang-format ]; shellHook = '' [ -z "$XDG_DATA_HOME" ] && export XDG_DATA_HOME="$HOME/.local/share" export PASSWORD_STORE_DIR="$XDG_DATA_HOME/dev_pass" export PS1="\033[0;32m[󰟵 ]\033[0m $PS1" ''; }; }); packages = forAllSystems ({ system, pkgs }: { npass = pkgs.stdenv.mkDerivation (finalAttrs: { pname = "npass"; version = self.shortRev or self.dirtyShortRev; src = ./.; nativeBuildInputs = with pkgs; [ meson ninja pkg-config ]; buildInputs = with pkgs; [ gpgme sqlite systemdLibs ]; meta = { description = "A passwordstore and Secret Service API implementation"; homepage = "https://git.sinanmohd.com/npass"; license = lib.licenses.gpl3Only; platforms = supportedSystems; mainProgram = "pass"; maintainers = with lib.maintainers; [ sinanmohd ]; }; }); default = self.packages.${system}.npass; }); }; }