{ config, lib, pkgs, ... }: let inherit (pkgs) stdenv; unstablePkgs = if !stdenv.isDarwin then import {} else {}; spGitConfig = { user.email = "alan@satoshipay.io"; }; in { imports = [ ./javascript.nix ]; home.sessionVariables = { KUBECTX_IGNORE_FZF = "1"; }; home.packages = with pkgs; ([ caddy openssl mongodb-tools pgcli s3cmd sops lumen mkcert google-cloud-sdk kubectl kubetail kubectx kubernetes-helm helmfile ] ++ (lib.optionals (!stdenv.isDarwin) [ docker_compose redis-desktop-manager unstablePkgs.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 = "e4caf57a394f2a3f6cf5d838a26a22f2686fc479"; # date = 2020-01-31T12:01:41+01:00; sha256 = "0wk6j8c4kp12n6y44ils4s9qb610ada5d15zg2gbb6xajp0avw40"; }; } ]; shellAliases = { kns = "kubens"; kx = "kubectx"; 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/ ''; }