darwin compatibility logic & darwin mcp

This commit is contained in:
Danilo Reyes
2026-03-18 15:58:19 -06:00
parent 9c6f17f113
commit 29bb85b5c9
6 changed files with 93 additions and 47 deletions

View File

@@ -1,11 +1,22 @@
{
inputs,
pkgs,
...
}:
{
home = {
username = "cdreyes";
homeDirectory = "/Users/cdreyes";
username = "carlosdaniloreyesmartinez";
homeDirectory = "/Users/carlosdaniloreyesmartinez";
packages = [ pkgs.google-cloud-sdk ];
};
programs = {
starship.enable = true;
kitty = {
enable = true;
shellIntegration.enableBashIntegration = false;
shellIntegration.enableZshIntegration = true;
settings.term = "xterm-256color";
};
};
my = import ./toggles.nix { inherit inputs; };
}

View File

@@ -5,28 +5,47 @@
emacsExtraConfig,
emacsExtraPackages,
}:
let
clipboardPackages =
if pkgs.stdenv.isDarwin then
builtins.attrValues {
inherit (pkgs) pngpaste;
}
else
builtins.attrValues {
inherit (pkgs)
xclip
wl-clipboard-rs
;
};
linuxWindowPackages = lib.optionals pkgs.stdenv.isLinux (
builtins.attrValues {
inherit (pkgs.xorg) xwininfo;
inherit (pkgs) xdotool;
}
);
in
{
packages = builtins.attrValues {
inherit (pkgs.xorg) xwininfo;
inherit (pkgs)
xdotool
xclip
wl-clipboard-rs
fd
fzf
ripgrep
tree-sitter
graphviz
tetex
languagetool
yaml-language-server
markdownlint-cli
;
inherit (pkgs.nodePackages)
vscode-json-languageserver
prettier
;
};
packages =
linuxWindowPackages
++ clipboardPackages
++ builtins.attrValues {
inherit (pkgs)
fd
fzf
ripgrep
tree-sitter
graphviz
tetex
languagetool
yaml-language-server
markdownlint-cli
;
inherit (pkgs.nodePackages)
vscode-json-languageserver
prettier
;
};
extraPackages =
epkgs:
let

View File

@@ -111,9 +111,11 @@ in
fi
''
''
if command -v fzf-share >/dev/null; then
source "$(fzf-share)/key-bindings.bash"
source "$(fzf-share)/completion.bash"
if [ -f "${pkgs.fzf}/share/fzf/key-bindings.zsh" ]; then
source "${pkgs.fzf}/share/fzf/key-bindings.zsh"
fi
if [ -f "${pkgs.fzf}/share/fzf/completion.zsh" ]; then
source "${pkgs.fzf}/share/fzf/completion.zsh"
fi
'';
};

View File

@@ -9,7 +9,10 @@ let
};
in
{
systems = [ system ];
systems = [
system
"aarch64-darwin"
];
flake = {
lib = {
commonOverlays = mkpkgs: inputs: [

View File

@@ -1,16 +1,23 @@
{ inputs, ... }:
{
perSystem = _: {
devShells =
let
hostShells = inputs.self.nixosConfigurations.emacs.config.devShells;
in
inputs.self.lib.langList
|> builtins.filter (name: hostShells ? ${name})
|> map (name: {
inherit name;
value = hostShells.${name};
})
|> builtins.listToAttrs;
};
perSystem =
{ pkgs, ... }:
{
devShells =
if pkgs.stdenv.isLinux then
let
hostShells = inputs.self.nixosConfigurations.emacs.config.devShells;
in
inputs.self.lib.langList
|> builtins.filter (name: hostShells ? ${name})
|> map (name: {
inherit name;
value = hostShells.${name};
})
|> builtins.listToAttrs
else
{
mcp = (import ../modules/dev/mcp/common.nix { inherit pkgs inputs; }).devShell;
};
};
}

View File

@@ -52,12 +52,16 @@
};
in
{
packages = (inputs.jawz-scripts.packages.${system} or { }) // {
emacs-vm = inputs.self.nixosConfigurations.emacs.config.system.build.vm;
vps-linode = vpsLinodeConfig.config.system.build.images.linode;
mcp-tests = mcpTests;
nixos-mcp = nixosMcp;
nixos-mcp-server = mcpServerPkg;
};
packages =
(inputs.jawz-scripts.packages.${system} or { })
// {
mcp-tests = mcpTests;
nixos-mcp = nixosMcp;
nixos-mcp-server = mcpServerPkg;
}
// pkgs.lib.optionalAttrs pkgs.stdenv.isLinux {
emacs-vm = inputs.self.nixosConfigurations.emacs.config.system.build.vm;
vps-linode = vpsLinodeConfig.config.system.build.images.linode;
};
};
}