Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7670683b03 | ||
|
|
d88426eb68 | ||
|
|
cc996f7550 | ||
|
|
f5be95e5c3 | ||
|
|
a40695beaa | ||
|
|
e57c792874 | ||
|
|
984a677327 |
@@ -137,7 +137,7 @@
|
|||||||
"homebrew/homebrew-cask" = homebrew-cask;
|
"homebrew/homebrew-cask" = homebrew-cask;
|
||||||
};
|
};
|
||||||
mutableTaps = false;
|
mutableTaps = false;
|
||||||
autoMigrate = true;
|
# autoMigrate = true;
|
||||||
};
|
};
|
||||||
home-manager.sharedModules = [
|
home-manager.sharedModules = [
|
||||||
# mac-app-util.homeManagerModules.default
|
# mac-app-util.homeManagerModules.default
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ in
|
|||||||
imports = [
|
imports = [
|
||||||
../../modules/darwin/default.nix
|
../../modules/darwin/default.nix
|
||||||
../../modules/darwin/home-manager.nix
|
../../modules/darwin/home-manager.nix
|
||||||
|
# ../../modules/darwin/ai.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Setup user, packages, programs
|
# Setup user, packages, programs
|
||||||
@@ -131,16 +132,6 @@ in
|
|||||||
StandardOutPath = "/tmp/emacs.out.log";
|
StandardOutPath = "/tmp/emacs.out.log";
|
||||||
};
|
};
|
||||||
|
|
||||||
launchd.user.agents.ollama = {
|
|
||||||
command = "${pkgs.ollama}/bin/ollama serve";
|
|
||||||
serviceConfig = {
|
|
||||||
KeepAlive = true;
|
|
||||||
RunAtLoad = true;
|
|
||||||
StandardOutPath = "/tmp/ollama.out.log";
|
|
||||||
StandardErrorPath = "/tmp/ollama.err.log";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
system = {
|
system = {
|
||||||
stateVersion = 4;
|
stateVersion = 4;
|
||||||
primaryUser = "${user}";
|
primaryUser = "${user}";
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
{ pkgs, llm-agents, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
environment.systemPackages = [
|
||||||
|
|
||||||
|
ollama
|
||||||
|
|
||||||
|
|
||||||
|
# CLI coding agent from llm-agents.nix input
|
||||||
|
llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.hermes-agent
|
||||||
|
|
||||||
|
# Hermes desktop GUI
|
||||||
|
llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.hermes-desktop
|
||||||
|
];
|
||||||
|
|
||||||
|
launchd.user.agents.ollama = {
|
||||||
|
command = "${pkgs.ollama}/bin/ollama serve";
|
||||||
|
serviceConfig = {
|
||||||
|
KeepAlive = true;
|
||||||
|
RunAtLoad = true;
|
||||||
|
StandardOutPath = "/tmp/ollama.out.log";
|
||||||
|
StandardErrorPath = "/tmp/ollama.err.log";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,139 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
homebrew = {
|
||||||
|
enable = true;
|
||||||
|
global = {
|
||||||
|
brewfile = true;
|
||||||
|
};
|
||||||
|
brews = [ ];
|
||||||
|
|
||||||
|
onActivation = {
|
||||||
|
cleanup = "none";
|
||||||
|
autoUpdate = true;
|
||||||
|
upgrade = true;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
masApps = {
|
||||||
|
# These app IDs are from using the mas CLI app
|
||||||
|
# mas = mac app store
|
||||||
|
# https://github.com/mas-cli/mas
|
||||||
|
#
|
||||||
|
# $ nix shell nixpkgs#mas
|
||||||
|
# $ mas search <app name>
|
||||||
|
#
|
||||||
|
# If you have previously added these apps to your Mac App Store profile (but not installed them on this system),
|
||||||
|
# you may receive an error message "Redownload Unavailable with This Apple ID".
|
||||||
|
# This message is safe to ignore.
|
||||||
|
"1Password for Safari" = 1569813296; # (8.10.82)
|
||||||
|
"Affinity Designer 2" = 1616831348;
|
||||||
|
"Affinity Photo 2: Image Editor" = 1616822987;
|
||||||
|
"Affinity Publisher 2" = 1606941598;
|
||||||
|
# "DaisyDisk" = 409907375; # (4.32) # Don't use this, we need the official version that is not sandboxed
|
||||||
|
"Fantastical - Calendar" = 975937182;
|
||||||
|
"Fedistar" = 6445863996; # (1.13.1)
|
||||||
|
"Home Assistant" = 1099568401; # (2025.7.1)
|
||||||
|
"Ice Cubes for Mastodon" = 6444915884; # (1.11.3)
|
||||||
|
"LibreOffice" = 1630474372;
|
||||||
|
"Monal - XMPP Chatting " = 1637078500;
|
||||||
|
"Microsoft Copilot" = 6738511300; # (25.7.440804001)
|
||||||
|
"Microsoft Outlook" = 985367838; # (16.111.3)
|
||||||
|
"Microsoft Excel" = 462058435; # (16.111.3)
|
||||||
|
"Microsoft Word" = 462054704; # (16.111.3)
|
||||||
|
"Microsoft PowerPoint" = 462062816; # (16.111.3)
|
||||||
|
"OneDrive" = 823766827; # (26.134.0713)
|
||||||
|
"MQTT Explorer" = 1455214828; # (0.3.5)
|
||||||
|
"Night Sky" = 475772902; # 475772902
|
||||||
|
"Native SQLite Manager" = 1416282836; # (1.31.0)
|
||||||
|
"Remarkable Desktop" = 1276493162; # (3.19.0)
|
||||||
|
"Slack for Desktop" = 803453959; # (4.45.60)
|
||||||
|
"WhatsApp Messenger" = 310633997; # (26.30.77)
|
||||||
|
"WiFi Explorer: Scanner" = 494803304; # (3.5.6)
|
||||||
|
"Windows App Installer" = 1295203466; # (1.0.16)
|
||||||
|
"Wireguard" = 1451685025; # (1.0.16)
|
||||||
|
### "1Password: Password Manager" = 1511601750; # (8.11.0) Does not seem to insta
|
||||||
|
};
|
||||||
|
|
||||||
|
casks = [
|
||||||
|
# Development Tools
|
||||||
|
"arduino-ide"
|
||||||
|
"docker-desktop"
|
||||||
|
"iterm2"
|
||||||
|
"oracle-jdk"
|
||||||
|
"visual-studio-code"
|
||||||
|
|
||||||
|
# Creative tools
|
||||||
|
"blender"
|
||||||
|
"gimp"
|
||||||
|
"inkscape"
|
||||||
|
"vcv-rack"
|
||||||
|
#"affinity-designer"
|
||||||
|
#"affinity-photo"
|
||||||
|
#"affinity-publisher"
|
||||||
|
|
||||||
|
# Communication Tools
|
||||||
|
"adium"
|
||||||
|
"discord"
|
||||||
|
"signal"
|
||||||
|
"webex"
|
||||||
|
"zoom"
|
||||||
|
|
||||||
|
# Utility Tools
|
||||||
|
|
||||||
|
"blackhole-16ch"
|
||||||
|
"blackhole-2ch"
|
||||||
|
"box-drive"
|
||||||
|
"box-tools"
|
||||||
|
"daisydisk"
|
||||||
|
"karabiner-elements"
|
||||||
|
"keybase"
|
||||||
|
"moonlight"
|
||||||
|
"spamsieve"
|
||||||
|
"syncthing-app"
|
||||||
|
"synology-drive"
|
||||||
|
"tigervnc"
|
||||||
|
|
||||||
|
#LLM
|
||||||
|
"ollama-app"
|
||||||
|
"hermes-desktop"
|
||||||
|
"jan"
|
||||||
|
|
||||||
|
# Entertainment Tools
|
||||||
|
"qobuz"
|
||||||
|
"steam"
|
||||||
|
"handbrake-app"
|
||||||
|
"jellyfin-media-player"
|
||||||
|
"mediaelch"
|
||||||
|
"obs"
|
||||||
|
"vimediamanager"
|
||||||
|
"vlc"
|
||||||
|
|
||||||
|
# Productivity Tools
|
||||||
|
"1Password"
|
||||||
|
"bitwarden"
|
||||||
|
"calibre"
|
||||||
|
"dbeaver-community"
|
||||||
|
"element"
|
||||||
|
"gpg-suite"
|
||||||
|
"macdown-3000"
|
||||||
|
"mailmate@beta"
|
||||||
|
"orcaslicer"
|
||||||
|
# "remanager"
|
||||||
|
"qmk-toolbox"
|
||||||
|
"smartsheet"
|
||||||
|
# "sqlitestudio" # Doesn't work without Rosetta
|
||||||
|
|
||||||
|
# "virtualbox" # build error?
|
||||||
|
|
||||||
|
|
||||||
|
# Browsers
|
||||||
|
"brave-browser"
|
||||||
|
"firefox"
|
||||||
|
"google-chrome"
|
||||||
|
|
||||||
|
# x11
|
||||||
|
"xquartz"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
_:
|
|
||||||
|
|
||||||
[
|
|
||||||
# Development Tools
|
|
||||||
"arduino-ide"
|
|
||||||
"docker-desktop"
|
|
||||||
"iterm2"
|
|
||||||
"oracle-jdk"
|
|
||||||
"visual-studio-code"
|
|
||||||
|
|
||||||
# Creative tools
|
|
||||||
"blender"
|
|
||||||
"gimp"
|
|
||||||
"inkscape"
|
|
||||||
"vcv-rack"
|
|
||||||
#"affinity-designer"
|
|
||||||
#"affinity-photo"
|
|
||||||
#"affinity-publisher"
|
|
||||||
|
|
||||||
# Communication Tools
|
|
||||||
"adium"
|
|
||||||
"discord"
|
|
||||||
"signal"
|
|
||||||
"webex"
|
|
||||||
"whatsapp"
|
|
||||||
"zoom"
|
|
||||||
|
|
||||||
|
|
||||||
# Utility Tools
|
|
||||||
|
|
||||||
"blackhole-16ch"
|
|
||||||
"blackhole-2ch"
|
|
||||||
"box-drive"
|
|
||||||
"box-tools"
|
|
||||||
"daisydisk"
|
|
||||||
"karabiner-elements"
|
|
||||||
"keybase"
|
|
||||||
"spamsieve"
|
|
||||||
"syncthing-app"
|
|
||||||
"synology-drive"
|
|
||||||
|
|
||||||
# Entertainment Tools
|
|
||||||
"qobuz"
|
|
||||||
"steam"
|
|
||||||
"handbrake-app"
|
|
||||||
"jellyfin-media-player"
|
|
||||||
"mediaelch"
|
|
||||||
"obs"
|
|
||||||
"vimediamanager"
|
|
||||||
"vlc"
|
|
||||||
|
|
||||||
# Productivity Tools
|
|
||||||
"1Password"
|
|
||||||
"bitwarden"
|
|
||||||
"calibre"
|
|
||||||
"dbeaver-community"
|
|
||||||
"element"
|
|
||||||
"gpg-suite"
|
|
||||||
"macdown-3000"
|
|
||||||
"mailmate@beta"
|
|
||||||
"orcaslicer"
|
|
||||||
"remanager"
|
|
||||||
"qmk-toolbox"
|
|
||||||
"smartsheet"
|
|
||||||
# "sqlitestudio" # Doesn't work without Rosetta
|
|
||||||
|
|
||||||
# "virtualbox" # build error?
|
|
||||||
"copilot-cli"
|
|
||||||
|
|
||||||
# Browsers
|
|
||||||
"brave-browser"
|
|
||||||
"firefox"
|
|
||||||
"google-chrome"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# x11
|
|
||||||
"xquartz"
|
|
||||||
]
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
emacsOverlaySha256 = "0pqnl05j86pyvrlqh5kk4sximi749xqgiffq47grw7v98nqd2yin";
|
emacsOverlaySha256 = "07i9zb4rw9zwip9a49fv0q60ak025vn92r48vk7ns61was1mzn9s";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home-manager.backupFileExtension = "nix-backup";
|
home-manager.backupFileExtension = "nix-backup";
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ in
|
|||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./dock
|
./dock
|
||||||
|
./brewery.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# It me
|
# It me
|
||||||
@@ -28,55 +29,18 @@ in
|
|||||||
home = "/Users/${user}";
|
home = "/Users/${user}";
|
||||||
isHidden = false;
|
isHidden = false;
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
|
openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILCEBZrQ9F3nLhEM9uqdPijut11vhYkdmLtj7gT/zgV3 Key Nov 2024"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA9vrzEHmWEX5sCVsp6J4tVrxEzzqMSRkijHEfVg2WrC cardno:36_431_811"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG5BytZleG7m1926MSNwVXyPJ0QD5Z919cFCp22BN5hV cardno:35_775_013"
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAl/jn18uVPJ9Uyv8gqk80gVQaMHrcd1b+B/SB/6RsX8 cardno:36_431_751"
|
||||||
|
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAILVdAx+U1xhcJmh1hRaF0CVB0ivIF/U0oIbAWYPwko4iAAAABHNzaDo= Yubikey 35775013"
|
||||||
|
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIIjnJyJUDnia6ZWPRa5iSBKCb+DMGmFtiFa+9gkeiTwQAAAABHNzaDo= Yubikey 36431751"
|
||||||
|
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFhuPQUHUHchx8wHVCciMi6etzZStkpECbG/r/1imy+kAAAABHNzaDo= Yubikey 36431881"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
homebrew = {
|
|
||||||
enable = true;
|
|
||||||
global = {
|
|
||||||
brewfile = true;
|
|
||||||
};
|
|
||||||
casks = pkgs.callPackage ./casks.nix { };
|
|
||||||
onActivation = {
|
|
||||||
cleanup = "none";
|
|
||||||
autoUpdate = true;
|
|
||||||
upgrade = true;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
# These app IDs are from using the mas CLI app
|
|
||||||
# mas = mac app store
|
|
||||||
# https://github.com/mas-cli/mas
|
|
||||||
#
|
|
||||||
# $ nix shell nixpkgs#mas
|
|
||||||
# $ mas search <app name>
|
|
||||||
#
|
|
||||||
# If you have previously added these apps to your Mac App Store profile (but not installed them on this system),
|
|
||||||
# you may receive an error message "Redownload Unavailable with This Apple ID".
|
|
||||||
# This message is safe to ignore.
|
|
||||||
|
|
||||||
masApps = {
|
|
||||||
"1Password for Safari" = 1569813296; # (8.10.82)
|
|
||||||
"Affinity Designer 2" = 1616831348;
|
|
||||||
"Affinity Photo 2: Image Editor" = 1616822987;
|
|
||||||
"Affinity Publisher 2" = 1606941598;
|
|
||||||
# "DaisyDisk" = 409907375; # (4.32) # Don't use this, we need the official version that is not sandboxed
|
|
||||||
"Fantastical - Calendar" = 975937182;
|
|
||||||
"Fedistar" = 6445863996; # (1.13.1)
|
|
||||||
"Home Assistant" = 1099568401; # (2025.7.1)
|
|
||||||
"Ice Cubes for Mastodon" = 6444915884; # (1.11.3)
|
|
||||||
"LibreOffice" = 1630474372;
|
|
||||||
"Monal - XMPP Chatting " = 1637078500;
|
|
||||||
"MQTT Explorer" = 1455214828; # (0.3.5)
|
|
||||||
"Night Sky" = 475772902; # 475772902
|
|
||||||
"Native SQLite Manager" = 1416282836; # (1.31.0)
|
|
||||||
"Remarkable Desktop" = 1276493162; # (3.19.0)
|
|
||||||
"Slack for Desktop" = 803453959; # (4.45.60)
|
|
||||||
"WiFi Explorer: Scanner" = 494803304; # (3.5.6)
|
|
||||||
"Windows App Installer" = 1295203466; # (1.0.16)
|
|
||||||
"Wireguard" = 1451685025; # (1.0.16)
|
|
||||||
### "1Password: Password Manager" = 1511601750; # (8.11.0) Does not seem to insta
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable home-manager
|
# Enable home-manager
|
||||||
home-manager = {
|
home-manager = {
|
||||||
@@ -98,6 +62,9 @@ in
|
|||||||
};
|
};
|
||||||
stateVersion = "23.11";
|
stateVersion = "23.11";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.activation.ensureNpmCliTools = import ./npm.nix { inherit lib pkgs; };
|
||||||
|
|
||||||
catppuccin = {
|
catppuccin = {
|
||||||
autoEnable = true;
|
autoEnable = true;
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -220,6 +187,7 @@ in
|
|||||||
initContent =
|
initContent =
|
||||||
let
|
let
|
||||||
zshConfigEarlyInit = lib.mkOrder 500 ''
|
zshConfigEarlyInit = lib.mkOrder 500 ''
|
||||||
|
ulimit -n 524288
|
||||||
if [[ -f /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh ]]; then
|
if [[ -f /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh ]]; then
|
||||||
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
|
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
|
||||||
. /nix/var/nix/profiles/default/etc/profile.d/nix.sh
|
. /nix/var/nix/profiles/default/etc/profile.d/nix.sh
|
||||||
@@ -236,6 +204,9 @@ in
|
|||||||
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
||||||
|
|
||||||
# Define variables for directories
|
# Define variables for directories
|
||||||
|
|
||||||
|
export PATH=$HOME/.local/bin:$PATH
|
||||||
|
|
||||||
export PATH=$HOME/.pnpm-packages/bin:$HOME/.pnpm-packages:$PATH
|
export PATH=$HOME/.pnpm-packages/bin:$HOME/.pnpm-packages:$PATH
|
||||||
export PATH=$HOME/.npm-packages/bin:$HOME/bin:$PATH
|
export PATH=$HOME/.npm-packages/bin:$HOME/bin:$PATH
|
||||||
export PATH=$HOME/.local/share/bin:$PATH
|
export PATH=$HOME/.local/share/bin:$PATH
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{ lib, pkgs }:
|
||||||
|
|
||||||
|
let
|
||||||
|
npmPackages = [
|
||||||
|
"@enact/cli"
|
||||||
|
"@webos-tools/cli"
|
||||||
|
"@anthropic-ai/claude-code"
|
||||||
|
"patch-package"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||||
|
# Ensure required npm CLI tools are installed in the user prefix.
|
||||||
|
NPM_BIN="${pkgs.nodejs}/bin/npm"
|
||||||
|
export NPM_CONFIG_PREFIX="$HOME/.npm-packages"
|
||||||
|
export PATH="${pkgs.nodejs}/bin:$NPM_CONFIG_PREFIX/bin:$PATH"
|
||||||
|
|
||||||
|
if [[ ! -x "$NPM_BIN" ]]; then
|
||||||
|
echo "npm not found; skipping npm CLI installation step"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
for pkg in ${lib.concatStringsSep " " (map lib.escapeShellArg npmPackages)}; do
|
||||||
|
if "$NPM_BIN" list -g --depth=0 "$pkg" >/dev/null 2>&1; then
|
||||||
|
echo "npm package already installed: $pkg"
|
||||||
|
else
|
||||||
|
echo "installing npm package: $pkg"
|
||||||
|
"$NPM_BIN" install -g "$pkg"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
''
|
||||||
@@ -127,8 +127,7 @@ with pkgs;
|
|||||||
]
|
]
|
||||||
))
|
))
|
||||||
|
|
||||||
# LLM
|
|
||||||
ollama # Launchd definition in hosts/darwin/default.nix
|
|
||||||
|
|
||||||
# Social
|
# Social
|
||||||
pidgin
|
pidgin
|
||||||
|
|||||||
Reference in New Issue
Block a user