From 1b4b0fc5ff4169a6488d177bccd6b803555665d1 Mon Sep 17 00:00:00 2001 From: pegasust Date: Fri, 30 Dec 2022 07:10:55 -0700 Subject: [PATCH] add kpcli-py, with support for kdbx files and intuitive cli --- flake.lock | 17 ++++++++++ flake.nix | 7 ++++- hosts/default.nix | 2 +- keepass.kdbx | Bin 80631 -> 0 bytes native_configs/neovim/init.lua | 2 +- nix-conf/home-manager/base/keepass.nix | 42 ++++++++++++++++++++++++- nix-conf/home-manager/flake.lock | 21 +++++++++++-- nix-conf/home-manager/flake.nix | 11 +++++-- nix-conf/home-manager/home.nix | 1 + overlays.nix | 20 ++++++++++++ 10 files changed, 115 insertions(+), 8 deletions(-) delete mode 100755 keepass.kdbx create mode 100644 overlays.nix diff --git a/flake.lock b/flake.lock index 64b1bff..ec98f01 100644 --- a/flake.lock +++ b/flake.lock @@ -102,6 +102,22 @@ "type": "github" } }, + "kpcli-py": { + "flake": false, + "locked": { + "lastModified": 1619087457, + "narHash": "sha256-iRNLq5s2WJJHwB4beP5xQDKrBPWS/42s/ozLoSa5gAE=", + "owner": "rebkwok", + "repo": "kpcli", + "rev": "e4d699e3b3d28887f74185f8fa69d0aade111d84", + "type": "github" + }, + "original": { + "owner": "rebkwok", + "repo": "kpcli", + "type": "github" + } + }, "nixgl": { "inputs": { "flake-utils": "flake-utils_2", @@ -173,6 +189,7 @@ "flake-compat": "flake-compat", "flake-utils": "flake-utils", "home-manager": "home-manager", + "kpcli-py": "kpcli-py", "nixgl": "nixgl", "nixpkgs": "nixpkgs_2", "rust-overlay": "rust-overlay" diff --git a/flake.nix b/flake.nix index e0e2011..6091d69 100644 --- a/flake.nix +++ b/flake.nix @@ -18,6 +18,10 @@ url = "github:edolstra/flake-compat"; flake = false; }; + kpcli-py = { + url = "github:rebkwok/kpcli"; + flake = false; + }; }; outputs = { @@ -29,6 +33,7 @@ system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; + overlays = import ./overlays.nix _inputs; config = { allowUnfree = true; }; @@ -89,7 +94,7 @@ unit_tests = lib.runTests unit_tests; secrets = import ./secrets final_inputs; debug = { - inherit final_inputs hosts users modules lib inputs_w_pkgs unit_tests; + inherit final_inputs hosts users modules lib inputs_w_pkgs unit_tests pkgs; }; }; } diff --git a/hosts/default.nix b/hosts/default.nix index 192b436..cb737de 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -50,7 +50,7 @@ in { }; mkHostFromPropagated = propagatedHostConfig@{nixosConfig,...}: nixpkgs.lib.nixosSystem nixosConfig; mkHost = hostConfig: (lib.pipe [propagate mkHostFromPropagated] hostConfig); -trimNull = lib.filterAttrs (name: value: value != null); +trimNull = lib.filterAttrsRecursive (name: value: value != null); flattenPubkey = lib.mapAttrs (hostName: meta_config: meta_config.metadata.ssh_pubkey); in { inherit config; diff --git a/keepass.kdbx b/keepass.kdbx deleted file mode 100755 index 6b00bbc56414c3665f8d7698faf6793f18890bf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80631 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�@0Tm?!gz@K@*c51L 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', '', { silent = true }) --- make :terminal escape out. For zsh-vi-mode, just use Alt-M or any keybind +-- make :terminal escape out. For zsh-vi-mode, just use Alt-Z or any keybind -- that does not collide with vi-motion keybind. This is because -- -> ^[x; while on the terminal is ^[ vim.keymap.set('t', '', ')') diff --git a/nix-conf/home-manager/base/keepass.nix b/nix-conf/home-manager/base/keepass.nix index ca467b1..b845f58 100644 --- a/nix-conf/home-manager/base/keepass.nix +++ b/nix-conf/home-manager/base/keepass.nix @@ -1,6 +1,7 @@ { config, proj_root, pkgs, lib, ... }: let cfg = config.base.keepass; + trimNull = lib.filterAttrsRecursive (name: value: value != null); in { imports = [ ./graphics.nix ]; @@ -12,13 +13,52 @@ in default = false; example = "true"; }; + path = lib.mkOption { + type = lib.types.path; + description = "Path to kdbx file"; + default = null; + example = "/media/homelab/f/PersistentHotStorage/keepass.kdbx"; + }; + keyfile_path = lib.mkOption { + type = lib.types.nullOr lib.types.path; + description = '' + Path to key file for the database + If null, then the field is unset + ''; + default = null; + example = "/path/to/mykeyfile.key"; + }; + store_encrypted_password = lib.mkOption { + type = lib.types.bool; + description = "Whether to store encrypted password for 24 hrs before re-prompt"; + default = true; + example = "false"; + }; + copy_timeout_secs = lib.mkOption { + type = lib.types.int; + description = "Timeout (seconds) before the password is expired from clipboard"; + default = 12; + example = "60"; + }; }; config = lib.mkIf cfg.enable { home.packages = [ - pkgs.kpcli # kp but is in cli + pkgs.kpcli-py # kp but is in cli ] ++ (if cfg.use_gui or config.base.graphics._enable then [ pkgs.keepass # Personal secret management ] else [ ]); + home.file.".kp/config.ini".text = lib.generators.toINI {} (trimNull { + default = { + KEEPASSDB = cfg.path; + KEEPASSDB_KEYFILE = cfg.keyfile_path; + STORE_ENCRYPTED_PASSWORD = cfg.store_encrypted_password; + KEEPASSDB_PASSWORD = null; # No good way yet to store the password + KEEPASSDB_TIMEOUT = cfg.copy_timeout_secs; + }; + }); # xdg.dataFile."keepass.kdbx".path = + # base.shells.shellAliases = { + # kp = "kpcli --kdb=${cfg.path}"; + # }; }; } diff --git a/nix-conf/home-manager/flake.lock b/nix-conf/home-manager/flake.lock index d0c5593..6465d36 100644 --- a/nix-conf/home-manager/flake.lock +++ b/nix-conf/home-manager/flake.lock @@ -82,6 +82,22 @@ "type": "github" } }, + "kpcli-py": { + "flake": false, + "locked": { + "lastModified": 1619087457, + "narHash": "sha256-iRNLq5s2WJJHwB4beP5xQDKrBPWS/42s/ozLoSa5gAE=", + "owner": "rebkwok", + "repo": "kpcli", + "rev": "e4d699e3b3d28887f74185f8fa69d0aade111d84", + "type": "github" + }, + "original": { + "owner": "rebkwok", + "repo": "kpcli", + "type": "github" + } + }, "nixgl": { "inputs": { "flake-utils": "flake-utils_2", @@ -90,11 +106,11 @@ "locked": { "lastModified": 1, "narHash": "sha256-KP+2qdZlhmRkrafuuEofg7YnNdVmGV95ipvpuqmJneI=", - "path": "/nix/store/qprlnx490gv6nylwhgq1a4i28pa9rjii-source/out-of-tree/nixGL", + "path": "/nix/store/qcm4676fqkcdrizjkn4j0796ybddwlxm-source/out-of-tree/nixGL", "type": "path" }, "original": { - "path": "/nix/store/qprlnx490gv6nylwhgq1a4i28pa9rjii-source/out-of-tree/nixGL", + "path": "/nix/store/qcm4676fqkcdrizjkn4j0796ybddwlxm-source/out-of-tree/nixGL", "type": "path" } }, @@ -150,6 +166,7 @@ "flake-compat": "flake-compat", "flake-utils": "flake-utils", "home-manager": "home-manager", + "kpcli-py": "kpcli-py", "nixgl": "nixgl", "nixpkgs": "nixpkgs_2", "rust-overlay": "rust-overlay" diff --git a/nix-conf/home-manager/flake.nix b/nix-conf/home-manager/flake.nix index 8afe0f4..a6ac1e5 100644 --- a/nix-conf/home-manager/flake.nix +++ b/nix-conf/home-manager/flake.nix @@ -14,19 +14,24 @@ url = "github:edolstra/flake-compat"; flake = false; }; + kpcli-py = { + url = "github:rebkwok/kpcli"; + flake = false; + }; }; outputs = - { nixpkgs + flake_inputs@{ nixpkgs , home-manager , nixgl , rust-overlay , flake-utils + , kpcli-py , ... }: let system = "x86_64-linux"; - overlays = [ nixgl.overlay rust-overlay.overlays.default ]; + overlays = import ./../../overlays.nix flake_inputs; # pkgs = nixpkgs.legacyPackages.${system}.appendOverlays overlays; pkgs = import nixpkgs { inherit system overlays; @@ -140,8 +145,10 @@ { base.graphics.enable = true; base.alacritty.font.family = "BitstreamVeraSansMono Nerd Font"; + base.keepass.path = "/media/homelab/f/PersistentHotStorage/keepass.kdbx"; } ]; + extraSpecialArgs = mkModuleArgs { inherit pkgs; myHome = { diff --git a/nix-conf/home-manager/home.nix b/nix-conf/home-manager/home.nix index 6304033..77ec91a 100644 --- a/nix-conf/home-manager/home.nix +++ b/nix-conf/home-manager/home.nix @@ -64,4 +64,5 @@ in enableBashIntegration = true; enableZshIntegration = true; }; + base.keepass.enable = true; } diff --git a/overlays.nix b/overlays.nix new file mode 100644 index 0000000..24da28f --- /dev/null +++ b/overlays.nix @@ -0,0 +1,20 @@ +flake_input@{ kpcli-py, nixgl, rust-overlay, ... }: [ + nixgl.overlays.default + rust-overlay.overlays.default + (final: prev: { + # use python3.9, which works because of cython somehow? + kpcli-py = final.poetry2nix.mkPoetryApplication { + projectDir = kpcli-py; + python = final.python39; + overrides = final.poetry2nix.defaultPoetryOverrides.extend (self: super: { + # tableformatter requires setuptools + tableformatter = super.tableformatter.overridePythonAttrs ( + old: { + buildInputs = (old.buildInputs or [ ]) ++ [ super.setuptools super.cython_3 ]; + } + ); + }); + }; + }) +] +