Add sshjail as an ansible plugin.
This commit is contained in:
parent
7d94210d8f
commit
53c12a5b1e
@ -43,6 +43,12 @@
|
|||||||
zsh-histdb = {
|
zsh-histdb = {
|
||||||
url = "path:flakes/zsh-histdb";
|
url = "path:flakes/zsh-histdb";
|
||||||
|
|
||||||
|
# Optional but recommended to limit the size of your system closure.
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
ansible-sshjail = {
|
||||||
|
url = "path:flakes/ansible-sshjail";
|
||||||
|
|
||||||
# Optional but recommended to limit the size of your system closure.
|
# Optional but recommended to limit the size of your system closure.
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
@ -57,6 +63,7 @@
|
|||||||
home-manager,
|
home-manager,
|
||||||
lanzaboote,
|
lanzaboote,
|
||||||
zsh-histdb,
|
zsh-histdb,
|
||||||
|
ansible-sshjail,
|
||||||
...
|
...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
@ -75,7 +82,12 @@
|
|||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
}
|
}
|
||||||
{ nixpkgs.overlays = [ zsh-histdb.overlays.default ]; }
|
{
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
zsh-histdb.overlays.default
|
||||||
|
ansible-sshjail.overlays.default
|
||||||
|
];
|
||||||
|
}
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
61
nix/configuration/flakes/ansible-sshjail/flake.lock
generated
Normal file
61
nix/configuration/flakes/ansible-sshjail/flake.lock
generated
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1735141468,
|
||||||
|
"narHash": "sha256-VIAjBr1qGcEbmhLwQJD6TABppPMggzOvqFsqkDoMsAY=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "4005c3ff7505313cbc21081776ad0ce5dfd7a3ce",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-24.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
34
nix/configuration/flakes/ansible-sshjail/flake.nix
Normal file
34
nix/configuration/flakes/ansible-sshjail/flake.nix
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
description = "A slightly better history for zsh";
|
||||||
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||||
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
||||||
|
|
||||||
|
outputs =
|
||||||
|
{
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
flake-utils,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
out =
|
||||||
|
system:
|
||||||
|
let
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
# Maybe pkgs = import nixpkgs { inherit system; }; ?
|
||||||
|
appliedOverlay = self.overlays.default pkgs pkgs;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
packages = rec {
|
||||||
|
default = ansible-sshjail;
|
||||||
|
ansible-sshjail = appliedOverlay.ansible-sshjail;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
flake-utils.lib.eachDefaultSystem out
|
||||||
|
// {
|
||||||
|
overlays.default = final: prev: {
|
||||||
|
ansible-sshjail = final.callPackage ./package.nix { };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
33
nix/configuration/flakes/ansible-sshjail/package.nix
Normal file
33
nix/configuration/flakes/ansible-sshjail/package.nix
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# unpackPhase
|
||||||
|
# patchPhase
|
||||||
|
# configurePhase
|
||||||
|
# buildPhase
|
||||||
|
# checkPhase
|
||||||
|
# installPhase
|
||||||
|
# fixupPhase
|
||||||
|
# installCheckPhase
|
||||||
|
# distPhase
|
||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
fetchgit,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "ansible-sshjail";
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/austinhyde/ansible-sshjail.git";
|
||||||
|
rev = "a7b0076fdb680b915d35efafd1382919100532b6";
|
||||||
|
sha256 = "sha256-4QX/017fDRzb363NexgvHZ/VFKXOjRgGPDKKygyUylM=";
|
||||||
|
};
|
||||||
|
phases = [
|
||||||
|
"installPhase"
|
||||||
|
];
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/share/ansible/plugins/connection_plugins
|
||||||
|
cp $src/sshjail.py $out/share/ansible/plugins/connection_plugins/
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
}
|
@ -32,10 +32,50 @@
|
|||||||
(prev.ansible.overridePythonAttrs {
|
(prev.ansible.overridePythonAttrs {
|
||||||
propagatedBuildInputs = prev.ansible.propagatedBuildInputs ++ [ prev.python3Packages.jmespath ];
|
propagatedBuildInputs = prev.ansible.propagatedBuildInputs ++ [ prev.python3Packages.jmespath ];
|
||||||
})
|
})
|
||||||
|
pkgs.ansible-sshjail
|
||||||
];
|
];
|
||||||
buildInputs = [ pkgs.makeWrapper ];
|
buildInputs = [ pkgs.makeWrapper ];
|
||||||
|
|
||||||
postBuild = ''
|
postBuild = ''
|
||||||
wrapProgram $out/bin/ansible --prefix PATH : ${lib.makeBinPath [ ]}
|
${lib.concatMapStringsSep "\n"
|
||||||
|
(
|
||||||
|
prog:
|
||||||
|
(
|
||||||
|
"wrapProgram $out/bin/${prog} ${
|
||||||
|
lib.concatMapStringsSep " "
|
||||||
|
(
|
||||||
|
plugin_type:
|
||||||
|
"--set ANSIBLE_${lib.toUpper plugin_type}_PLUGINS $out/share/ansible/plugins/${lib.toLower plugin_type}_plugins"
|
||||||
|
)
|
||||||
|
[
|
||||||
|
"action"
|
||||||
|
"cache"
|
||||||
|
"callback"
|
||||||
|
"connection"
|
||||||
|
"filter"
|
||||||
|
"inventory"
|
||||||
|
"lookup"
|
||||||
|
"shell"
|
||||||
|
"strategy"
|
||||||
|
"test"
|
||||||
|
"vars"
|
||||||
|
]
|
||||||
|
} --prefix PATH : ${lib.makeBinPath [ ]}"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
[
|
||||||
|
"ansible"
|
||||||
|
"ansible-config"
|
||||||
|
"ansible-console"
|
||||||
|
"ansible-doc"
|
||||||
|
"ansible-galaxy"
|
||||||
|
"ansible-inventory"
|
||||||
|
"ansible-playbook"
|
||||||
|
"ansible-pull"
|
||||||
|
"ansible-test"
|
||||||
|
"ansible-vault"
|
||||||
|
]
|
||||||
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user