mirror of
				https://github.com/pinpox/pgp2ssh.git
				synced 2025-11-04 08:39:16 +01:00 
			
		
		
		
	Add flake
This commit is contained in:
		
							parent
							
								
									be490b399c
								
							
						
					
					
						commit
						7846843bea
					
				
					 4 changed files with 77 additions and 0 deletions
				
			
		
							
								
								
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1 +1,2 @@
 | 
				
			||||||
pgp2ssh
 | 
					pgp2ssh
 | 
				
			||||||
 | 
					result
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,6 +34,11 @@ If you have multiple subkeys, usually it is the authenticate key highlighted wit
 | 
				
			||||||
❯ ./pgp2ssh
 | 
					❯ ./pgp2ssh
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					**Nix/NixOS Users**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A flake is provided for Nix users. Just use `nix run` instead of building and
 | 
				
			||||||
 | 
					running manually.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
It'll ask you for the path to your private PGP key, followed by choosing the key/subkey and if your PGP key is encrypted it'll ask for the passphrase.
 | 
					It'll ask you for the path to your private PGP key, followed by choosing the key/subkey and if your PGP key is encrypted it'll ask for the passphrase.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
In the output, verify that the public SSH key printed matches the one in `metadata.json`.
 | 
					In the output, verify that the public SSH key printed matches the one in `metadata.json`.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										26
									
								
								flake.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								flake.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,26 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "nodes": {
 | 
				
			||||||
 | 
					    "nixpkgs": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1711523803,
 | 
				
			||||||
 | 
					        "narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "2726f127c15a4cc9810843b96cad73c7eb39e443",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "id": "nixpkgs",
 | 
				
			||||||
 | 
					        "ref": "nixos-unstable",
 | 
				
			||||||
 | 
					        "type": "indirect"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "root": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "root": "root",
 | 
				
			||||||
 | 
					  "version": 7
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										45
									
								
								flake.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								flake.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,45 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  description = "Convert GPG/PGP Keys to SSH private keys";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Nixpkgs / NixOS version to use.
 | 
				
			||||||
 | 
					  inputs.nixpkgs.url = "nixpkgs/nixos-unstable";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  outputs = { self, nixpkgs }:
 | 
				
			||||||
 | 
					    let
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # to work with older version of flakes
 | 
				
			||||||
 | 
					      lastModifiedDate = self.lastModifiedDate or self.lastModified or "19700101";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Generate a user-friendly version number.
 | 
				
			||||||
 | 
					      version = builtins.substring 0 8 lastModifiedDate;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # System types to support.
 | 
				
			||||||
 | 
					      supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Helper function to generate an attrset '{ x86_64-linux = f "x86_64-linux"; ... }'.
 | 
				
			||||||
 | 
					      forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Nixpkgs instantiated for supported system types.
 | 
				
			||||||
 | 
					      nixpkgsFor = forAllSystems (system: import nixpkgs { inherit system; });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    in
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Provide some binary packages for selected system types.
 | 
				
			||||||
 | 
					      packages = forAllSystems (system:
 | 
				
			||||||
 | 
					        let
 | 
				
			||||||
 | 
					          pkgs = nixpkgsFor.${system};
 | 
				
			||||||
 | 
					        in
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          pgp2ssh = pkgs.buildGoModule {
 | 
				
			||||||
 | 
					            pname = "pgp2ssh";
 | 
				
			||||||
 | 
					            inherit version;
 | 
				
			||||||
 | 
					            src = ./.;
 | 
				
			||||||
 | 
					            vendorHash = "sha256-O4AeSfdJxSGnWwRkNnAQMnOZE+Auy+3BIjncG/PK5EE=";
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # The default package for 'nix build' and 'nix run'
 | 
				
			||||||
 | 
					      defaultPackage = forAllSystems (system: self.packages.${system}.pgp2ssh);
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue