Commit graph

38 commits

Author SHA1 Message Date
862c5d6785
oscar, sam: Make git.signing.format explicit
b92cad188c

    git: warn on signing format default change
    The default value for programs.git.signing.format changed in 25.05
    from an implicit "openpgp" to null. Keep the existing gated
    mkOptionDefault behavior so the signing block only materializes when
    other signing settings are in use, but route the versioned value and
    static docs text through the shared state-version helper.

    Add a focused current-state-version test that covers a non-empty
    signing configuration with no explicit format, alongside the existing
    legacy implicit-openpgp and explicit-format tests.
2026-03-24 14:20:22 -05:00
927470ea9a
oscar, sam: Install zed-editor 2026-02-18 18:25:33 -06:00
Chandler Swift
7ffe208af9
sam: Squelch post-quantum warn on Azure Devops SSH
Connecting to ADO gives this warning:

    ** WARNING: connection is not using a post-quantum key exchange algorithm.
    ** This session may be vulnerable to "store now, decrypt later" attacks.
    ** The server may need to be upgraded. See https://openssh.com/pq.html

ADO doesn't support any flavor of keys besides RSA. There are several
issues open about this on their feedback site, and it's been radio
silence:

https://developercommunity.visualstudio.com/t/support-non-rsa-keys-for-ssh-authentication/365980
https://developercommunity.visualstudio.com/t/11032779

And Microsoft has nothing to say besides vague "we've routed your
feedback to the appropriate product team".

There's more information on the warning at OpenSSH's docs page:

https://www.openssh.org/pq.html
2026-02-11 09:37:20 -06:00
Chandler Swift
0f38e26d7f
Update git settings to match renamed upstream vars
evaluation warning: chandler profile: The option `programs.git.userName' defined in `/home/chandler/projects/machine-config/sam/configuration.nix' has been renamed to `programs.git.settings.user.name'.
    evaluation warning: chandler profile: The option `programs.git.extraConfig' defined in `/home/chandler/projects/machine-config/sam/configuration.nix' has been renamed to `programs.git.settings'.
2026-02-10 10:38:36 -06:00
Chandler Swift
b765bb1a97
Update addKeysToAgent key
evaluation warning: chandler profile: The option `programs.ssh.addKeysToAgent' defined in `/home/chandler/projects/machine-config/sam/configuration.nix' has been renamed to `programs.ssh.matchBlocks.*.addKeysToAgent'.
2026-02-10 10:34:30 -06:00
Chandler Swift
052854db38
sam: Echo command/context on k 2026-02-10 10:34:30 -06:00
Chandler Swift
a0a3e0f720
sam: Add kubectl completion and "k" alias 2026-02-10 10:34:27 -06:00
Chandler Swift
fdc7e241de
sam: Use home-manager first-class option to install Go 2026-02-03 10:13:31 -06:00
Chandler Swift
4f529eb2f6
sam: Add azcli bastion and ssh extensions
I needed this for troubleshooting some bastion performance issues for Jacob.
2026-02-03 10:12:00 -06:00
Chandler Swift
7fc13776f6
sam: Move channel 25.05 → nixos-unstable
This requires a corresponding home-manager move, above, and removes the requirement for a changed openconnect.
2026-02-03 09:53:03 -06:00
Chandler Swift
10bdad00d8
sam: Pin old spice-vdagent
25.11 and unstable are using spice-vdagent 0.23.0, which doesn't seem to
work for display resizing. (It's likely that it's just a config error,
but this appears to revert it for now. I'll probably try to report/fix
the bug upstream at some point now that I've identified it.)

For future reference, here's how I bisected the problem to this package:

I didn't want to have to deal with compiling the universe from source to
check each commit, so I started with the commits that nixos-unstable
once pointed to, which would have been built by Hydra and cached. I used
`npc` for this:

    git clone git@github.com:samestep/npc
    NPC_REV=main NIX_BIN=`which nix` GIT_BIN=`which git` cargo build --release
    ~/projects/npc/target/release/npc fetch  # I wasn't able to find a way around this
    ~/projects/npc/target/release/npc bisect start nixos-unstable
    ~/projects/npc/target/release/npc bisect bad nixos-unstable # currently broken
    ~/projects/npc/target/release/npc bisect good f02fddb8acef29a8b32f10a335d44828d7825b78 # formerly working

`npc` will then print out commit hashes for me to try, which I can
check out and run:

    git -C ~/projects/nixpkgs checkout b6a8526db03f735b89dd5ff348f53f752e7ddc8e
    sudo nixos-rebuild -I nixpkgs="/home/chandler/projects/nixpkgs" boot && reboot
    ~/projects/npc/target/release/npc bisect <good|bad> $(git -C ~/projects/nixpkgs rev-parse HEAD)

This process repeats until it identifies a good and bad commit:

    $ ~/projects/npc/target/release/npc bisect good $(git -C ~/projects/nixpkgs rev-parse HEAD)
    done bisecting nixos-unstable
    8913c168d1c56dc49a7718685968f38752171c3b is the first bad commit
    7df7ff7d8e00218376575f0acdcc5d66741351ee is the last good commit

Now, there's still a pretty big gap here, so I'll want to do some
further bisection!

    [chandler@sam:~/projects/nixpkgs]$ git rev-list --count 7df7ff7d..8913c168
    3099

    [chandler@sam:~/projects/nixpkgs]$ git diff --shortstat 7df7ff7d..8913c168
     3716 files changed, 45544 insertions(+), 38260 deletions(-)

Now I can do a regular `git bisect`:

    $ git -C ~/projects/nixpkgs bisect start
    $ git -C ~/projects/nixpkgs bisect good 7df7ff7d8e00218376575f0acdcc5d66741351ee
    $ git -C ~/projects/nixpkgs bisect bad 8913c168d1c56dc49a7718685968f38752171c3b
    $ # …
    $ git -C ~/projects/nixpkgs bisect bad
    1491cf86eb405b21e518f1a94763524de36ee661 is the first bad commit
    commit 1491cf86eb405b21e518f1a94763524de36ee661 (HEAD)
    Author: R. RyanTM <ryantm-bot@ryantm.com>
    Date:   Tue Sep 23 12:31:00 2025 +0000

        spice-vdagent: 0.22.1 -> 0.23.0

     pkgs/by-name/sp/spice-vdagent/package.nix | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)

