From aff29b3a6c99f040d13aad984b2d1cd55b01ae81 Mon Sep 17 00:00:00 2001 From: Matthew Bessette Date: Wed, 24 Jun 2026 13:55:25 -0400 Subject: [PATCH] fixes cleo-darwin --- .direnv/bin/nix-direnv-reload | 19 ------ .envrc | 1 - cleo.darwin.nix | 17 +++--- cleo.home.nix | 40 +++++++------ config.opencode.jsonc | 43 ++------------ config.vscode.settings.json | 1 + flake.lock | 105 +++++++++++++++++++--------------- flake.nix | 37 +++++------- 8 files changed, 109 insertions(+), 154 deletions(-) delete mode 100755 .direnv/bin/nix-direnv-reload delete mode 100644 .envrc diff --git a/.direnv/bin/nix-direnv-reload b/.direnv/bin/nix-direnv-reload deleted file mode 100755 index df53ef3..0000000 --- a/.direnv/bin/nix-direnv-reload +++ /dev/null @@ -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 diff --git a/.envrc b/.envrc deleted file mode 100644 index 3550a30..0000000 --- a/.envrc +++ /dev/null @@ -1 +0,0 @@ -use flake diff --git a/cleo.darwin.nix b/cleo.darwin.nix index 72f72ee..e6cfc9c 100644 --- a/cleo.darwin.nix +++ b/cleo.darwin.nix @@ -3,7 +3,6 @@ nixpkgs.overlays = [ inputs.nix-vscode-extensions.overlays.default ]; ids.gids.nixbld = 350; security.pam.services.sudo_local.touchIdAuth = true; - # 1Password SSH Socket environment.variables.SSH_AUTH_SOCK = "~/Library/Group Containers/2BU8OCWD5C.com.1password/t/agent.sock"; @@ -11,7 +10,7 @@ environment.variables.EDITOR = "vim"; environment.variables.VISUAL = "vim"; environment.variables.GIT_EDITOR = "vim"; - environment.variables.OPENCODE_CONFIG = "~/.config/opencode.jsonc"; + environment.variables.HOMEBREW_NO_ANALYTICS = "1"; # Add Homebrew to PATH environment.systemPath = [ "/opt/homebrew/bin" "/opt/homebrew/sbin" "/Users/matthew.bessette/.local/bin" ]; @@ -36,7 +35,11 @@ onActivation.cleanup = "uninstall"; onActivation.autoUpdate = true; onActivation.upgrade = true; - taps = [ "bufbuild/buf" "deskflow/tap" ]; + onActivation.extraFlags = [ "--force" ]; + # global.autoUpdate = true; + taps = [ + "bufbuild/buf" + ]; brews = [ "biome" @@ -47,8 +50,6 @@ ]; casks = [ - "deskflow" - # CLEO APP "zulu@17" "android-commandlinetools" @@ -56,16 +57,14 @@ ### "1password-cli" - "android-commandlinetools" - "android-platform-tools" "bruno" + "docker-desktop" "kopiaui" "libreoffice" "obsidian" "postico" - "signal" "spotify" - "yubico-yubikey-manager" + "yubico-yubikey-manager" "zoom" ]; }; diff --git a/cleo.home.nix b/cleo.home.nix index 3286bcd..072cf10 100644 --- a/cleo.home.nix +++ b/cleo.home.nix @@ -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.username = "matthew.bessette"; @@ -8,11 +15,7 @@ # Dev Specs python3 pipenv - nodejs_22 - yarn - jdk17 - - obsidian + opencode github-copilot-cli gh @@ -31,6 +34,13 @@ # pkg managers uv xcodes + + ## Tooling + fd + granted + ] ++ [ + oldPkgs.nodejs_22 + oldPkgs.yarn ]; # Enable direnv for automatic environment switching @@ -65,17 +75,6 @@ with pkgs.vscode-marketplace; [ 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; autosuggestion.enable = true; syntaxHighlighting.enable = true; + profileExtra = '' + eval "$(/opt/homebrew/bin/brew shellenv)" + ''; oh-my-zsh.enable = true; oh-my-zsh.theme = "robbyrussell"; oh-my-zsh.plugins = [ @@ -119,14 +121,16 @@ laws = "aws --endpoint=http://localhost:4566"; dev = "nix develop -c $SHELL"; nixos = "code ~/nixos"; + assume = "source assume"; }; }; home.sessionVariables = { # Points to the Homebrew location mentioned in your caveat 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"; + GRANTED_ALIAS_CONFIGURED = "true"; }; home.sessionPath = [ diff --git a/config.opencode.jsonc b/config.opencode.jsonc index 0b088b5..c0c0b33 100644 --- a/config.opencode.jsonc +++ b/config.opencode.jsonc @@ -2,38 +2,14 @@ "$schema": "https://opencode.ai/config.json", "model": "github-copilot/claude-sonnet-4.6", "instructions": [], - "provider": { - "germanium": { - "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" - } - } - } - }, + "provider": {}, + "lsp": true, "agent": { "build": { "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, @@ -44,15 +20,6 @@ "figma": { "type": "remote", "url": "http://127.0.0.1:3845/mcp" - }, - "contentful": { - "type": "remote", - "url": "https://mcp.contentful.com/mcp", - "oauth": {} - }, - "codecortex": { - "type": "local", - "command": ["codecortex", "serve"] } } } diff --git a/config.vscode.settings.json b/config.vscode.settings.json index 30368c1..8fa3c4e 100644 --- a/config.vscode.settings.json +++ b/config.vscode.settings.json @@ -35,6 +35,7 @@ "js/ts.updateImportsOnPaste.enabled": true, "js/ts.preferences.importModuleSpecifier": "relative", "git.openRepositoryInParentFolders": "never", + "git.detectWorktrees": true, "github.copilot.nextEditSuggestions.enabled": true, "chat.tools.terminal.autoApprove": { "yarn test": true, diff --git a/flake.lock b/flake.lock index ebfc49b..dd92d76 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1775037210, - "narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=", + "lastModified": 1779036909, + "narHash": "sha256-zXcwYQGCT6pzinK+1dBB2ekTVtfxGZAapb3Evdcu4fY=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "06648f4902343228ce2de79f291dd5a58ee12146", + "rev": "56c666e108467d87d13508936aade6d567f2a501", "type": "github" }, "original": { @@ -42,28 +42,6 @@ "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": false, "locked": { @@ -142,15 +120,16 @@ ] }, "locked": { - "lastModified": 1775427330, - "narHash": "sha256-pm1SDX9Tj4eHWwjtDEqSU+5QZO7nHHqU8GT0JtbI9rc=", + "lastModified": 1781981105, + "narHash": "sha256-/1nNBbA7PrSQpTc9Qazkhl4kIPg+TNl0CjxS3UQJKlw=", "owner": "nix-community", "repo": "home-manager", - "rev": "7e7269ac064bea120d7b23daed432a096617872d", + "rev": "7bfff44b465909f69a442701293bc0badcf476dc", "type": "github" }, "original": { "owner": "nix-community", + "ref": "release-26.05", "repo": "home-manager", "type": "github" } @@ -201,11 +180,11 @@ ] }, "locked": { - "lastModified": 1775358276, - "narHash": "sha256-TlWo4NYKlogZZ+EF1CCMz8J2L4Q+roBb8CE74ZPHBLE=", + "lastModified": 1780289349, + "narHash": "sha256-WtFLQ7R2bErvItKRgkYXqsm0s/cvDnx9fF4XniD3QxQ=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "cffd84d2e0ca47c61dc15b941e2383ca56106e05", + "rev": "f4e7a3b814e1df64804cc211f657e65a1e618695", "type": "github" }, "original": { @@ -215,12 +194,15 @@ } }, "nixos-hardware": { + "inputs": { + "nixpkgs": "nixpkgs_5" + }, "locked": { - "lastModified": 1775203647, - "narHash": "sha256-6MWaMLXK9QMndI94CIxeiPafi3wuO+imCtK9tfhsZdw=", + "lastModified": 1780310866, + "narHash": "sha256-fPBRVf6A5xlACYcOI59shGrjURuvwu0lRsDoSCEXt/I=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "80afbd13eea0b7c4ac188de949e1711b31c2b5f0", + "rev": "4ed851c979641e28597a05086332d75cdc9e395f", "type": "github" }, "original": { @@ -233,14 +215,14 @@ "nixos-wsl": { "inputs": { "flake-compat": "flake-compat_2", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1774972752, - "narHash": "sha256-DnLIpFxznohpLkIFs390uZ0gxwkVyhtknhKNu+lQJK8=", + "lastModified": 1780169171, + "narHash": "sha256-3HBYDfBgZ+ph52HS6Ks/bMMwuh2uONIT72sZ1CtLE/s=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "d97e078f4788cddb8d11c3c99f72a4bb9ddec221", + "rev": "998b2821c30b2938637230916904ceb8757c79e8", "type": "github" }, "original": { @@ -281,6 +263,22 @@ "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": { "locked": { "lastModified": 1761236834, @@ -331,11 +329,24 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1773734432, - "narHash": "sha256-IF5ppUWh6gHGHYDbtVUyhwy/i7D261P7fWD1bPefOsw=", + "lastModified": 1767892417, + "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", "repo": "nixpkgs", - "rev": "cda48547b432e8d3b18b4180ba07473762ec8558", + "rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786", "type": "github" }, "original": { @@ -345,13 +356,13 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { - "lastModified": 1775036866, - "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=", + "lastModified": 1779560665, + "narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e", + "rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786", "type": "github" }, "original": { @@ -364,14 +375,14 @@ "root": { "inputs": { "darwin": "darwin", - "firefox-addons": "firefox-addons", "home-manager": "home-manager", "mac-app-util": "mac-app-util", "nix-flatpak": "nix-flatpak", "nix-vscode-extensions": "nix-vscode-extensions", "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_7", + "nixpkgs-nodejs": "nixpkgs-nodejs" } }, "systems": { diff --git a/flake.nix b/flake.nix index c00a79f..89241d2 100644 --- a/flake.nix +++ b/flake.nix @@ -11,7 +11,7 @@ darwin.inputs.nixpkgs.follows = "nixpkgs"; home-manager = { - url = "github:nix-community/home-manager"; + url = "github:nix-community/home-manager/release-26.05"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -20,19 +20,18 @@ 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"; + + # 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: let - system = "x86_64-linux"; + linuxSystem = "x86_64-linux"; + darwinSystem = "aarch64-darwin"; pkgs = import nixpkgs { - inherit system; + system = linuxSystem; config = { allowUnfree = true; }; @@ -40,8 +39,7 @@ in { # Framework - argon nixosConfigurations.argon = nixpkgs.lib.nixosSystem { - - specialArgs = { inherit system; inherit inputs; }; + specialArgs = { system = linuxSystem; inherit inputs; }; modules = [ nixos-hardware.nixosModules.framework-12th-gen-intel @@ -51,7 +49,7 @@ }; nixosConfigurations.bromine = nixpkgs.lib.nixosSystem { - specialArgs = { inherit system; inherit inputs; }; + specialArgs = { system = linuxSystem; inherit inputs; }; modules = [ nixos-hardware.nixosModules.framework-11th-gen-intel @@ -61,7 +59,7 @@ }; nixosConfigurations.caesium = nixpkgs.lib.nixosSystem { - specialArgs = { inherit system; inherit inputs; }; + specialArgs = { system = linuxSystem; inherit inputs; }; modules = [ nix-flatpak.nixosModules.nix-flatpak @@ -82,7 +80,7 @@ }; nixosConfigurations.caesium-wsl = nixpkgs.lib.nixosSystem { - specialArgs = { inherit system; inherit inputs; }; + specialArgs = { system = linuxSystem; inherit inputs; }; modules = [ nixos-wsl.nixosModules.default @@ -91,8 +89,8 @@ }; darwinConfigurations.cleo-darwin = darwin.lib.darwinSystem { - specialArgs = { inherit system; inherit inputs; }; - system = "aarch64-darwin"; + specialArgs = { system = darwinSystem; inherit inputs; }; + system = darwinSystem; modules = [ ./cleo.darwin.nix mac-app-util.darwinModules.default @@ -108,15 +106,12 @@ }; darwinConfigurations.hydrogen = darwin.lib.darwinSystem { - specialArgs = { inherit system; inherit inputs; }; - system = "aarch64-darwin"; + specialArgs = { system = darwinSystem; inherit inputs; }; + system = darwinSystem; modules = [ ./hydrogen.darwin.nix mac-app-util.darwinModules.default home-manager.darwinModules.home-manager - # home-manager.sharedModules = [ - # mac-app-util.homeManagerModules.default - # ] { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; @@ -126,7 +121,5 @@ } ]; }; - - homeManagerModules.default = "./nixos-modules/home-manager"; }; }