fixes cleo-darwin

This commit is contained in:
Matthew Bessette
2026-06-24 13:55:25 -04:00
parent ef8af5c732
commit aff29b3a6c
8 changed files with 109 additions and 154 deletions
-19
View File
@@ -1,19 +0,0 @@
#!/usr/bin/env bash
set -e
if [[ ! -d "/home/mbessette/nixos" ]]; then
echo "Cannot find source directory; Did you move it?"
echo "(Looking for "/home/mbessette/nixos")"
echo 'Cannot force reload with this script - use "direnv reload" manually and then try again'
exit 1
fi
# rebuild the cache forcefully
_nix_direnv_force_reload=1 direnv exec "/home/mbessette/nixos" true
# Update the mtime for .envrc.
# This will cause direnv to reload again - but without re-building.
touch "/home/mbessette/nixos/.envrc"
# Also update the timestamp of whatever profile_rc we have.
# This makes sure that we know we are up to date.
touch -r "/home/mbessette/nixos/.envrc" "/home/mbessette/nixos/.direnv"/*.rc
-1
View File
@@ -1 +0,0 @@
use flake
+7 -8
View File
@@ -3,7 +3,6 @@
nixpkgs.overlays = [ inputs.nix-vscode-extensions.overlays.default ]; nixpkgs.overlays = [ inputs.nix-vscode-extensions.overlays.default ];
ids.gids.nixbld = 350; ids.gids.nixbld = 350;
security.pam.services.sudo_local.touchIdAuth = true; security.pam.services.sudo_local.touchIdAuth = true;
# 1Password SSH Socket # 1Password SSH Socket
environment.variables.SSH_AUTH_SOCK = "~/Library/Group Containers/2BU8OCWD5C.com.1password/t/agent.sock"; environment.variables.SSH_AUTH_SOCK = "~/Library/Group Containers/2BU8OCWD5C.com.1password/t/agent.sock";
@@ -11,7 +10,7 @@
environment.variables.EDITOR = "vim"; environment.variables.EDITOR = "vim";
environment.variables.VISUAL = "vim"; environment.variables.VISUAL = "vim";
environment.variables.GIT_EDITOR = "vim"; environment.variables.GIT_EDITOR = "vim";
environment.variables.OPENCODE_CONFIG = "~/.config/opencode.jsonc"; environment.variables.HOMEBREW_NO_ANALYTICS = "1";
# Add Homebrew to PATH # Add Homebrew to PATH
environment.systemPath = [ "/opt/homebrew/bin" "/opt/homebrew/sbin" "/Users/matthew.bessette/.local/bin" ]; environment.systemPath = [ "/opt/homebrew/bin" "/opt/homebrew/sbin" "/Users/matthew.bessette/.local/bin" ];
@@ -36,7 +35,11 @@
onActivation.cleanup = "uninstall"; onActivation.cleanup = "uninstall";
onActivation.autoUpdate = true; onActivation.autoUpdate = true;
onActivation.upgrade = true; onActivation.upgrade = true;
taps = [ "bufbuild/buf" "deskflow/tap" ]; onActivation.extraFlags = [ "--force" ];
# global.autoUpdate = true;
taps = [
"bufbuild/buf"
];
brews = [ brews = [
"biome" "biome"
@@ -47,8 +50,6 @@
]; ];
casks = [ casks = [
"deskflow"
# CLEO APP # CLEO APP
"zulu@17" "zulu@17"
"android-commandlinetools" "android-commandlinetools"
@@ -56,14 +57,12 @@
### ###
"1password-cli" "1password-cli"
"android-commandlinetools"
"android-platform-tools"
"bruno" "bruno"
"docker-desktop"
"kopiaui" "kopiaui"
"libreoffice" "libreoffice"
"obsidian" "obsidian"
"postico" "postico"
"signal"
"spotify" "spotify"
"yubico-yubikey-manager" "yubico-yubikey-manager"
"zoom" "zoom"
+21 -17
View File
@@ -1,4 +1,11 @@
{ config, pkgs, ... }: { { config, pkgs, inputs, ... }:
let
oldPkgs = import inputs.nixpkgs-nodejs {
system = pkgs.stdenv.hostPlatform.system;
config.allowUnfree = true;
};
in
{
home.stateVersion = "23.11"; home.stateVersion = "23.11";
home.username = "matthew.bessette"; home.username = "matthew.bessette";
@@ -8,11 +15,7 @@
# Dev Specs # Dev Specs
python3 python3
pipenv pipenv
nodejs_22
yarn
jdk17
obsidian
opencode opencode
github-copilot-cli github-copilot-cli
gh gh
@@ -31,6 +34,13 @@
# pkg managers # pkg managers
uv uv
xcodes xcodes
## Tooling
fd
granted
] ++ [
oldPkgs.nodejs_22
oldPkgs.yarn
]; ];
# Enable direnv for automatic environment switching # Enable direnv for automatic environment switching
@@ -65,17 +75,6 @@
with pkgs.vscode-marketplace; [ with pkgs.vscode-marketplace; [
biomejs.biome biomejs.biome
] ]
) ++ (
pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "copilot-chat";
publisher = "GitHub";
version = "0.39.1";
# sha256 = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
sha256 = "sha256-2uD8HtsiII1gg3VlODSYI8DMBJrslZr/LCaQMAHI85g=";
}
]
); );
}; };
}; };
@@ -86,6 +85,9 @@
enableCompletion = true; enableCompletion = true;
autosuggestion.enable = true; autosuggestion.enable = true;
syntaxHighlighting.enable = true; syntaxHighlighting.enable = true;
profileExtra = ''
eval "$(/opt/homebrew/bin/brew shellenv)"
'';
oh-my-zsh.enable = true; oh-my-zsh.enable = true;
oh-my-zsh.theme = "robbyrussell"; oh-my-zsh.theme = "robbyrussell";
oh-my-zsh.plugins = [ oh-my-zsh.plugins = [
@@ -119,14 +121,16 @@
laws = "aws --endpoint=http://localhost:4566"; laws = "aws --endpoint=http://localhost:4566";
dev = "nix develop -c $SHELL"; dev = "nix develop -c $SHELL";
nixos = "code ~/nixos"; nixos = "code ~/nixos";
assume = "source assume";
}; };
}; };
home.sessionVariables = { home.sessionVariables = {
# Points to the Homebrew location mentioned in your caveat # Points to the Homebrew location mentioned in your caveat
ANDROID_HOME = "/opt/homebrew/share/android-commandlinetools"; ANDROID_HOME = "/opt/homebrew/share/android-commandlinetools";
JAVA_HOME = "${pkgs.jdk17}"; JAVA_HOME = "/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home";
NPM_CONFIG_PREFIX = "${config.home.homeDirectory}/.npm-global"; NPM_CONFIG_PREFIX = "${config.home.homeDirectory}/.npm-global";
GRANTED_ALIAS_CONFIGURED = "true";
}; };
home.sessionPath = [ home.sessionPath = [
+5 -38
View File
@@ -2,38 +2,14 @@
"$schema": "https://opencode.ai/config.json", "$schema": "https://opencode.ai/config.json",
"model": "github-copilot/claude-sonnet-4.6", "model": "github-copilot/claude-sonnet-4.6",
"instructions": [], "instructions": [],
"provider": { "provider": {},
"germanium": { "lsp": true,
"npm": "@ai-sdk/openai-compatible",
"name": "Germanium vLLM",
"options": {
"baseURL": "http://192.168.2.254:11434/v1",
"apiKey": "not-needed",
"headers": {
"Content-Type": "application/json"
}
},
"models": {
"qwen3.5-27b": {
"name": "qwen3.5-27b"
}
}
},
"docker-local": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "http://localhost:12434/v1"
},
"models": {
"gemma4": {
"name": "ai/gemma4:E4B"
}
}
}
},
"agent": { "agent": {
"build": { "build": {
"prompt": "Always load and follow the git-workflow skill before performing any git operations such as committing, branching, syncing, or creating pull requests." "prompt": "Always load and follow the git-workflow skill before performing any git operations such as committing, branching, syncing, or creating pull requests."
},
"explore": {
"model": "github-copilot/claude-haiku-4.5"
} }
}, },
"autoupdate": false, "autoupdate": false,
@@ -44,15 +20,6 @@
"figma": { "figma": {
"type": "remote", "type": "remote",
"url": "http://127.0.0.1:3845/mcp" "url": "http://127.0.0.1:3845/mcp"
},
"contentful": {
"type": "remote",
"url": "https://mcp.contentful.com/mcp",
"oauth": {}
},
"codecortex": {
"type": "local",
"command": ["codecortex", "serve"]
} }
} }
} }
+1
View File
@@ -35,6 +35,7 @@
"js/ts.updateImportsOnPaste.enabled": true, "js/ts.updateImportsOnPaste.enabled": true,
"js/ts.preferences.importModuleSpecifier": "relative", "js/ts.preferences.importModuleSpecifier": "relative",
"git.openRepositoryInParentFolders": "never", "git.openRepositoryInParentFolders": "never",
"git.detectWorktrees": true,
"github.copilot.nextEditSuggestions.enabled": true, "github.copilot.nextEditSuggestions.enabled": true,
"chat.tools.terminal.autoApprove": { "chat.tools.terminal.autoApprove": {
"yarn test": true, "yarn test": true,
Generated
+58 -47
View File
@@ -28,11 +28,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775037210, "lastModified": 1779036909,
"narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=", "narHash": "sha256-zXcwYQGCT6pzinK+1dBB2ekTVtfxGZAapb3Evdcu4fY=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "06648f4902343228ce2de79f291dd5a58ee12146", "rev": "56c666e108467d87d13508936aade6d567f2a501",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -42,28 +42,6 @@
"type": "github" "type": "github"
} }
}, },
"firefox-addons": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"dir": "pkgs/firefox-addons",
"lastModified": 1775361787,
"narHash": "sha256-0UY3G8QkoXFls5ThRIN6SBLUvf8E6t4d4hV7vj+f1pI=",
"owner": "rycee",
"repo": "nur-expressions",
"rev": "f8df1456eb3ddf837e3743f1cb5bcfc7730d29d2",
"type": "gitlab"
},
"original": {
"dir": "pkgs/firefox-addons",
"owner": "rycee",
"repo": "nur-expressions",
"type": "gitlab"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -142,15 +120,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775427330, "lastModified": 1781981105,
"narHash": "sha256-pm1SDX9Tj4eHWwjtDEqSU+5QZO7nHHqU8GT0JtbI9rc=", "narHash": "sha256-/1nNBbA7PrSQpTc9Qazkhl4kIPg+TNl0CjxS3UQJKlw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "7e7269ac064bea120d7b23daed432a096617872d", "rev": "7bfff44b465909f69a442701293bc0badcf476dc",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-26.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@@ -201,11 +180,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775358276, "lastModified": 1780289349,
"narHash": "sha256-TlWo4NYKlogZZ+EF1CCMz8J2L4Q+roBb8CE74ZPHBLE=", "narHash": "sha256-WtFLQ7R2bErvItKRgkYXqsm0s/cvDnx9fF4XniD3QxQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "cffd84d2e0ca47c61dc15b941e2383ca56106e05", "rev": "f4e7a3b814e1df64804cc211f657e65a1e618695",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -215,12 +194,15 @@
} }
}, },
"nixos-hardware": { "nixos-hardware": {
"inputs": {
"nixpkgs": "nixpkgs_5"
},
"locked": { "locked": {
"lastModified": 1775203647, "lastModified": 1780310866,
"narHash": "sha256-6MWaMLXK9QMndI94CIxeiPafi3wuO+imCtK9tfhsZdw=", "narHash": "sha256-fPBRVf6A5xlACYcOI59shGrjURuvwu0lRsDoSCEXt/I=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "80afbd13eea0b7c4ac188de949e1711b31c2b5f0", "rev": "4ed851c979641e28597a05086332d75cdc9e395f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -233,14 +215,14 @@
"nixos-wsl": { "nixos-wsl": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_6"
}, },
"locked": { "locked": {
"lastModified": 1774972752, "lastModified": 1780169171,
"narHash": "sha256-DnLIpFxznohpLkIFs390uZ0gxwkVyhtknhKNu+lQJK8=", "narHash": "sha256-3HBYDfBgZ+ph52HS6Ks/bMMwuh2uONIT72sZ1CtLE/s=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NixOS-WSL", "repo": "NixOS-WSL",
"rev": "d97e078f4788cddb8d11c3c99f72a4bb9ddec221", "rev": "998b2821c30b2938637230916904ceb8757c79e8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -281,6 +263,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-nodejs": {
"locked": {
"lastModified": 1737545071,
"narHash": "sha256-j4HeaLw1LZxkCvuOxdO1xTnPYLSOQuzOjGEuCK80X2w=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "21808d22b1cda1898b71cf1a1beb524a97add2c4",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "21808d22b1cda1898b71cf1a1beb524a97add2c4",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1761236834, "lastModified": 1761236834,
@@ -331,11 +329,24 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1773734432, "lastModified": 1767892417,
"narHash": "sha256-IF5ppUWh6gHGHYDbtVUyhwy/i7D261P7fWD1bPefOsw=", "narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
},
"original": {
"type": "tarball",
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1779560665,
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "cda48547b432e8d3b18b4180ba07473762ec8558", "rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -345,13 +356,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_6": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1775036866, "lastModified": 1779560665,
"narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=", "narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6201e203d09599479a3b3450ed24fa81537ebc4e", "rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -364,14 +375,14 @@
"root": { "root": {
"inputs": { "inputs": {
"darwin": "darwin", "darwin": "darwin",
"firefox-addons": "firefox-addons",
"home-manager": "home-manager", "home-manager": "home-manager",
"mac-app-util": "mac-app-util", "mac-app-util": "mac-app-util",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nix-vscode-extensions": "nix-vscode-extensions", "nix-vscode-extensions": "nix-vscode-extensions",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixos-wsl": "nixos-wsl", "nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_7",
"nixpkgs-nodejs": "nixpkgs-nodejs"
} }
}, },
"systems": { "systems": {
+15 -22
View File
@@ -11,7 +11,7 @@
darwin.inputs.nixpkgs.follows = "nixpkgs"; darwin.inputs.nixpkgs.follows = "nixpkgs";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
@@ -20,19 +20,18 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest"; nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
# Pinned nixpkgs for a specific nodejs_22 + yarn version required by cleo-app
nixpkgs-nodejs.url = "github:NixOS/nixpkgs/21808d22b1cda1898b71cf1a1beb524a97add2c4";
}; };
outputs = { self, darwin, nixpkgs, nixos-hardware, nixos-wsl, home-manager, mac-app-util, nix-flatpak, ... }@inputs: outputs = { self, darwin, nixpkgs, nixos-hardware, nixos-wsl, home-manager, mac-app-util, nix-flatpak, ... }@inputs:
let let
system = "x86_64-linux"; linuxSystem = "x86_64-linux";
darwinSystem = "aarch64-darwin";
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system; system = linuxSystem;
config = { config = {
allowUnfree = true; allowUnfree = true;
}; };
@@ -40,8 +39,7 @@
in { in {
# Framework - argon # Framework - argon
nixosConfigurations.argon = nixpkgs.lib.nixosSystem { nixosConfigurations.argon = nixpkgs.lib.nixosSystem {
specialArgs = { system = linuxSystem; inherit inputs; };
specialArgs = { inherit system; inherit inputs; };
modules = [ modules = [
nixos-hardware.nixosModules.framework-12th-gen-intel nixos-hardware.nixosModules.framework-12th-gen-intel
@@ -51,7 +49,7 @@
}; };
nixosConfigurations.bromine = nixpkgs.lib.nixosSystem { nixosConfigurations.bromine = nixpkgs.lib.nixosSystem {
specialArgs = { inherit system; inherit inputs; }; specialArgs = { system = linuxSystem; inherit inputs; };
modules = [ modules = [
nixos-hardware.nixosModules.framework-11th-gen-intel nixos-hardware.nixosModules.framework-11th-gen-intel
@@ -61,7 +59,7 @@
}; };
nixosConfigurations.caesium = nixpkgs.lib.nixosSystem { nixosConfigurations.caesium = nixpkgs.lib.nixosSystem {
specialArgs = { inherit system; inherit inputs; }; specialArgs = { system = linuxSystem; inherit inputs; };
modules = [ modules = [
nix-flatpak.nixosModules.nix-flatpak nix-flatpak.nixosModules.nix-flatpak
@@ -82,7 +80,7 @@
}; };
nixosConfigurations.caesium-wsl = nixpkgs.lib.nixosSystem { nixosConfigurations.caesium-wsl = nixpkgs.lib.nixosSystem {
specialArgs = { inherit system; inherit inputs; }; specialArgs = { system = linuxSystem; inherit inputs; };
modules = [ modules = [
nixos-wsl.nixosModules.default nixos-wsl.nixosModules.default
@@ -91,8 +89,8 @@
}; };
darwinConfigurations.cleo-darwin = darwin.lib.darwinSystem { darwinConfigurations.cleo-darwin = darwin.lib.darwinSystem {
specialArgs = { inherit system; inherit inputs; }; specialArgs = { system = darwinSystem; inherit inputs; };
system = "aarch64-darwin"; system = darwinSystem;
modules = [ modules = [
./cleo.darwin.nix ./cleo.darwin.nix
mac-app-util.darwinModules.default mac-app-util.darwinModules.default
@@ -108,15 +106,12 @@
}; };
darwinConfigurations.hydrogen = darwin.lib.darwinSystem { darwinConfigurations.hydrogen = darwin.lib.darwinSystem {
specialArgs = { inherit system; inherit inputs; }; specialArgs = { system = darwinSystem; inherit inputs; };
system = "aarch64-darwin"; system = darwinSystem;
modules = [ modules = [
./hydrogen.darwin.nix ./hydrogen.darwin.nix
mac-app-util.darwinModules.default mac-app-util.darwinModules.default
home-manager.darwinModules.home-manager home-manager.darwinModules.home-manager
# home-manager.sharedModules = [
# mac-app-util.homeManagerModules.default
# ]
{ {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
@@ -126,7 +121,5 @@
} }
]; ];
}; };
homeManagerModules.default = "./nixos-modules/home-manager";
}; };
} }