Files
nixos/hosts/macbook/home.nix
T

144 lines
3.5 KiB
Nix
Raw Normal View History

{
config,
pkgs,
pkgs-unstable,
2025-08-24 00:03:26 -07:00
opencode-tunneler,
2025-12-14 01:52:50 -08:00
godig,
2025-08-07 15:54:12 -07:00
user,
...
2025-08-07 15:54:12 -07:00
} :
let
username = user.name;
homeDirectory = user.homeDirectory;
in {
2025-05-03 23:42:03 -07:00
imports = [
2025-08-07 15:54:12 -07:00
../../home-modules/default.nix
2025-05-03 23:42:03 -07:00
../../home-modules/direnv.nix
../../home-modules/ghostty-config.nix
2025-08-07 16:42:01 -07:00
../../home-modules/git.nix
2025-08-07 15:53:33 -07:00
../../home-modules/homebrew.nix
2025-08-04 20:04:54 -07:00
../../home-modules/karabiner.nix
../../home-modules/lazygit.nix
../../home-modules/nvim.nix
2025-08-07 16:38:04 -07:00
../../home-modules/secretive.nix
2025-08-04 20:04:54 -07:00
../../home-modules/starship.nix
../../home-modules/tmux.nix
../../home-modules/opencode-config.nix
2025-08-04 20:04:54 -07:00
../../home-modules/zsh.nix
2025-05-03 23:42:03 -07:00
];
ghostty = {
font-size = "17.2";
window-decoration = true;
};
nvim = {
enable = true;
package = pkgs-unstable.neovim;
};
2025-05-03 23:42:03 -07:00
home = {
2025-08-07 15:54:12 -07:00
username = username;
homeDirectory = homeDirectory;
2025-05-03 23:42:03 -07:00
packages = with pkgs; [
pkgs-unstable.cmake
clang
2026-02-28 02:00:31 -08:00
sops
2025-08-09 15:15:36 -07:00
2025-08-07 15:54:12 -07:00
nerd-fonts.bigblue-terminal
nerd-fonts.fira-code
2025-05-03 23:42:03 -07:00
exercism
2025-08-07 15:54:12 -07:00
typescript-language-server # TODO: Defer to individual projects.
2025-05-03 23:42:03 -07:00
audacity
(pkgs-unstable.litellm.overrideAttrs (oldAttrs: rec {
version = "1.74.9";
src = pkgs.fetchFromGitHub {
owner = "BerriAI";
repo = "litellm";
tag = "v${version}-stable";
hash = "sha256-SGZwt2jzAQbOMlvudqPWat281su6OwT7JG2CNSMjL3A=";
};
}))
2025-08-09 15:15:36 -07:00
pkgs-unstable.vscode
2025-08-24 00:03:26 -07:00
pkgs-unstable.ngrok
2025-12-14 01:52:50 -08:00
pkgs-unstable.flyctl
pkgs-unstable.awscli2
pkgs-unstable.google-cloud-sdk
2025-08-09 15:15:36 -07:00
pkgs-unstable.go
2025-08-17 19:11:30 -07:00
pkgs-unstable.gopls
pkgs-unstable.gotools
pkgs-unstable.bun
2025-12-14 01:52:50 -08:00
pkgs-unstable.rustup
2025-08-17 19:11:30 -07:00
# Expo.
pkgs-unstable.nodejs_24
pkgs-unstable.eas-cli
2025-08-24 00:03:26 -07:00
opencode-tunneler.packages.aarch64-darwin.default
2025-12-14 01:52:50 -08:00
godig.packages.aarch64-darwin.service
2025-05-03 23:42:03 -07:00
];
stateVersion = "24.11";
};
2025-12-14 01:52:50 -08:00
programs.ssh = {
2026-03-04 02:06:00 -08:00
enableDefaultConfig = false;
2025-12-14 01:52:50 -08:00
matchBlocks = {
2026-03-04 02:06:00 -08:00
"*" = {
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";
};
homeserver = {
2025-12-14 01:52:50 -08:00
user = "jmug";
2026-03-04 02:06:00 -08:00
hostname = "100.122.244.59";
forwardAgent = true;
};
devbox = {
user = "jmug";
hostname = "100.102.140.44";
2025-12-14 01:52:50 -08:00
forwardAgent = true;
};
handmade = {
user = "jmug";
hostname = "82.180.160.149";
forwardAgent = true;
};
2026-03-04 02:06:00 -08:00
"racknerd" = {
user = "jmug";
hostname = "155.94.155.137";
addKeysToAgent = "yes";
};
2025-12-14 01:52:50 -08:00
};
};
2025-05-03 23:42:03 -07:00
programs.zsh = {
shellAliases = {
# TODO BEGIN Interpolate the name of the host here.
2025-08-07 15:54:12 -07:00
flakeconf = "nvim ${homeDirectory}/nixos/flake.nix";
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";
2025-08-09 15:15:49 -07:00
rshellconf = "source ${homeDirectory}/.zshrc";
2025-08-07 15:54:12 -07:00
nrsw = "sudo darwin-rebuild switch --flake ${homeDirectory}/nixos#macbook";
2025-08-18 20:17:20 -07:00
opencode-local = "${homeDirectory}/dev/opencode/dist-local/bin/opencode";
2025-05-03 23:42:03 -07:00
};
2025-08-17 19:11:47 -07:00
initContent = ''
export PATH=$PATH:$HOME/bin
export PATH=$PATH:$HOME/.opencode/bin
2025-09-30 10:54:18 -07:00
export PATH=$PATH:$HOME/.local/bin
2025-08-17 19:11:47 -07:00
'';
2025-05-03 23:42:03 -07:00
};
}