After some time of happily using Input Sans Narrow, I switched to Recursive for programming. Recursive is a variable typeface with five axes, notably monospacedness and casuality. It is the only typeface with continuously adjustable monospacedness AFAIK. There is also a configuration tool which freezes the axes on specified values for every font (normal, italic, bold, bold italic) and may add programming ligatures.
https://www.recursive.design/
https://github.com/arrowtype/recursive-code-config