Compare commits

..
15 Commits
Author SHA1 Message Date
jmug e5c21811a9 [devbox] home-manager bootstrap for orb machine. 2026-07-15 22:04:44 -07:00
jmug fa763630de [macbook] Kubernetes. 2026-07-15 22:04:13 -07:00
jmug 1544b0a4b0 [macbook] Misc ssh settings. 2026-07-15 22:03:59 -07:00
jmug 3a61ac767f [macbook] Nvim as the default editor. 2026-07-15 22:03:40 -07:00
jmug 7c3c38c5fb [macbook] Misc brew packages. 2026-07-15 22:03:13 -07:00
jmug f8d4f6ef07 [macbook] Leaner brew list. 2026-04-02 22:04:56 -07:00
jmug f3d795f2c2 [vim] Add grug for search and replace. 2026-04-02 17:31:28 -07:00
jmug 5aa52b7107 [macbook] Add trilium notes. 2026-04-02 17:08:15 -07:00
jmug 96bc9b8b01 [nixbox] SSH updates. 2026-03-04 15:43:12 -08:00
jmug fe1c287242 [macbook] SSH updates. 2026-03-04 02:06:00 -08:00
jmug 5d608cecab [nixbox] Add homeserver and racknerd host configs. 2026-03-01 16:15:15 -08:00
jmug e8ca1e1ad6 [nixbox] Add dig. 2026-03-01 16:14:55 -08:00
jmug 371a5d3188 [nixbox] Interpolate home directory into shell aliases. 2026-03-01 13:49:24 -08:00
jmug 8e4d95e6f1 [chore] Indentation fixes. 2026-03-01 13:49:02 -08:00
jmug 7822bf6ff8 [chore] SSH config fixes for nixbox. 2026-03-01 13:48:50 -08:00
9 changed files with 127 additions and 54 deletions
+15
View File
@@ -211,6 +211,12 @@
allowUnfree = true;
};
};
pkgs-unstable_aarch64-linux = import nixpkgs-unstable {
system = "aarch64-linux";
config = {
allowUnfree = true;
};
};
in {
alarm = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages."aarch64-linux";
@@ -228,6 +234,15 @@
./users/devbox/home.nix
];
};
armdevbox = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages."aarch64-linux";
extraSpecialArgs = {
pkgs-unstable = pkgs-unstable_aarch64-linux;
};
modules = [
./users/devbox/home.nix
];
};
};
};
}
@@ -6,6 +6,7 @@ local handlers = lsp.handlers
-- Space as leader.
vim.api.nvim_set_keymap('n', '<Space>', '<NOP>', {noremap = true, silent = true})
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
-- Exit insert mode with ,h.
vim.api.nvim_set_keymap('i', ',m', '<ESC>', {noremap = true, silent = true})
@@ -65,8 +66,9 @@ vim.api.nvim_set_keymap('n', '<Leader>bs', '<cmd>Telescope buffers<cr>',{})
-- Code actions.
vim.api.nvim_set_keymap('n', '<Leader>ca', "<Cmd>lua vim.lsp.buf.code_action()<CR>",{silent = true, noremap = true})
vim.api.nvim_set_keymap('x', '<Leader>ca', "<Cmd>lua vim.lsp.buf.range_code_action()<CR>",{silent = true, noremap = true})
-- Flutter commands.
vim.api.nvim_set_keymap('n', '<Leader>fl', "<cmd>lua require('telescope').extensions.flutter.commands()<cr>",{silent = true, noremap = true})
-- Search and replace.
vim.api.nvim_set_keymap('n', '<Leader>sr', ':GrugFar<cr>', {noremap = true, silent = true})
vim.api.nvim_set_keymap('n', '<Leader>rsr', ':GrugFarWithin<cr>', {noremap = true, silent = true})
-- Hover doc popup
@@ -75,6 +75,7 @@ return require('packer').startup(function(use)
}
use { "junegunn/fzf" }
use { "junegunn/fzf.vim" }
use { "MagicDuck/grug-far.nvim" }
-- Diagnostics
+5 -4
View File
@@ -1,9 +1,10 @@
{ user, ... } : {
programs.ssh = {
enable = true;
extraConfig = ''
Host *
IdentityAgent ${user.homeDirectory}/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh
'';
matchBlocks = {
"*" = {
identityAgent = "${user.homeDirectory}/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh";
};
};
};
}
+1 -1
View File
@@ -1 +1 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCLJj/fefApUkXp79YPPk1O2L6CW6kqISXSWWmR8+MX0wk3lQv1NUp1p87sE57i6aUcYMuba0U9y+ppQq603uOc= code@secretive.Marianos-MacBook-Pro-(2).local
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBLNJvauvfuOq5DUO0pnObq/8De1dW1ZM757sMGVvwLUHm48si4coYozbDISIe58Puc9uMkihvHSjNlZh0vMHoo= git@secretive.Marianos-MacBook-Pro-(2).local
+14 -7
View File
@@ -35,22 +35,31 @@
};
caskArgs = {
no_quarantine = true;
no_quarantine = false;
};
taps = [
# "agavra/tap"
];
brews = [
"raylib"
"watchman"
"vite"
"pipx"
"codex"
"python@3.11"
"glow"
"act"
"chromaprint"
"libiconv"
# "agavra/tap/tuicr"
"automake"
"autoconf"
"pkg-config"
"libusb"
"minicom"
"picocom"
"tio"
];
casks = [
"orbstack"
"ghostty"
"kicad"
"secretive"
@@ -62,13 +71,11 @@
"google-chrome"
"nrf-connect"
"segger-jlink"
"docker-desktop"
"whatsapp"
"slack"
"discord"
"claude-code"
"calibre"
"rsyncui"
"trilium-notes"
];
};
+46 -2
View File
@@ -42,6 +42,10 @@ in {
username = username;
homeDirectory = homeDirectory;
sessionVariables = {
EDITOR = "nvim";
};
packages = with pkgs; [
pkgs-unstable.cmake
clang
@@ -84,10 +88,27 @@ in {
};
programs.ssh = {
enableDefaultConfig = false;
matchBlocks = {
media = {
"*" = {
addKeysToAgent = "no";
compression = false;
serverAliveInterval = 0;
serverAliveCountMax = 3;
hashKnownHosts = false;
userKnownHostsFile = "~/.ssh/known_hosts";
controlMaster = "no";
controlPath = "~/.ssh/master-%r@%n:%p";
controlPersist = "no";
};
homeserver = {
user = "jmug";
hostname = "192.168.8.241";
hostname = "100.122.244.59";
forwardAgent = true;
};
devbox = {
user = "jmug";
hostname = "100.102.140.44";
forwardAgent = true;
};
handmade = {
@@ -95,6 +116,28 @@ in {
hostname = "82.180.160.149";
forwardAgent = true;
};
handmaderunner = {
user = "jmug";
hostname = "2.25.209.218";
};
racknerd = {
user = "jmug";
hostname = "155.94.155.137";
addKeysToAgent = "yes";
forwardAgent = false;
};
beefy = {
user = "jmug";
hostname = "100.127.115.24";
addKeysToAgent = "yes";
forwardAgent = true;
};
mid = {
user = "jmug";
hostname = "100.82.115.89";
addKeysToAgent = "yes";
forwardAgent = true;
};
};
};
@@ -105,6 +148,7 @@ in {
sysconf = "nvim ${homeDirectory}/nixos/hosts/macbook/configuration.nix";
homeconf = "nvim ${homeDirectory}/nixos/hosts/macbook/home.nix";
nvconf = "nvim ${homeDirectory}/nixos/home-modules/explicit-configs/nvim/init.lua";
k = "kubectl";
rshellconf = "source ${homeDirectory}/.zshrc";
nrsw = "sudo darwin-rebuild switch --flake ${homeDirectory}/nixos#macbook";
-2
View File
@@ -241,11 +241,9 @@ in
services.gvfs.enable = true;
services.udisks2.enable = true;
# Enable the OpenSSH daemon.
# Enable the OpenSSH daemon.
services.openssh = {
enable = true;
# ports = [ 69 ];
settings = {
PasswordAuthentication = false;
PermitRootLogin = "no";
+36 -31
View File
@@ -84,6 +84,7 @@ in {
pkgs-unstable.opencode
pkgs-unstable.claude-code
pkgs-unstable.openssl
pkgs-unstable.dig
# zig
fastfetch
fzf
@@ -117,12 +118,10 @@ in {
programs.zsh = {
shellAliases = {
# TODO BEGIN Interpolate the name of the host here.
# flakeconf = "sudo nvim /etc/nixos/flake.nix";
# nosconf = "sudo nvim /etc/nixos/hosts/devbox/configuration.nix";
# homeconf = "sudo nvim /etc/nixos/hosts/devbox/home.nix";
# nvconf = "sudo nvim /etc/nixos/home-modules/explicit-configs/nvim/init.lua";
# TODO END Interpolate the name of the host here.
flakeconf = "nvim ${homeDirectory}/nixos/flake.nix";
nosconf = "nvim ${homeDirectory}/nixos/hosts/nixbox/configuration.nix";
homeconf = "nvim ${homeDirectory}/nixos/hosts/nixbox/home.nix";
nvconf = "sudo nvim ${homeDirectory}/nixos/home-modules/explicit-configs/nvim/init.lua";
rshellconf = "source ~/.zshrc";
# TODO: Interpolate the name of the host here.
nrsw = "sudo nixos-rebuild switch --flake ${homeDirectory}/nixos#nixbox";
@@ -146,42 +145,48 @@ in {
services.ssh-agent.enable = true;
programs.ssh = {
enable = true;
addKeysToAgent = "confirm";
enableDefaultConfig = false;
matchBlocks = {
"git" = {
"*" = {
forwardAgent = false;
addKeysToAgent = "no";
compression = false;
serverAliveInterval = 0;
serverAliveCountMax = 3;
hashKnownHosts = false;
userKnownHostsFile = "~/.ssh/known_hosts";
controlMaster = "no";
controlPath = "~/.ssh/master-%r@%n:%p";
controlPersist = "no";
identityFile = [
"/home/jmug/.ssh/id_yubikey" # Auto updated symlik that matches all yubikeys.
"/home/jmug/.ssh/id_jmug" # Fallback key with passphrase.
];
};
git = {
host = "github.com";
user = "git";
identityFile = [
"/home/jmug/.ssh/id_yubikey" # Auto updated symlik that matches all yubikeys.
"/home/jmug/.ssh/id_jmug" # Fallback key with passphrase.
];
addKeysToAgent = "yes";
};
"forgejo" = {
forgejo = {
host = "code.jmug.me";
user = "forgejo";
identityFile = [
"/home/jmug/.ssh/id_yubikey" # Auto updated symlik that matches all yubikeys.
"/home/jmug/.ssh/id_jmug" # Fallback key with passphrase.
];
addKeysToAgent = "yes";
};
"tailscale-jmug" = {
homeserver = {
user = "jmug";
hostname = "100.122.244.59";
identityFile = [
"/home/jmug/.ssh/id_yubikey" # Auto updated symlik that matches all yubikeys.
"/home/jmug/.ssh/id_jmug" # Fallback key with passphrase.
];
forwardAgent = true;
};
racknerd = {
user = "jmug";
hostname = "155.94.155.137";
};
handmade = {
user = "jmug";
hostname = "82.180.160.149";
};
};
# matchBlocks = {
# ws = {
# user = "aym";
# hostname = "73.118.150.68";
# port = 69;
# forwardAgent = true;
# identityFile = "/home/jmug/.ssh/id_ed25519";
# };
# };
};
# Let Home Manager install and manage itself.