Compare commits
15
Commits
4c27fde75b
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e5c21811a9 | ||
|
|
fa763630de | ||
|
|
1544b0a4b0 | ||
|
|
3a61ac767f | ||
|
|
7c3c38c5fb | ||
|
|
f8d4f6ef07 | ||
|
|
f3d795f2c2 | ||
|
|
5aa52b7107 | ||
|
|
96bc9b8b01 | ||
|
|
fe1c287242 | ||
|
|
5d608cecab | ||
|
|
e8ca1e1ad6 | ||
|
|
371a5d3188 | ||
|
|
8e4d95e6f1 | ||
|
|
7822bf6ff8 |
@@ -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
|
||||
|
||||
@@ -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 @@
|
||||
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCLJj/fefApUkXp79YPPk1O2L6CW6kqISXSWWmR8+MX0wk3lQv1NUp1p87sE57i6aUcYMuba0U9y+ppQq603uOc= code@secretive.Mariano’s-MacBook-Pro-(2).local
|
||||
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBLNJvauvfuOq5DUO0pnObq/8De1dW1ZM757sMGVvwLUHm48si4coYozbDISIe58Puc9uMkihvHSjNlZh0vMHoo= git@secretive.Mariano’s-MacBook-Pro-(2).local
|
||||
|
||||
@@ -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
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
+40
-35
@@ -84,6 +84,7 @@ in {
|
||||
pkgs-unstable.opencode
|
||||
pkgs-unstable.claude-code
|
||||
pkgs-unstable.openssl
|
||||
pkgs-unstable.dig
|
||||
# zig
|
||||
fastfetch
|
||||
fzf
|
||||
@@ -109,20 +110,18 @@ in {
|
||||
# home.activation.aws-cli-mfa-config = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||
# mkdir -p ~/.config/aws-cli-mfa
|
||||
# cat > ~/.config/aws-cli-mfa/config.yaml << EOF
|
||||
# mfa_serial: $(cat ${config.sops.secrets."aws/jmug_matcha_mfa_serial".path})
|
||||
# role_arn: $(cat ${config.sops.secrets."aws/role_arn".path})
|
||||
# session_duration: 43200
|
||||
# EOF
|
||||
# mfa_serial: $(cat ${config.sops.secrets."aws/jmug_matcha_mfa_serial".path})
|
||||
# role_arn: $(cat ${config.sops.secrets."aws/role_arn".path})
|
||||
# session_duration: 43200
|
||||
# EOF
|
||||
# '';
|
||||
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user