aboutsummaryrefslogtreecommitdiff
path: root/.config/nixpkgs/shells/ansible-nixops-20.09.nix
blob: 98e5c663b4b0ea832cc9f2413f06423c64a4b4cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
with import <nixpkgs> { };

let
  project = "${builtins.getEnv "HOME"}/Shares/Projects/infrastructure";
  version = (import "${project}/nixos/versions.nix")."20.09".version;
  channel = (import "${project}/nixos/versions.nix")."20.09".channel;

in mkShell {
  name = "ansible-nixops-${version}";
  buildInputs = [ python38.pkgs.pip ];
  shellHook = ''
    export VAULT_ADDR='http://vault.test'
    export NIX_PATH=${channel}/nixexprs.tar.xz
    export _NIX_CHANNEL=${channel}
    export virtualenvs=$HOME/.local/share/virtualenvs
    mkdir -p $virtualenvs
    python -m venv $virtualenvs/ansible-mitogen
    . $virtualenvs/ansible-mitogen/bin/activate
    python -m pip install mitogen==0.2.9
    export ANSIBLE_STRATEGY_PLUGINS=$virtualenvs/ansible-mitogen/lib/python3.8/site-packages/ansible_mitogen/plugins
    export ANSIBLE_STRATEGY=mitogen_linear
    export PS1='\h (nixos ${version} ''${_NIX_CHANNEL##*.}) \W \$ '
    cd "${project}"
    ssh -T git@github.com
  '';
}