Compare commits

...
14 Commits
Author SHA1 Message Date
samw 89328c7160 25.11 -> 26.05 2026-09-13 04:29:30 +01:00
samw b9365a827d add fd 2026-09-13 04:27:33 +01:00
samw 571202560a fmt 2026-09-13 04:27:33 +01:00
samw 275f56dd55 goodbye zinc, hello gallium 2026-09-13 04:27:33 +01:00
samw 344f52c05b ssh: connection sharing thing 2026-07-02 11:13:49 +01:00
samw a6a4f5660b git: unpushed alias 2026-07-02 11:13:49 +01:00
samw edcb288716 flake: add kallax 2026-06-07 16:00:37 +01:00
samw 327962567f macs: add smerge to path 2026-04-05 17:13:50 +01:00
samw 5e5bacfd14 wezterm: enable 2026-03-26 18:23:57 +00:00
samw 433c96eca4 me: add gallium ssh key 2026-03-15 16:58:52 +00:00
samw 746b05f91c macs: only source brew if exists 2026-03-15 16:58:39 +00:00
samw ad60d86c53 ssh: squish warning 2026-02-27 18:22:24 +00:00
samw ac362b6667 macs: squish home manager warning (again?) 2026-02-05 01:04:38 +00:00
samw 072ff7acdc hx: fix rust-analyzer, remove basedpyright (it's in upstream) 2025-12-29 17:53:25 +01:00
11 changed files with 86 additions and 37 deletions
Generated
+8 -8
View File
@@ -45,32 +45,32 @@
]
},
"locked": {
"lastModified": 1764866045,
"narHash": "sha256-0GsEtXV9OquDQ1VclQfP16cU5VZh7NEVIOjSH4UaJuM=",
"lastModified": 1789267039,
"narHash": "sha256-LWiBv9yAYFi2LPbUhDGHPGKYskJQjj2fw12OlyO1uQo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "f63d0fe9d81d36e5fc95497217a72e02b8b7bcab",
"rev": "ec172013fa62135f58fb58dd17ae9651e8f39727",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"ref": "release-26.05",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1764831616,
"narHash": "sha256-OtzF5wBvO0jgW1WW1rQU9cMGx7zuvkF7CAVJ1ypzkxA=",
"lastModified": 1789114715,
"narHash": "sha256-ugpsyk3NM2s87vXfUiIIiibbJ4Pp0JPS5p/3mfs+q+c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c97c47f2bac4fa59e2cbdeba289686ae615f8ed4",
"rev": "21a67dc470149f337cecafbe965d8d252a390518",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
+7 -3
View File
@@ -5,14 +5,14 @@
nixpkgs = {
# N.B. we use the nixos-x branch as this is updated *after* successful hydra builds
# rather than release-x. See https://wiki.nixos.org/wiki/Channel_branches
url = "github:nixos/nixpkgs/nixos-25.11";
url = "github:nixos/nixpkgs/nixos-26.05";
};
nixpkgs-unstable = {
url = "github:nixos/nixpkgs";
};
# Other modules
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs";
};
flake-utils.url = "github:numtide/flake-utils";
@@ -98,7 +98,7 @@
# Standalone home-manager configurations
homeConfigurations = {
zinc = lib.mkHome {
gallium = lib.mkHome {
system = "aarch64-darwin";
profiles = with profiles; [
default
@@ -115,6 +115,10 @@
dev
];
};
kallax = lib.mkHome {
system = "x86_64-linux";
profiles = with profiles; [default dev];
};
phosphorus = lib.mkHome {
system = "aarch64-darwin";
profiles = with profiles; [
+8 -1
View File
@@ -107,11 +107,18 @@ in
ssh = {
enable = true;
enableDefaultConfig = false;
package = pkgs.openssh; # Use modern ssh
includes = [ "~/.ssh/config.local" ];
matchBlocks."*" = {
settings."Host *" = {
user = "samw";
serverAliveInterval = 30;
serverAliveCountMax = 10;
compression = true;
controlMaster = "autoask";
controlPath = "~/.ssh/master-%r@%n:%p";
# Close socket once last connection closes
controlPersist = "no";
};
};
};
+1
View File
@@ -41,6 +41,7 @@
st = "status";
sw = "switch";
swc = "switch --create";
unp = "log --branches --not --remotes --no-walk --decorate --oneline";
gone = ''! git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' │ awk '$2 == "[gone]" {print $1}' | xargs -r git branch -D'';
};
+15 -13
View File
@@ -7,7 +7,12 @@
editor = {
"soft-wrap".enable = true;
"file-picker".hidden = false; # Show hidden files (yes it's counter-intuitive)
gutters = ["diagnostics" "line-numbers" "spacer" "diff"];
gutters = [
"diagnostics"
"line-numbers"
"spacer"
"diff"
];
whitespace.render = {
space = "none";
tab = "all";
@@ -18,23 +23,20 @@
};
};
languages = {
language-server.basedpyright = {
command = "basedpyright-langserver";
args = [ "--stdio" ];
language-server.rust-analyzer.config = {
# Don't get lost in .direnv etc and chew 100% cpu forever
files.excludeDirs = [
".git"
".cargo"
".direnv"
];
};
language = [
{
name = "python";
roots = [
"pyproject.toml"
"setup.py"
"poetry.lock"
".git"
];
language-servers = [
{
name = "basedpyright";
}
"ty"
"basedpyright"
];
}
];
+16 -7
View File
@@ -1,6 +1,5 @@
{
pkgs,
lib,
...
}:
{
@@ -10,12 +9,22 @@
pngpaste
mypkgs.qrclip
];
home.sessionPath = [
"/Applications/Sublime Merge.app/Contents/SharedSupport/bin"
];
# Use secretive for SSH agent
programs.ssh.matchBlocks.all = lib.mkIf pkgs.stdenv.isDarwin {
host = "*";
extraOptions."IdentityAgent" =
"~/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh";
programs.ssh.settings."Host *".IdentityAgent = "~/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh";
programs.zsh.sessionVariables = {
SSH_AUTH_SOCK = "$HOME/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh";
# Make connection muxing permission work.
# Openssh by default will only use SSH_ASKPASS if it sees DISPLAY/WAYLAND_DISPLAY, so we have to force it
SSH_ASKPASS_REQUIRE = "force";
# A nice applescript permission dialog
SSH_ASKPASS = (pkgs.fetchurl {
url = "https://raw.githubusercontent.com/theseal/ssh-askpass/refs/heads/master/ssh-askpass";
hash= "sha256-bQUuGS3Mb+i4Kt+1mDP203s2W1jlRcpl/7uXA7TUZ+o=";
executable = true;
});
};
programs.zsh.sessionVariables.SSH_AUTH_SOCK = "$HOME/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh";
programs.zsh.initExtra = "eval $(/opt/homebrew/bin/brew shellenv)";
programs.zsh.initContent = "[ -e /opt/homebrew/bin/brew ] && eval $(/opt/homebrew/bin/brew shellenv)";
}
+1
View File
@@ -5,6 +5,7 @@ rec {
base = [
bat # cat replacement, aliased to cat in home-manager
file
fd
git
htop
lsof
+20
View File
@@ -18,6 +18,26 @@
{ ... }:
{
imports = [ ./vscode.nix ];
programs.wezterm = {
enable = true;
extraConfig = ''
return {
color_scheme = "GruvboxDarkHard",
keys = {
{
key = 'd',
mods = 'SUPER',
action = wezterm.action.SplitVertical{domain='CurrentPaneDomain'},
},
{
key = 'D',
mods = 'SUPER | SHIFT',
action = wezterm.action.SplitHorizontal{domain='CurrentPaneDomain'},
},
},
}
'';
};
};
tpmssh = ./tpmssh.nix;
# Sensitive stuff
+7 -2
View File
@@ -12,18 +12,23 @@
enable = true;
viAlias = true;
vimAlias = true;
# defaults changed from true in 26.05
withRuby = false;
withPython3 = false;
plugins = with pkgs.vimPlugins; [
# Basic stuff
vim-sensible
vim-noctu # 16color colorscheme
gruvbox-nvim
fzfWrapper # The basic "built in" fzf stuff
fzf-wrapper # The basic "built in" fzf stuff
fzf-vim # The fancier opt in fzf stuff
# The only language plugin you always need... because if it's running nixos you
# *will* be editing nix files!
vim-nix
# Git stuff
fugitive
vim-fugitive
vim-gitgutter
# More stuff idk
emmet-vim
+1 -2
View File
@@ -1,8 +1,7 @@
{ pkgs, ... }:
{
programs.vscode = {
programs.vscodium = {
enable = true;
package = pkgs.vscodium;
mutableExtensionsDir = false;
profiles.default.extensions = with pkgs.vscode-extensions; [
rust-lang.rust-analyzer
+1
View File
@@ -5,5 +5,6 @@
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIMvrgrLnE+AQBOBRiBoTFkbWaYTvqaBzIp4OfDiXUij"
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDQdGzwYiallvWXIHgSAf2GOwMJKA8bxPmwyuO+vsd1HwB65hMRPCpKS+FNLIpkrADNnuhGS3xGCGSSuQ+zAu/g= zinc-se-main@secretive.zinc.local"
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNLrJyUXmiFWb9vhlTWZLYr64IsKut+c9TGqq3/uwPDeF4X0Qb2jzxqXfQcDSztjR09JHbC8BOqfpYYT9LHahIo= YubiKey #13340583 PIV Slot 9a"
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBC/kJYueV9cBlyPsYhC0Q2HQR+E6MswwUF6hwXrkbb4JPNn9bD2PM2GjXQe0rz6KWPr4LYkbGTo9zbRQg3d2MTE= gallium-se-main@secretive.gallium.local"
];
}