Skip to content

Instantly share code, notes, and snippets.

@ph4un00b
Last active June 5, 2025 19:50
Show Gist options
  • Save ph4un00b/ddd0b5e29ecbae3706d6b0f4dcaa8941 to your computer and use it in GitHub Desktop.
Save ph4un00b/ddd0b5e29ecbae3706d6b0f4dcaa8941 to your computer and use it in GitHub Desktop.
{
description = "monterrelleno-mba17 nix-darwin system flake";
inputs = {
# este ghostty es uno exclusivo para mocos monterrey, un crack el tipito
# TODO: apreder lo minimo de objetive-c para usar el libghostty y sentirme sexy
# @see: https://ghostty.org/docs/about#libghostty
ghostty = {
url = "github:fightingdreamer/ghostty/v1.1.2-macos-12";
};
android-nixpkgs.url = "github:tadfisher/android-nixpkgs";
nix-homebrew.url = "github:zhaofengli-wip/nix-homebrew";
homebrew-core = {
url = "github:homebrew/homebrew-core";
flake = false;
};
homebrew-cask = {
url = "github:homebrew/homebrew-cask";
flake = false;
};
homebrew-bundle = {
url = "github:homebrew/homebrew-bundle";
flake = false;
};
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nix-darwin.url = "github:LnL7/nix-darwin";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
nixpkgs-24-11.url = "github:NixOS/nixpkgs/nixos-24.11";
};
outputs = inputs @ {
self,
nix-darwin,
nixpkgs,
ghostty,
nixpkgs-24-11,
nix-homebrew,
homebrew-core,
homebrew-cask,
homebrew-bundle,
...
}: let
brew =
nix-homebrew.darwinModules.nix-homebrew
{
# Install Homebrew under the default prefix
nix-homebrew.enable = true;
# Apple Silicon Only: Also install Homebrew under the default Intel prefix for Rosetta 2
nix-homebrew.enableRosetta = false;
# User owning the Homebrew prefix
nix-homebrew.user = "phau";
# Optional: Enable fully-declarative tap management
#
# With mutableTaps disabled, taps can no longer be added imperatively with `brew tap`.
mutableTaps = false;
nix-homebrew = {
# Optional: Declarative tap management
taps = {
"homebrew/homebrew-core" = homebrew-core;
"homebrew/homebrew-cask" = homebrew-cask;
"homebrew/homebrew-bundle" = homebrew-bundle;
};
};
};
configuration = {pkgs, fetchPypi, lib, ...}: {
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
# TODO: checar como hacerlo granularmente para dejar de ser un trolazo
nixpkgs.config.allowUnfree = true; # por el vscode!
# e; broken te permite compilar al chile y ver que pasa
# nixpkgs.config.allowBroken = true; # por el ghostty trucho para mocos monterrey
nixpkgs.overlays = [
(final: prev: {
# apple_sdk_10_15 = (import nixpkgs-24-11 {
# system = prev.system;
# config = { allowUnfree = true; };
# }).darwin.apple_sdk_10_15;
# ghostty =
# if prev.ghostty == null then null
# else prev.ghostty.overrideAttrs (old: {
# meta = old.meta // {
# platforms = old.meta.platforms ++ ["x86_64-darwin" "aarch64-darwin"];
# };
# });
podman_4_9_3 = prev.podman.overrideAttrs (oldAttrs: {
version = "4.9.3";
src = prev.fetchFromGitHub {
owner = "containers";
repo = "podman";
rev = "v4.9.3";
hash = "sha256-PdAXcXtc/Jl3ttWWB6TciiOwWescJ51Glhf2ZhOw550=";
};
vendorHash = null;
patches = [];
});
})
];
environment.systemPackages = [
# pkgs.xcbuild # aqui anda el xcrun, pero mejor no, todos los mac-tools parece mejor manejarlos en global... el p@to padre milei!.
pkgs.neovim
pkgs.atuin
# pkgs.yt-dlp
pkgs.streamlink
pkgs.flameshot
pkgs.jdk17
# TODO: checar como nixificar extensiones para vscode
pkgs.vscode
# [exeternal formatter] por que a linu le moja esta mina!
pkgs.alejandra
# browser
# pkgs.vivaldi no funka desde aquí! fallbackeando a brew
pkgs.cocoapods
# ponerle docker a esta mac, esta feo, probando un rato el podman :]
# la version > 4.93, no funka en monterrey ;[
pkgs.podman_4_9_3
# le pasamo el qemu para que lo use como backend podman 4
# desde la version 5 podman dropeo al qemu para usar el hw de los Mx para los mocos
pkgs.qemu
# discordio
pkgs.discord
# github cli
pkgs.gh
# esto puede ser un kilimbo si hay otras app que utilizen otras versiones?
pkgs.zig_0_13
# fancy terminal
# esta vaina esta rotta desde el nixon
# @see https://github.com/NixOS/nixpkgs/issues/388984
# usando la ayuda del pijón de linu ó fallbackeando a brew (nel el bre me pide >=ventura)
# inputs.ghostty.packages.${pkgs.system}.default
# inputs.ghostty.packages.x86_64-darwin.default
# pkgs.ghostty
# el ghosty trucho necesita el sdk 10.5.6 para copilar
#
# tried /nix/store/jpw2apglybgixjvwpaj7nm6aiq1qnjg8-apple-sdk-10.15.6/Platforms/MacOSX.platform/
# Developer/SDKs/MacOSX10.15.sdk//nix/store/jpw2apglybgixjvwpaj7nm6aiq1qnjg8-apple-sdk-10.15.6/
# Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/lib/system/libsystem_symptoms.tbd
#
# con nixon podes usar https://github.com/NixOS/nixpkgs/blob/nixos-24.11/pkgs/by-name/ap/apple-sdk/package.nix#L115
# pkgs.apple-sdk_10_15
# pkgs.ghostty
# esta invocation de linu esta muy puerka, TODO: entender
# (inputs.ghostty.packages.${pkgs.system}.default.overrideAttrs (oldAttrs: {
# meta = (oldAttrs.meta or {}) // {
# platforms = pkgs.lib.platforms.darwin ++ (oldAttrs.meta.platforms or []);
# };
# }))
# @see: https://eradman.com/entrproject/
# lo usamos para correr los test
pkgs.entr
];
# DOCS:
# $ man 5 configuration.nix
# OR
# $ darwin-help
# OR
# @see https://mynixos.com/search?q=darwin
system.defaults = {
dock.autohide = true;
dock.mru-spaces = false;
dock.expose-animation-duration = 0.0;
dock.tilesize = 256;
finder.AppleShowAllExtensions = true;
finder.AppleShowAllFiles = true;
finder.FXPreferredViewStyle = "clmv"; # Default Finder folder: columns view
finder.FXDefaultSearchScope = "SCcf";
loginwindow.LoginwindowText = "tu vieja en bombachita!";
loginwindow.GuestEnabled = false;
screencapture.location = "~/Pictures/shots";
screensaver.askForPasswordDelay = 10;
NSGlobalDomain.AppleICUForce24HourTime = true;
NSGlobalDomain.AppleInterfaceStyle = "Dark";
NSGlobalDomain.KeyRepeat = 2;
NSGlobalDomain._HIHideMenuBar = true;
NSGlobalDomain.NSAutomaticCapitalizationEnabled = false;
NSGlobalDomain.NSAutomaticDashSubstitutionEnabled = false;
NSGlobalDomain.NSAutomaticPeriodSubstitutionEnabled = false;
NSGlobalDomain.NSAutomaticQuoteSubstitutionEnabled = false;
NSGlobalDomain.NSAutomaticSpellingCorrectionEnabled = false;
};
# TODO: investigar otros hooks existentes
system.activationScripts.postFlake.text = ''
# esto no funka linu!
# pero el postflake me lo saque del orto de un ia a la lowiq
PP='\033[0;35m'
DONE='\033[0m'
echo -e "''${PP}esto va al final?????''${DONE}"
'';
system.activationScripts.postUserActivation.text = ''
# RED='\033[0;31m' # interesante que el nixos se queja que no lo usamos la env-var RED.
PP='\033[0;35m'
DONE='\033[0m'
echo -e "''${PP}holis... aquí inicia lo delicioso?''${DONE}"
'';
# linu se puede namespaciar los scripts para no tener todos en un solo taco todo inmundo?
system.activationScripts.preUserActivation.text = ''
if ! ~/.puro/bin/puro ls-versions; then
curl -o- https://puro.dev/install.sh | PURO_VERSION="1.4.6" bash
~/.puro/bin/puro ls-versions
~/.puro/bin/puro create prod 3.24.5
~/.puro/bin/puro use -g prod
fi
if ! xcode-select --version 2>/dev/null; then
run echo "ponele el xcode y el xcode-select --install bolude!"
fi
'';
homebrew.enable = true;
# "mas" necesita xcode, la concha de la lora!
homebrew.brews = ["mas" "trash" "yt-dlp"];
# el zed de pkgs es otro coso D:<
homebrew.casks =
["iina" "zed" "google-chrome" "camtasia" "vivaldi" "alfred@4"]
# ++ [ "hammerspoon" "the-unarchiver" ];
#
# para flutter lo manejamos globalmente desde el android studio
# 1. instalar los command-line tools desde android studio
# 2. instalar los platform tools desde android studio
# 3. actualizar el sdk del flutter: $ puro flutter config --android-sdk ~/Library/Android/sdk/
# 4. $ puro flutter doctor --android-licenses
# ++ [ "android-studio" "android-ndk" "android-commandlinetools" "android-platform-tools"];
++ ["android-studio" "android-ndk"];
homebrew.onActivation.cleanup = "zap"; # se folla lo que no esta declarado
homebrew.onActivation.autoUpdate = false; # actualiza en cada rebuild
homebrew.onActivation.upgrade = false; # lo que funka funka papu :v
homebrew.extraConfig = ''
# pa que lo carge el spotlight bien ricardo :d
cask_args appdir: "/Applications"
'';
environment.variables = {
EDITOR = "zed";
JAVA_HOME = "${pkgs.jdk17.home}";
# @see: $ brew info android-commandlinetools
# ANDROID_SDK = "/usr/local/share/android-commandlinetools";
ANDROID_NDK_HOME = "/usr/local/share/android-ndk";
};
# instalar xcode en modo normie aka globalmente
# @see https://xcodereleases.com
# es un kilombo nixificar xcode
# mocos funciona con una idea de global state en unos cosos
# homebrew.masApps = { Xcode = 497799835; };
fonts.packages = [
pkgs.nerd-fonts.jetbrains-mono
];
# Necessary for using flakes on this system.
nix.settings.experimental-features = ["nix-command" "flakes"];
# nix.settings = {
# experimental-features = [
# "nix-command"
# "flakes"
# "ca-derivations"
# "auto-allocate-uids"
# "cgroups"
# "pipe-operators"
# "impure-derivations"
# ];
# };
# Enable alternative shell support in nix-darwin.
programs.fish.enable = true;
programs.fish.loginShellInit = "set -U fish_user_paths /Users/phau/.puro/envs/prod/flutter/bin $fish_user_paths";
programs.fish.shellAliases = {
# en una nueva ventanika van a estar disponibles los aliases!
# hacete las carpetas antes boludo!
p = "cd ~/projects";
# hay que recordar a las viejas confiables :]
skitch = "flameshot";
rm = "/usr/local/opt/trash/bin/trash -v";
t = "/usr/local/opt/trash/bin/trash -l";
# flutter
puro = "~/.puro/bin/puro";
};
# Set Git commit hash for darwin-version.
system.configurationRevision = self.rev or self.dirtyRev or null;
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
system.stateVersion = 5;
# The platform the configuration will be used on.
nixpkgs.hostPlatform = "x86_64-darwin";
};
in {
# Build darwin flake using:
# $ darwin-rebuild build --flake .#kaka
darwinConfigurations."kaka" = nix-darwin.lib.darwinSystem {
modules = [
configuration
nix-homebrew.darwinModules.nix-homebrew
{
nix-homebrew = {
# Install Homebrew under the default prefix
enable = true;
# Apple Silicon Only: Also install Homebrew under the default Intel prefix for Rosetta 2
enableRosetta = false;
# User owning the Homebrew prefix
user = "phau";
# Optional: Declarative tap management
taps = {
"homebrew/homebrew-core" = homebrew-core;
"homebrew/homebrew-cask" = homebrew-cask;
"homebrew/homebrew-bundle" = homebrew-bundle;
};
# Optional: Enable fully-declarative tap management
#
# With mutableTaps disabled, taps can no longer be added imperatively with `brew tap`.
mutableTaps = false;
};
}
];
};
darwinPackages = self.darwinConfigurations."kaka".pkgs;
};
}
# nix run nixpkgs#home-manager -- switch -b backup --flake ~/.config/home-manager -v
{ config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "f";
home.homeDirectory = "/home/f";
home.sessionVariables = {
EDITOR = "zed";
VISUAL = "zed";
TERM = "ghostty";
TERMINAL = "ghostty";
};
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
# introduces backwards incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "24.11"; # Please read the comment before changing.
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = [
# # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run.
# pkgs.hello
# # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
# # fonts?
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
(pkgs.writeShellScriptBin "my-hello" ''
echo "Hello, ${config.home.username}!"
'')
(pkgs.writeShellScriptBin "my-puro" ''
if ! ~/.puro/bin/puro ls-versions; then
curl -o- https://puro.dev/install.sh | PURO_VERSION="1.4.10" bash
~/.puro/bin/puro ls-versions
~/.puro/bin/puro create prod 3.27.4 # dart 3.6.2
~/.puro/bin/puro use -g prod
fi
'')
# puro upgrade prod 3.27.4
(pkgs.writeShellScriptBin "my-puro-up" ''
~/.puro/bin/puro upgrade prod 3.27.4
'')
pkgs.micro
pkgs.devenv
# pkgs.git
# pkgs.ghostty
# pkgs.yazi
# pkgs.gtk3
# pkgs.gtk3-x11
# pkgs.zig_0_13 # for ghostty # installing from snapd (for linuc mint)
pkgs.xan # no se pero creo que el al mainteinar orginal de xsv le dio la depre
# pkgs.zed-editor # unstable from nix @see: https://zed.dev/docs/linux
pkgs.difftastic # using external, due to my fzf function not working properly
pkgs.firebase-tools
pkgs.less # for ff
# pkgs.localsend # flutter apps, have some problems from nix, install globally atm
pkgs.yay # yay -S localsend-bin
pkgs.fabric-ai
pkgs.uv # for python stuff
pkgs.bat # cat
# pkgs.podman
# pkgs.qemu
# pkgs.virtiofsd
pkgs.lynx # curl ofivirtual.top | lynx -stdin -dump | bat -S
pkgs.atuin
];
# dconf.settings = {
# "org/gnome/desktop/default/applications/terminal" = {
# exec = "ghostty";
# # exec-arg = "-e";
# };
#
# "org.cinnamon.desktop.default-applications.terminal" = {
# exec = "ghostty";
# };
# "org.gnome.desktop.default-applications.terminal" = {
# exec = "ghostty";
# };
# };
# xdg.configFile."ghostty/config".text = ''
# font-family = "PragmataPro Mono Liga"
# font-size = 19
#
# # theme = "nord"
# # theme = catppuccin-frappe
# # theme = "catppuccin-mocha"
# theme = GruvboxDark
#
# window-vsync = false
# window-decoration = false
# '';
xdg.configFile."ghostty/config".text = ''
# Font
font-family = "Maple Mono"
font-size = 18
font-feature = calt
font-feature = ss03
bold-is-bright = false
selection-invert-fg-bg = true
# Theme
theme = "VibrantInk"
background-opacity = 0.63
cursor-style = bar
cursor-style-blink = false
adjust-cursor-thickness = 1
resize-overlay = never
copy-on-select = false
confirm-close-surface = false
mouse-hide-while-typing = true
window-theme = ghostty
# window-padding-x = 4
# window-padding-y = 6
window-padding-balance = true
window-padding-color = background
window-inherit-working-directory = true
window-inherit-font-size = true
window-decoration = false
gtk-titlebar = true
gtk-single-instance = false
gtk-tabs-location = bottom
gtk-wide-tabs = false
auto-update = off
term = ghostty
clipboard-paste-protection = false
'';
xdg.configFile."ghostty/themes/gruvbox".text = ''
background = #1d2021
foreground = #fbf1c7
palette = 0=#32302f
palette = 1=#cc241d
palette = 2=#98971a
palette = 3=#d79921
palette = 4=#458588
palette = 5=#b16286
palette = 6=#689d6a
palette = 7=#ebdbb2
palette = 8=#928374
palette = 9=#fb4934
palette = 10=#b8bb26
palette = 11=#fabd2f
palette = 12=#83a598
palette = 13=#d3869b
palette = 14=#8ec07c
palette = 15=#fbf1c7
cursor-color = #D5C4A1
selection-foreground = #282828
selection-background = #98971A
'';
# programs.zed-editor = {
# enable = true;
# # userSettings = ''
# # {
# # features = {
# # copilot = false;
# # };
# # telemetry = {
# # metrics = false;
# # };
# # vim_mode = false;
# # ui_font_size = 19;
# # buffer_font_size = 19;
# # }
# # '';
# extensions = [ "dart" "nix" ];
# };
programs.fzf.enable = false;
# programs.git.delta.enable = true;
# programs.git.delta.options.syntax-theme = "base16";
# programs.git.difftastic.enable = true;
# programs.git.difftastic.background = "dark";
programs.eza.enable = true;
programs.eza.git = true;
programs.git.enable = true;
# programs.git.extraConfig.diff.colorMoved = "zebra";
programs.git.extraConfig.diff.renames = "copy";
programs.git.aliases = {
fixup = "!git log -n 50 --pretty=format:'%h %s' --no-merges | fzf | cut -c -7 | xargs -o git commit --fixup";
ff = "-c diff.external=difft diff";
};
programs.git.aliases.lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
programs.git.aliases.tree = "log --graph --pretty=format:'%C(auto)%h - %s [%an] (%C(blue)%ar)%C(auto)%d'";
# programs.git.signing.key = null; # let gpg decide at runtime
# programs.git.signing.signByDefault = true;
programs.git.userEmail = "[email protected]";
programs.git.userName = "phau";
programs.git.extraConfig.init.defaultBranch = "master";
programs.git.extraConfig.safe.directory = "/";
programs.git.extraConfig.merge.conflictstyle = "zdiff3";
# programs.git.extraConfig.pull.rebase = "true";
# programs.git.extraConfig.push.default = "nothing";
# programs.git.extraConfig.rebase.autosquash = true;
programs.git.extraConfig.rerere.enabled = true;
programs.git.extraConfig.status.branch = true;
programs.git.extraConfig.status.short = true;
programs.git.extraConfig.status.showUntrackedFiles = "all";
programs.git.extraConfig.status.submoduleSummary = true;
programs.yazi.enable = true;
programs.yazi.enableFishIntegration = true;
programs.yazi.package = pkgs.yazi;
programs.yazi.settings.log.enabled = true;
programs.yazi.settings.manager.show_hidden = true;
programs.yazi.settings.manager.sort_by = "alphabetical";
programs.yazi.settings.manager.sort_dir_first = true;
programs.yazi.settings.manager.sort_reverse = false;
programs.yazi.settings.manager.linemode = "size";
programs.yazi.settings.manager.show_symlink = true;
# @see https://thenegation.com/posts/custom-gh-ext/
# @todo @see https://github.com/topics/gh-extension
programs.gh = {
enable = true;
settings = {
editor = "zeditor";
aliases = {
co = "pr checkout";
pv = "pr view";
};
};
extensions = [
pkgs.gh-s
(pkgs.writeShellApplication {
name = "gh-list-my-repos";
derivationArgs = {
pname = "gh-list-my-repos"; # use it like $ gh list-my-repos
};
runtimeInputs = [ pkgs.gh pkgs.xan ];
text = ''
#!/usr/bin/env bash
gh api \
user/repos \
--method GET \
--raw-field type=owner \
--paginate \
--jq '.[]|[.full_name,.url]|@csv' |
xan view
'';
})
];
};
programs.fish.enable = true;
programs.fish.loginShellInit = "set -U fish_user_paths /home/f/.puro/envs/prod/flutter/bin (go env GOBIN)";
programs.fish.functions = {
fff.body = ''
git diff $argv --name-only | fzf -m --ansi --preview "git diff $argv --color=always -- {-1}"
'';
};
programs.fish.shellAliases = {
# en una nueva ventanika van a estar disponibles los aliases!
# hacete las carpetas antes boludo!
p = "cd ~/projects";
c = "clear";
# hay que recordar a las viejas confiables :]
# skitch = "flameshot";
# rm = "/usr/local/opt/trash/bin/trash -v";
# t = "/usr/local/opt/trash/bin/trash -l";
# flutter
puro = "~/.puro/bin/puro";
cp = "cp --verbose";
ln = "ln --verbose";
mv = "mv --verbose";
rm = "rmdir --verbose";
mkdir = "mkdir --verbose";
rename = "rename --verbose";
# Add Color
grep = "grep --color=auto";
ip = "ip --color=auto";
# Use exa/eza
tree = "eza --tree";
# cositas
ff = "git ff";
ls = "eza -la --sort modified --reverse"; # my old ls -lahrt ftw!
ZZ = "exit";
cat = "bat";
pushhome = "gh gist edit ddd0b5e29ecbae3706d6b0f4dcaa8941 -f mint-home.nix ~/.config/home-manager/home.nix";
};
# programs.vscode = {
# enable = true;
# enableUpdateCheck = false;
# package = pkgs.vscode;
# extensions = with pkgs.vscode-extensions; [
# vscodevim.vim
# jnoortheen.nix-ide
# oderwat.indent-rainbow
# arrterian.nix-env-selector
# ms-python.python
# ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
# {
# name = "vscode-icons";
# publisher = "vscode-icons-team";
# version = "12.2.0";
# sha256 = "sha256-PxM+20mkj7DpcdFuExUFN5wldfs7Qmas3CnZpEFeRYs=";
# }
# {
# name = "ayu";
# publisher = "teabyii";
# version = "1.0.5";
# sha256 = "sha256-+IFqgWliKr+qjBLmQlzF44XNbN7Br5a119v9WAnZOu4=";
# }
# ];
home.shell.enableFishIntegration = true;
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
};
home.activation = {
# linkDesktopApplications = {
# after = [ "writeBoundary" "createXdgUserDirectories" ];
# before = [ ];
# data = "/usr/bin/sudo /usr/bin/chmod -R 777 $HOME/.nix-profile/share/applications && /usr/bin/update-desktop-database $HOME/.nix-profile/share/applications";
# };
setCinnamonTerminal = ''
/usr/bin/gsettings set org.cinnamon.desktop.default-applications.terminal exec 'ghostty'
'';
setDefaultTerminal = ''
/usr/bin/gsettings set org.gnome.desktop.default-applications.terminal exec 'ghostty'
'';
};
# Home Manager can also manage your environment variables through
# 'home.sessionVariables'. These will be explicitly sourced when using a
# shell provided by Home Manager. If you don't want to manage your shell
# through Home Manager then you have to manually source 'hm-session-vars.sh'
# located at either
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/y/etc/profile.d/hm-session-vars.sh
#
home.sessionVariables = {
# EDITOR = "emacs";
# CHROME_EXECUTABLE = "/var/lib/flatpak/app/io.github.ungoogled_software.ungoogled_chromium/x86_64/stable/active/export/bin/io.github.ungoogled_software.ungoogled_chromium";
CHROME_EXECUTABLE = "/sbin/chromium";
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}
@ph4un00b
Copy link
Author

totally right @fightingdreamer this did the trick on my end

nix develop -c \
      zig build \
      -Doptimize=ReleaseFast \
      -Dversion-string=1.1.0

then

xcodebuild -target Ghostty -configuration Release

after fetching the sparkle dep from xcode
https://github.com/ghostty-org/ghostty/blob/4e10f972df556ecdf5b97090ef605f83188a23d7/.github/workflows/release-tag.yml#L144

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment