3GK6JF2XEWIG6EUSVTQ4ZFMH34RAHROOVZ2KOMF7AMR4HZKEGD5AC
{ pkgs, ... }:
with pkgs.poetry2nix;
let
sli-repo = fetchGit {
url = "ssh://git@github.com/sureapp/sli.git";
rev = "bad1dbe93ea711f00bcea1433a53d7784f290c51";
};
sli = mkPoetryApplication {
projectDir = sli-repo;
src = sli-repo;
overrides = [
defaultPoetryOverrides
(self: super: {
humanize = super.humanize.overridePythonAttrs (old: {
postPatch = old.postPatch or "" + ''
sed -i '/\[metadata\]/aversion = ${old.version}' setup.cfg
'';
});
requests-mock = super.requests-mock.overridePythonAttrs (old: {
buildInputs = old.buildInputs ++ [ self.pbr ];
});
inquirer = super.inquirer.overridePythonAttrs (
old: {
preBuild = old.preBuild or "" + ''
substituteInPlace setup.py --replace 'version = "3.0.0"' 'version = "2.8.0"'
'';
preConfigure = (old.preConfigure or "") + ''cat << EOF > requirements.txt
blessed==1.19.0
readchar==2.0.1
python-editor==1.0.4
EOF
'';
}
);
})
];
};
in
{
config.home.packages = with pkgs; [
sli
];
}
let
sli-repo = fetchGit {
url = "ssh://git@github.com/sureapp/sli.git";
rev = "bad1dbe93ea711f00bcea1433a53d7784f290c51";
};
sli = with pkgs.poetry2nix; mkPoetryApplication {
projectDir = sli-repo;
src = sli-repo;
overrides = [
pkgs.poetry2nix.defaultPoetryOverrides
(self: super: {
{
imports = [
./aws.nix
./sli.nix
];
humanize = super.humanize.overridePythonAttrs (old: {
postPatch = old.postPatch or "" + ''
sed -i '/\[metadata\]/aversion = ${old.version}' setup.cfg
'';
});
requests-mock = super.requests-mock.overridePythonAttrs (old: {
buildInputs = old.buildInputs ++ [ self.pbr ];
});
inquirer = super.inquirer.overridePythonAttrs (
old: {
preBuild = old.preBuild or "" + ''
substituteInPlace setup.py --replace 'version = "3.0.0"' 'version = "2.8.0"'
'';
preConfigure = (old.preConfigure or "") + ''cat << EOF > requirements.txt
blessed==1.19.0
readchar==2.0.1
python-editor==1.0.4
EOF
'';
}
);
})
config.programs.zsh = {
cdpath = [
"$HOME/sureapp"
in
{
# didn't seem worth it to nix-ify the kube config
# add kube config imperatively via
# aws eks list-clusters --output text --profile once-for-each-profile
# then aws eks update-config -name once-for-each-name-above --alias preferred-alias --profile once-for-each-profile
{ config, pkgs, ... }:
let
iniFormat = pkgs.formats.ini { };
awscliConfig = {
sso_start_url = "https://sureplatform.awsapps.com/start";
sso_region = "us-east-1";
region = "us-east-1";
output = "json";
};
in
{
config.home.file.".aws/config".source = iniFormat.generate "awscli.config" {
"profile s" = awscliConfig // {
sso_account_id = "818549452766";
sso_role_name = "production-backend-access";
};
"profile in-production" = awscliConfig // {
sso_account_id = "421705037700";
sso_role_name = "production-backend-access";
};
"profile in-qa" = awscliConfig // {
sso_account_id = "713190844401";
sso_role_name = "non-production-backend-access";
};
"profile registries-read" = awscliConfig // {
sso_account_id = "348777858795";
sso_role_name = "RegistryReadAccess";
};
};
config.programs.zsh = {
sessionVariables = {
AWS_PROFILE = "in-qa";
};
};
config.home.packages = with pkgs; [
awscli2
];
}