For this, I removed basically all packages, so I wouldn't have to
rebuild e.g. chromium from source! I did end up rebuilding the kernel
once, which took a while; most of the bisect steps didn't actually make
any changes so the whole process was pretty fast.
2026-02-03 09:52:58 -06:00
Chandler Swift
d5647dff3a
sam: Upgrade GIMP to 3.0 2026-01-28 09:52:52 -06:00
Chandler Swift
ff4f0a88fa
sam: Mount UTM host share
This requires that I explicitly specify `chandler`'s UID and GID.
2025-12-22 13:10:03 -06:00
Chandler Swift
3f464bd791
sam: Add openconnect 2025-12-22 13:10:03 -06:00
Chandler Swift
c9ce1b7c19
sam: Install azure-cli resource-graph extension 2025-12-22 13:10:03 -06:00
Chandler Swift
80dc37f30e
sam: Set git help.autoCorrect=prompt 2025-12-22 13:10:03 -06:00
Chandler Swift
fba42c5f18
sam: Install kubectl 2025-07-15 17:22:37 -05:00
Chandler Swift
f908b10435
sam: Fix includeIf trailing slash
This isn't a new issue; not even to me!

https://news.ycombinator.com/item?id=38946967

> chandlerswift on Jan 11, 2024 | on: Conditional Git Configuration
>
> I'd attempted to configure this some time back, but never gotten it
> working, and this was the kick in the pants I needed to finally get
> it working!
>
> In case anyone is stuck in the same way that I was, the trailing
> slash at the end (which I had previously omitted, not realizing) is
> necessary for this to work. The docs[0] mention this, but I'd managed
> to repeatedly miss it:
>
> > If the pattern ends with /, * will be automatically added. For
> > example, the pattern foo/ becomes foo/*. In other words, it matches
> > "foo" and everything inside, recursively.
>
> [0]: https://git-scm.com/docs/git-config#Documentation/git-config...

:doh:
2025-07-15 17:08:20 -05:00
Chandler Swift
d49871079f
sam: Install azure-cli with devops extension
The commented extensions had been installed at one point in the past,
but it's unclear if they're actually things I use, so left out for now.
2025-07-15 16:44:51 -05:00
Chandler Swift
5814eaa5f1
sam: Install hyperfine 2025-07-15 16:39:34 -05:00
Chandler Swift
30264133f8
sam: Use correct key for machine-config 2025-07-11 14:30:49 -05:00
Chandler Swift
c0795d3c25
sam: Install extra applications
Mostly copied from oscar's config.
2025-07-11 14:29:26 -05:00
Chandler Swift
5e7347ad26
sam: Install github cli (gh) 2025-07-11 13:09:55 -05:00
Chandler Swift
a3ac063e28
sam: Add additional opts from old gitconfig 2025-07-10 20:08:44 -05:00
Chandler Swift
c6b1107a78
sam: Use vue key for vue git repos 2025-07-10 20:08:44 -05:00
Chandler Swift
31f95124c9
sam: Conditionally configure git email 2025-07-10 14:24:48 -05:00
Chandler Swift
5105087d65
sam: Disable sudo password requirement 2025-07-10 14:23:27 -05:00
Chandler Swift
6959d0a591
sam: Enable GnuPG agent 2025-07-09 16:56:07 -05:00
Chandler Swift
41de43403a
sam: Add home-manager
This also imports most of the home-manager config from oscar.
2025-07-09 16:49:17 -05:00
Chandler Swift
bcc20c9c03
sam: Enable Docker 2025-07-09 16:48:20 -05:00
Chandler Swift
76909b3202
sam: Disable CUPS 2025-07-09 16:48:20 -05:00
Chandler Swift
ef467fb842
sam: Disable X11 2025-07-09 16:48:20 -05:00
Chandler Swift
02c4f6ec4e
sam: Remove unhelpful commentary 2025-07-09 16:48:20 -05:00
Chandler Swift
7ddfd59f6b
sam: Install git 2025-07-09 16:48:20 -05:00
Chandler Swift
1d76564f73
sam: Set hostname 2025-07-09 16:48:20 -05:00
Chandler Swift
b933f28c81
sam: Enable spice-vdagent and qemuGuest services
This allows for e.g. dynamic screen resize.
2025-07-09 16:48:20 -05:00
Chandler Swift
38289d986c
sam: Move configuration.nix into homedir
Copied from oscar's config.
2025-07-09 16:48:19 -05:00
Chandler Swift
da5572e47d
sam: Add initial post-install config 2025-07-09 16:48:19 -05:00