From 0c8fa3a2a270747f3dbb54fe8792f3f0aec997e3 Mon Sep 17 00:00:00 2001 From: Ryan Schanzenbacher Date: Mon, 3 Aug 2026 01:22:44 -0400 Subject: Initial commit: combined darwin + guix-linux home-manager flake Supersedes nix-dotfiles (darwin) and guix-dotfiles' ad-hoc nix-home-manager flake (linux). See README.md/MIGRATION.md. --- users/ryan/darwin.nix | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 users/ryan/darwin.nix (limited to 'users/ryan/darwin.nix') diff --git a/users/ryan/darwin.nix b/users/ryan/darwin.nix new file mode 100644 index 0000000..72467ee --- /dev/null +++ b/users/ryan/darwin.nix @@ -0,0 +1,68 @@ +{ config, pkgs, lib, ... }: + +{ + imports = [ + ./modules/sketchybar + ./modules/simple-bar + ./modules/taskwarrior-ubersicht + ./modules/ubersicht + ]; + + home.stateVersion = "26.05"; # Please read the comment before changing. + + ryan.sketchybar.enable = true; + + programs.zen-browser = { + package = null; # managed via homebrew + darwinDefaultsId = "app.zen-browser.zen"; + }; + + # Need special config for gpg-agent on macOS + home.file.".gnupg/gpg-agent.conf".text = '' + pinentry-program ${pkgs.pinentry_mac}/Applications/pinentry-mac.app/Contents/MacOS/pinentry-mac + enable-ssh-support + ''; + + # Add hammerspoon + home.file.".hammerspoon".source = ./hammerspoon; + + home.packages = with pkgs; [ + bat + pass + pandoc + iina # Media player (frontend to mpv essentially) + audacity + ffmpeg + blender + nerd-fonts.anonymice + jujutsu + netbird-tui + # common.nix's programs.git.settings now sets filter.lfs (merged from + # guix-dotfiles' .gitconfig) - Guix's package list already has git-lfs, + # darwin needs its own copy or LFS checkouts hard-fail. + git-lfs + ]; + + # Install User apps to subdir for dock stuff + targets.darwin.linkApps.directory = "Applications/User Apps"; + + # Symlink System apps into the user apps "system" dir + home.activation.linkSystemApps = lib.hm.dag.entryAfter ["writeBoundary"] '' + if [[ -z "$HOME" ]]; then + echo "ERROR: HOME was not defined. This should not happen. Bailing! ">&2 + exit 1 + fi + + $DRY_RUN_CMD mkdir -p "$HOME/Applications/System Apps" + + $DRY_RUN_CMD rm -rf "$HOME/Applications/System Apps/"*.app + + $DRY_RUN_CMD find /Applications /System/Applications -maxdepth 2 -name "*.app" \ + -prune -exec ln -sf {} "$HOME/Applications/System Apps/" \; + ''; + + # Restart gpg-agent + home.activation.restartGpgAgent = lib.hm.dag.entryAfter ["writeBoundary"] '' + $DRY_RUN_CMD ${pkgs.gnupg}/bin/gpgconf --kill gpg-agent || true + ''; +} -- cgit v1.3.1