{ config, lib, pkgs, ... }: let inherit (pkgs) stdenv; spGitConfig = { user.email = "alan@satoshipay.io"; }; in { imports = [ ./development/javascript.nix ./development/web.nix ]; home.sessionVariables = { KUBECTX_IGNORE_FZF = "1"; }; home.packages = with pkgs; ([ unstable.caddy openssl mongodb-tools pgcli pgformatter postgresql s3cmd sops lumen mkcert google-cloud-sdk doctl kubectl kubetail kubectx kubernetes-helm helmfile ] ++ (lib.optionals (!stdenv.isDarwin) [ unstable.docker_compose redis-desktop-manager unstable.ripcord robo3t ])); programs.git.includes = [ { condition = "gitdir:~/projects/github.com/satoshipay/"; contents = spGitConfig; } { condition = "gitdir:~/projects/gitlab.satoshipay.tech/"; contents = spGitConfig; } ]; programs.zsh = { plugins = [ { name = "kubectl-aliases"; src = pkgs.fetchFromGitHub { owner = "alanpearce"; repo = "kubectl-aliases"; rev = "fb43d6ca209d88e7cda5ea437bf9429645f6818f"; # date = 2020-11-18T14:20:16+01:00; sha256 = "1xlq0vzxaiv2ciwifamr29lcqdyg44dra48c5ad29rj973vvy97z"; }; } ]; shellAliases = { kns = "kubens"; kx = "kubectx"; ks = "echo $(kubectx -c):$(kubens -c)"; klot = "kubetail"; }; initExtra = '' if [[ -n $commands[helm] ]] then autoload _helm compdef _helm helm fi ''; }; accounts.email.accounts.satoshipay = let address = "alan@satoshipay.io"; in { inherit address; primary = lib.mkDefault true; realName = "Alan Pearce"; flavor = "gmail.com"; passwordCommand = "${pkgs.python3Packages.keyring}/bin/keyring get satoshipay-google-mail ${address}"; folders = { inbox = "INBOX"; drafts = "[Gmail]/Drafts"; sent = "[Gmail]/Sent Mail"; trash = "[Gmail]/Bin"; }; imap = { tls.enable = true; }; smtp = { tls.enable = true; }; mbsync = { enable = true; create = "maildir"; remove = "maildir"; expunge = "both"; }; msmtp = { enable = true; }; }; home.file.".npmrc".text = '' @satoshipay:registry=https://registry.npmjs.org/ ''; }