Compare commits

..
13 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
11 changed files with 81 additions and 26 deletions
Generated
+8 -8
View File
@@ -45,32 +45,32 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1764866045, "lastModified": 1789267039,
"narHash": "sha256-0GsEtXV9OquDQ1VclQfP16cU5VZh7NEVIOjSH4UaJuM=", "narHash": "sha256-LWiBv9yAYFi2LPbUhDGHPGKYskJQjj2fw12OlyO1uQo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "f63d0fe9d81d36e5fc95497217a72e02b8b7bcab", "rev": "ec172013fa62135f58fb58dd17ae9651e8f39727",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-25.11", "ref": "release-26.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1764831616, "lastModified": 1789114715,
"narHash": "sha256-OtzF5wBvO0jgW1WW1rQU9cMGx7zuvkF7CAVJ1ypzkxA=", "narHash": "sha256-ugpsyk3NM2s87vXfUiIIiibbJ4Pp0JPS5p/3mfs+q+c=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c97c47f2bac4fa59e2cbdeba289686ae615f8ed4", "rev": "21a67dc470149f337cecafbe965d8d252a390518",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-25.11", "ref": "nixos-26.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
+7 -3
View File
@@ -5,14 +5,14 @@
nixpkgs = { nixpkgs = {
# N.B. we use the nixos-x branch as this is updated *after* successful hydra builds # 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 # 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 = { nixpkgs-unstable = {
url = "github:nixos/nixpkgs"; url = "github:nixos/nixpkgs";
}; };
# Other modules # Other modules
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-25.11"; url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
@@ -98,7 +98,7 @@
# Standalone home-manager configurations # Standalone home-manager configurations
homeConfigurations = { homeConfigurations = {
zinc = lib.mkHome { gallium = lib.mkHome {
system = "aarch64-darwin"; system = "aarch64-darwin";
profiles = with profiles; [ profiles = with profiles; [
default default
@@ -115,6 +115,10 @@
dev dev
]; ];
}; };
kallax = lib.mkHome {
system = "x86_64-linux";
profiles = with profiles; [default dev];
};
phosphorus = lib.mkHome { phosphorus = lib.mkHome {
system = "aarch64-darwin"; system = "aarch64-darwin";
profiles = with profiles; [ profiles = with profiles; [
+8 -1
View File
@@ -107,11 +107,18 @@ in
ssh = { ssh = {
enable = true; enable = true;
enableDefaultConfig = false;
package = pkgs.openssh; # Use modern ssh
includes = [ "~/.ssh/config.local" ]; includes = [ "~/.ssh/config.local" ];
matchBlocks."*" = { settings."Host *" = {
user = "samw"; user = "samw";
serverAliveInterval = 30; serverAliveInterval = 30;
serverAliveCountMax = 10; 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"; st = "status";
sw = "switch"; sw = "switch";
swc = "switch --create"; 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''; gone = ''! git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' │ awk '$2 == "[gone]" {print $1}' | xargs -r git branch -D'';
}; };
+11 -3
View File
@@ -6,8 +6,13 @@
theme = "monokai_pro"; theme = "monokai_pro";
editor = { editor = {
"soft-wrap".enable = true; "soft-wrap".enable = true;
"file-picker".hidden = false; # Show hidden files (yes it's counter-intuitive) "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 = { whitespace.render = {
space = "none"; space = "none";
tab = "all"; tab = "all";
@@ -29,7 +34,10 @@
language = [ language = [
{ {
name = "python"; name = "python";
language-servers = [ "ty" "basedpyright" ]; language-servers = [
"ty"
"basedpyright"
];
} }
]; ];
}; };
+16 -7
View File
@@ -1,6 +1,5 @@
{ {
pkgs, pkgs,
lib,
... ...
}: }:
{ {
@@ -10,12 +9,22 @@
pngpaste pngpaste
mypkgs.qrclip mypkgs.qrclip
]; ];
home.sessionPath = [
"/Applications/Sublime Merge.app/Contents/SharedSupport/bin"
];
# Use secretive for SSH agent # Use secretive for SSH agent
programs.ssh.matchBlocks.all = lib.mkIf pkgs.stdenv.isDarwin { programs.ssh.settings."Host *".IdentityAgent = "~/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh";
host = "*"; programs.zsh.sessionVariables = {
extraOptions."IdentityAgent" = SSH_AUTH_SOCK = "$HOME/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh";
"~/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.initContent = "[ -e /opt/homebrew/bin/brew ] && eval $(/opt/homebrew/bin/brew shellenv)";
programs.zsh.initExtra = "eval $(/opt/homebrew/bin/brew shellenv)";
} }
+1
View File
@@ -5,6 +5,7 @@ rec {
base = [ base = [
bat # cat replacement, aliased to cat in home-manager bat # cat replacement, aliased to cat in home-manager
file file
fd
git git
htop htop
lsof lsof
+20
View File
@@ -18,6 +18,26 @@
{ ... }: { ... }:
{ {
imports = [ ./vscode.nix ]; 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; tpmssh = ./tpmssh.nix;
# Sensitive stuff # Sensitive stuff
+7 -2
View File
@@ -12,18 +12,23 @@
enable = true; enable = true;
viAlias = true; viAlias = true;
vimAlias = true; vimAlias = true;
# defaults changed from true in 26.05
withRuby = false;
withPython3 = false;
plugins = with pkgs.vimPlugins; [ plugins = with pkgs.vimPlugins; [
# Basic stuff # Basic stuff
vim-sensible vim-sensible
vim-noctu # 16color colorscheme vim-noctu # 16color colorscheme
gruvbox-nvim 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 fzf-vim # The fancier opt in fzf stuff
# The only language plugin you always need... because if it's running nixos you # The only language plugin you always need... because if it's running nixos you
# *will* be editing nix files! # *will* be editing nix files!
vim-nix vim-nix
# Git stuff # Git stuff
fugitive vim-fugitive
vim-gitgutter vim-gitgutter
# More stuff idk # More stuff idk
emmet-vim emmet-vim
+1 -2
View File
@@ -1,8 +1,7 @@
{ pkgs, ... }: { pkgs, ... }:
{ {
programs.vscode = { programs.vscodium = {
enable = true; enable = true;
package = pkgs.vscodium;
mutableExtensionsDir = false; mutableExtensionsDir = false;
profiles.default.extensions = with pkgs.vscode-extensions; [ profiles.default.extensions = with pkgs.vscode-extensions; [
rust-lang.rust-analyzer rust-lang.rust-analyzer
+1
View File
@@ -5,5 +5,6 @@
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIMvrgrLnE+AQBOBRiBoTFkbWaYTvqaBzIp4OfDiXUij" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIMvrgrLnE+AQBOBRiBoTFkbWaYTvqaBzIp4OfDiXUij"
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDQdGzwYiallvWXIHgSAf2GOwMJKA8bxPmwyuO+vsd1HwB65hMRPCpKS+FNLIpkrADNnuhGS3xGCGSSuQ+zAu/g= zinc-se-main@secretive.zinc.local" "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 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNLrJyUXmiFWb9vhlTWZLYr64IsKut+c9TGqq3/uwPDeF4X0Qb2jzxqXfQcDSztjR09JHbC8BOqfpYYT9LHahIo= YubiKey #13340583 PIV Slot 9a"
"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBC/kJYueV9cBlyPsYhC0Q2HQR+E6MswwUF6hwXrkbb4JPNn9bD2PM2GjXQe0rz6KWPr4LYkbGTo9zbRQg3d2MTE= gallium-se-main@secretive.gallium.local"
]; ];
} }