2026-06-29 13:06:23 +01:00
# Work (EDaaS/WSL) home profile: corporate toolchain + tmux tweaks. Git identity
# comes from the registry (users/registry.nix), not here.
2026-06-10 11:30:09 +01:00
{ pkgs , lib , ... }:
2025-06-17 15:14:06 +01:00
{
2026-06-11 11:57:13 +01:00
# Host-scoped extras for this machine only (the EDaaS/WSL host).
imports = [
./renovate-review.nix # daily headless Renovate PR review (systemd user timer)
];
2026-06-10 11:30:09 +01:00
# The work box keeps its own (corporate) ~/.ssh/config; don't let the personal
# programs.ssh (shell.nix) take it over. The ssh-agent below still runs.
programs . ssh . enable = lib . mkForce false ;
2025-06-17 15:14:06 +01:00
home . packages = [
2026-06-02 12:46:07 +00:00
pkgs . kubectl
pkgs . argo-rollouts
2026-06-02 07:40:25 -07:00
pkgs . tenv
pkgs . kubernetes-helm
pkgs . azure-cli
pkgs . kubelogin
2026-06-02 12:46:07 +00:00
pkgs . curl
pkgs . notation
pkgs . powershell
pkgs . nuget
pkgs . gedit
pkgs . lens
pkgs . python3
pkgs . gnumake
pkgs . gcc
pkgs . libiconv
pkgs . autoconf
pkgs . automake
pkgs . pkg-config
pkgs . wget
pkgs . google-cloud-sdk
2026-06-10 16:43:43 +01:00
# Day-to-day Kubernetes / Helm / Terraform accelerators for this box.
pkgs . k9s # cluster TUI
pkgs . kubectx # kubectx + kubens (context/namespace switch)
pkgs . stern # multi-pod log tail
pkgs . dyff # semantic YAML/manifest diffs (Helm release drift)
pkgs . tflint # Terraform linter (catches what terraformls won't)
pkgs . terraform-docs # generate Terraform module docs
pkgs . yq-go # jq for YAML
2025-06-17 15:14:06 +01:00
];
2026-06-02 15:22:58 +00:00
services . ssh-agent . enable = true ;
2026-06-02 12:46:07 +00:00
home . shellAliases = {
docker = "/run/current-system/sw/bin/docker" ;
};
2026-06-02 07:40:25 -07:00
programs . tmux = {
2026-06-29 13:29:25 +01:00
# kube-tmux is an external checkout; guard on its presence so the status
# line degrades gracefully (no per-refresh error) when it isn't cloned.
2026-06-02 07:40:25 -07:00
extraConfig = ''
2026-06-29 13:29:25 +01:00
set -g status-right "#(if [ -f $HOME/code/kube-tmux/kube.tmux ]; then /run/current-system/sw/bin/bash $HOME/code/kube-tmux/kube.tmux 250 red black; fi)"
2026-06-02 07:40:25 -07:00
'' ;
2026-06-02 12:46:07 +00:00
};
programs . go = {
enable = true ;
};
2026-06-10 15:31:40 +01:00
# LSP servers only relevant to work: C# (omnisharp) and Helm charts (helm_ls).
2026-06-29 13:06:23 +01:00
# The shared editor (home/editor.nix) carries the universal ones;
2026-06-10 15:31:40 +01:00
# these are gated to this host so the heavy omnisharp closure stays off the
# personal machines. Tree-sitter grammars (highlighting) remain global there.
programs . nixvim . plugins . lsp . servers = {
omnisharp . enable = true ;
helm_ls . enable = true ;
};
2025-06-17 15:14:06 +01:00
}