From b0fb268d773fb88836343c393fd66733a2b26dc3 Mon Sep 17 00:00:00 2001 From: sloane ess Date: Sun, 21 Jul 2024 00:25:16 -0400 Subject: [PATCH] Handle term theming with theme.sh --- flake.lock | 92 +----------- flake.nix | 3 - home/default.nix | 1 - home/extras/fish/auto-theme.nix | 114 +++++++++++++++ home/extras/kitty/auto-theme.nix | 86 ----------- home/extras/kitty/nerd-font.nix | 27 ---- home/fish.nix | 240 ++++++++++++------------------- home/ghostty.nix | 7 +- home/helix.nix | 3 +- home/kitty.nix | 73 ---------- home/programs.nix | 2 + pkgs/default.nix | 7 - 12 files changed, 212 insertions(+), 443 deletions(-) create mode 100644 home/extras/fish/auto-theme.nix delete mode 100644 home/extras/kitty/auto-theme.nix delete mode 100644 home/extras/kitty/nerd-font.nix delete mode 100644 home/kitty.nix diff --git a/flake.lock b/flake.lock index 1d8a012..26ec270 100644 --- a/flake.lock +++ b/flake.lock @@ -1,20 +1,5 @@ { "nodes": { - "cl-nix-lite": { - "locked": { - "lastModified": 1717972076, - "narHash": "sha256-hnZEsDInTcsVSL5LBGDAZegAxVLBus/wiJh+sNM15zU=", - "owner": "hraban", - "repo": "cl-nix-lite", - "rev": "cc920bfb0a6402d3871f470c98d65266126973e4", - "type": "github" - }, - "original": { - "owner": "hraban", - "repo": "cl-nix-lite", - "type": "github" - } - }, "crane": { "inputs": { "nixpkgs": [ @@ -153,23 +138,6 @@ } }, "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1697816753, - "narHash": "sha256-40to80AEIyKCQI0xMKCeF5ePoIKTYgjVVCZeu4CnTxM=", - "owner": "hraban", - "repo": "flake-compat", - "rev": "6025bade1336a36014639bc3f67eacc853dab78f", - "type": "github" - }, - "original": { - "owner": "hraban", - "ref": "fixed-output", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_2": { "flake": false, "locked": { "lastModified": 1696426674, @@ -266,23 +234,6 @@ "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, - "original": { - "id": "flake-utils", - "type": "indirect" - } - }, - "flake-utils_3": { - "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, "original": { "owner": "numtide", "repo": "flake-utils", @@ -399,32 +350,9 @@ "type": "github" } }, - "mac-app-util": { - "inputs": { - "cl-nix-lite": "cl-nix-lite", - "flake-compat": "flake-compat", - "flake-utils": "flake-utils_2", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1719942949, - "narHash": "sha256-srSQac7dhXtisqu4XwPGrK8qcmT2rflJJ1mRIV9j0Qk=", - "owner": "hraban", - "repo": "mac-app-util", - "rev": "63f269f737cafb2219ba38780c1ecb1dc24bc4a2", - "type": "github" - }, - "original": { - "owner": "hraban", - "repo": "mac-app-util", - "type": "github" - } - }, "nil": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "nixpkgs": [ "nixpkgs" ], @@ -566,7 +494,7 @@ }, "pre-commit": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat", "gitignore": "gitignore", "nixpkgs": [ "nixpkgs" @@ -602,7 +530,6 @@ "home-manager": "home-manager", "homebrew-enabled": "homebrew-enabled", "ia-writer-family-src": "ia-writer-family-src", - "mac-app-util": "mac-app-util", "nil": "nil", "nix-darwin": "nix-darwin", "nixd": "nixd", @@ -709,21 +636,6 @@ "type": "github" } }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "terminal-themes": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index e9de605..5adcf56 100644 --- a/flake.nix +++ b/flake.nix @@ -15,8 +15,6 @@ disko.url = "github:nix-community/disko"; disko.inputs.nixpkgs.follows = "nixpkgs"; ghostty.url = "github:clo4/ghostty-hm-module"; - mac-app-util.url = "github:hraban/mac-app-util"; - mac-app-util.inputs.nixpkgs.follows = "nixpkgs"; # "flag" for toggling homebrew operations # https://www.mat.services/posts/command-line-flake-arguments/ @@ -36,7 +34,6 @@ ia-writer-family-src.url = "github:iaolo/iA-Fonts"; ia-writer-family-src.flake = false; - # standard kitty terminal themes terminal-themes.url = "github:mbadolato/iTerm2-Color-Schemes"; terminal-themes.flake = false; diff --git a/home/default.nix b/home/default.nix index bd323eb..3987a4d 100644 --- a/home/default.nix +++ b/home/default.nix @@ -14,7 +14,6 @@ ./ghostty.nix ./git.nix ./helix.nix - ./kitty.nix ./pijul.nix ./ssh.nix ./starship.nix diff --git a/home/extras/fish/auto-theme.nix b/home/extras/fish/auto-theme.nix new file mode 100644 index 0000000..61c1193 --- /dev/null +++ b/home/extras/fish/auto-theme.nix @@ -0,0 +1,114 @@ +{ + config, + pkgs, + lib, + ... +}: +let + cfg = config.programs.fish; +in +{ + options.programs.fish = { + autoTheme = { + enable = lib.mkEnableOption "Automatically change terminal and shell themes with night mode"; + light = lib.mkOption { + type = lib.types.str; + description = "Light mode theme"; + }; + dark = lib.mkOption { + type = lib.types.str; + description = "Dark mode theme"; + }; + }; + }; + + config = lib.mkIf (cfg.enable && cfg.autoTheme.enable) { + programs.fish = { + shellInit = '' + set -g theme_dark "${config.programs.fish.autoTheme.dark}" + set -g theme_light "${config.programs.fish.autoTheme.light}" + set-background-to-system + ''; + interactiveShellInit = '' + set-shell-colors + set-term-colors + ''; + functions = + { + # toggles `$term_background` between "light" and "dark". other Fish functions trigger when this + # variable changes. we use a universal variable so that all instances of Fish have the same + # value for the variable. + toggle-background.body = '' + if test "$term_background" = light + set -U term_background dark + else + set -U term_background light + end + ''; + + # set `$term_background` based on whether macOS is light or dark mode + set-background-to-system.body = '' + if is-dark-mode + set -U term_background dark + else + set -U term_background light + end + ''; + + # set `$term_background` based on an env var + set-background-to-env = { + argumentNames = [ "env_var" ]; + body = '' + switch $$env_var + case 1 + echo "Setting dark mode" + set -U term_background dark + case 0 + echo "Setting light mode" + set -U term_background light + end + ''; + }; + + # sets shell utilities to light or dark colorscheme based on `$term_background`. + set-shell-colors = { + body = '' + # Use correct theme for `btm` and `bat` + if test "$term_background" = light + alias btm "btm --color nord-light" + set -xg BAT_THEME OneHalfLight + else + alias btm "btm --color nord" + set -xg BAT_THEME OneHalfDark + end + # Set LS_COLORS + set -xg LS_COLORS (${pkgs.vivid}/bin/vivid generate one-$term_background) + ''; + onVariable = "term_background"; + }; + + # use theme.sh to update terminal colors + set-term-colors = { + body = '' + set -l theme theme_$term_background + theme.sh $$theme + ''; + onVariable = "term_background"; + }; + + # do i need to implement for linux? + is-dark-mode = abort "is-dark-mode is not defined on ${pkgs.stdenv.system} yet.}"; + } + // lib.optionalAttrs pkgs.stdenv.isDarwin { + # determine if dark mode is active + is-dark-mode.body = '' + defaults read -g AppleInterfaceStyle &>/dev/null + ''; + }; + shellAbbrs = { + tb = "toggle-background"; + sb = "set-background-to-system"; + }; + }; + }; +} diff --git a/home/extras/kitty/auto-theme.nix b/home/extras/kitty/auto-theme.nix deleted file mode 100644 index 31f107b..0000000 --- a/home/extras/kitty/auto-theme.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: -let - cfg = config.programs.kitty; - # helper scripts for changing kitty colors - term-background = pkgs.writeShellScriptBin "term-background" '' - # Accepts the name of a theme file in color-pkg - # If shell is running in a Kitty window set the colors. - if [ -n "$KITTY_WINDOW_ID" ]; then - kitty @ --to $KITTY_LISTEN_ON set-colors --all --configured \ - ${cfg.colors.colors-path}/"$1".conf & - fi - ''; - term-light = pkgs.writeShellScriptBin "term-light" '' - ${term-background}/bin/term-background ${cfg.colors.light-name} - ''; - term-dark = pkgs.writeShellScriptBin "term-dark" '' - ${term-background}/bin/term-background ${cfg.colors.dark-name} - ''; -in -{ - options.programs.kitty = { - colors = { - enable = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - When enabled, commands term-dark and term-light - will toggle between your dark and a light colors. - - There is also term-background which accepts one argument, the name - of the theme. - - (Note that the Kitty setting allow_remote_control = true is set to - enable this functionality.) - ''; - }; - - colors-path = lib.mkOption { - type = lib.types.path; - default = "${pkgs.terminal-themes}/kitty"; - description = "Path from which to load kitty colors."; - }; - - color-pkg-path = lib.mkOption { - type = lib.types.optional lib.types.path; - default = null; - description = '' - Path to kitty colors within color-pkgs. - ''; - }; - - light-name = lib.mkOption { - type = lib.types.str; - default = "light"; - description = "The name to use for the light colorscheme."; - }; - - dark-name = lib.mkOption { - type = lib.types.str; - default = "dark"; - description = "The name to use for the dark colorscheme."; - }; - }; - - }; - - config = lib.mkIf (cfg.enable && cfg.colors.enable) { - home.packages = [ - term-light - term-dark - term-background - ]; - - programs.kitty.settings = { - allow_remote_control = "yes"; - listen_on = "unix:/tmp/mykitty"; - }; - - xdg.configFile."kitty/macos-launch-services-cmdline".text = lib.mkIf pkgs.stdenv.isDarwin "--listen-on unix:/tmp/mykitty"; - }; -} diff --git a/home/extras/kitty/nerd-font.nix b/home/extras/kitty/nerd-font.nix deleted file mode 100644 index b6db49c..0000000 --- a/home/extras/kitty/nerd-font.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ config, lib, ... }: -let - cfg = config.programs.kitty; -in -{ - options.programs.kitty = { - useSymbolsFromNerdFont = lib.mkOption { - type = lib.types.str; - default = ""; - example = "JetBrainsMono Nerd Font"; - description = '' - NerdFont patched fonts frequently suffer from rendering issues in terminals. To mitigate - this, we can use a non-NerdFont with Kitty and use the symbol_map setting - to tell Kitty to only use a NerdFont for NerdFont symbols. - Set this option the name of an installed NerdFont (the same name you'd use in the - font_family setting), to enable this feature. - ''; - }; - }; - - config = lib.mkIf (cfg.enable && cfg.useSymbolsFromNerdFont != "") { - programs.kitty.settings = { - # https://github.com/ryanoasis/nerd-fonts/wiki/Glyph-Sets-and-Code-Points - symbol_map = "U+E5FA-U+E62B,U+E700-U+E7C5,U+F000-U+F2E0,U+E200-U+E2A9,U+F500-U+FD46,U+E300-U+E3EB,U+F400-U+F4A8,U+2665,U+26a1,U+F27C,U+E0A3,U+E0B4-U+E0C8,U+E0CA,U+E0CC-U+E0D2,U+E0D4,U+23FB-U+23FE,U+2B58,U+F300-U+F313,U+E000-U+E00D ${cfg.useSymbolsFromNerdFont}"; - }; - }; -} diff --git a/home/fish.nix b/home/fish.nix index 9357410..1d9fa79 100644 --- a/home/fish.nix +++ b/home/fish.nix @@ -1,167 +1,109 @@ -{ pkgs, lib, ... }: +{ pkgs, ... }: let nixConfigDirectory = "~/dotfiles.nix"; in { + imports = [ ./extras/fish/auto-theme.nix ]; programs.fish = { enable = true; + autoTheme = { + enable = true; + light = "rose-pine-dawn"; + dark = "rose-pine"; + }; + # see flake.nix and pkgs/default.nix plugins = pkgs.fishPlugins.flakePlugins; - functions = - { - # user functions - mkdcd = { - argumentNames = [ "target" ]; - body = '' - if test -z "$target" - echo "mkdcd requires an argument" 1>&2 - return 1 - end - mkdir -p $target - cd $target - ''; - }; - - from-dir = { - argumentNames = [ "dir" ]; - body = '' - pushd $dir - set -e argv[1] - $argv - popd - ''; - }; - - darwin-rebuild-edit-with = { - argumentNames = [ - "editor" - "file" - ]; - body = '' - if test -z "$file" - set file flake.nix - end - from-nix $editor $file - ''; - }; - - # TODO: use these to implement !! and .. abbreviations - # blocked on additional support for abbr in home-manager - # https://github.com/nix-community/home-manager/issues/3706 - # - # taken from - # https://fishshell.com/docs/current/relnotes.html#fish-3-6-0-released-january-7-2023 - # last-history-item.body = '' - # echo $history[1] - # ''; - # multi-cd.body = '' - # echo cd (string repeat -n (math (string length -- $argv[1]) - 1) ../) - # ''; - } - // lib.optionalAttrs pkgs.stdenv.isDarwin { - # light/dark mode helpers - # determine if dark mode is active - is-dark-mode.body = '' - defaults read -g AppleInterfaceStyle &>/dev/null - ''; - - # toggles `$term_background` between "light" and "dark". other Fish functions trigger when this - # variable changes. we use a universal variable so that all instances of Fish have the same - # value for the variable. - toggle-background.body = '' - if test "$term_background" = light - set -U term_background dark - else - set -U term_background light + functions = { + # user functions + mkdcd = { + argumentNames = [ "target" ]; + body = '' + if test -z "$target" + echo "mkdcd requires an argument" 1>&2 + return 1 end + mkdir -p $target + cd $target ''; - - # set `$term_background` based on whether macOS is light or dark mode - set-background-to-macOS.body = '' - if is-dark-mode - set -U term_background dark - else - set -U term_background light - end - ''; - - # set `$term_background` based on an env var - set-background-to-env = { - argumentNames = [ "env_var" ]; - body = '' - switch $$env_var - case 1 - echo "Setting dark mode" - set -U term_background dark - case 0 - echo "Setting light mode" - set -U term_background light - end - ''; - }; - - # sets shell utilities to light or dark colorscheme based on `$term_background`. - set-shell-colors = { - body = '' - # Use correct theme for `btm` and `bat` - if test "$term_background" = light - alias btm "btm --color nord-light" - set -xg BAT_THEME OneHalfLight - else - alias btm "btm --color nord" - set -xg BAT_THEME OneHalfDark - end - # Set LS_COLORS - set -xg LS_COLORS (${pkgs.vivid}/bin/vivid generate one-$term_background) - ''; - onVariable = "term_background"; - }; }; - shellAbbrs = - { - ".." = "cd .."; - - # darwin-rebuild build - drb = "from-nix darwin-rebuild build --flake ."; - # darwin-rebuild switch full - drsf = "from-nix darwin-rebuild switch --flake ."; - # darwin-rebuild switch (no homebrew) - drs = "from-nix darwin-rebuild switch --flake . --override-input homebrew-enabled github:boolean-option/false"; - # edit darwin-rebuild config in helix - drh = "darwin-rebuild-edit-with hx"; - # edit darwin-rebuild config in zed - drz = "zed ${nixConfigDirectory}"; - - nb = "nix build"; - nd = "nix develop"; - nf = "nix flake"; - nfc = "nix flake check"; - nfi = "nix flake init"; - nfs = "nix flake show"; - nfu = "nix flake update"; - nr = "nix run"; - ns = "nix search nixpkgs"; - nsh = "nix shell"; - nrp = "nix repl --expr '{ pkgs = (import { }); }'"; - g = "git"; - ga = "git add"; - gc = "git commit"; - gd = "git diff"; - gl = "git log"; - gp = "git push"; - stage = "git add ."; - commit = "git commit"; - push = "git push"; - pull = "git pull"; - } - // lib.optionalAttrs pkgs.stdenv.isDarwin { - tb = "toggle-background"; - sb = "set-background-to-macOS"; + from-dir = { + argumentNames = [ "dir" ]; + body = '' + pushd $dir + set -e argv[1] + $argv + popd + ''; }; + darwin-rebuild-edit-with = { + argumentNames = [ + "editor" + "file" + ]; + body = '' + if test -z "$file" + set file flake.nix + end + from-nix $editor $file + ''; + }; + + # TODO: use these to implement !! and .. abbreviations + # blocked on additional support for abbr in home-manager + # https://github.com/nix-community/home-manager/issues/3706 + # + # taken from + # https://fishshell.com/docs/current/relnotes.html#fish-3-6-0-released-january-7-2023 + # last-history-item.body = '' + # echo $history[1] + # ''; + # multi-cd.body = '' + # echo cd (string repeat -n (math (string length -- $argv[1]) - 1) ../) + # ''; + }; + + shellAbbrs = { + ".." = "cd .."; + + # darwin-rebuild build + drb = "from-nix darwin-rebuild build --flake ."; + # darwin-rebuild switch full + drsf = "from-nix darwin-rebuild switch --flake ."; + # darwin-rebuild switch (no homebrew) + drs = "from-nix darwin-rebuild switch --flake . --override-input homebrew-enabled github:boolean-option/false"; + # edit darwin-rebuild config in helix + drh = "darwin-rebuild-edit-with hx"; + # edit darwin-rebuild config in zed + drz = "zed ${nixConfigDirectory}"; + + nb = "nix build"; + nd = "nix develop"; + nf = "nix flake"; + nfc = "nix flake check"; + nfi = "nix flake init"; + nfs = "nix flake show"; + nfu = "nix flake update"; + nr = "nix run"; + ns = "nix search nixpkgs"; + nsh = "nix shell"; + nrp = "nix repl --expr '{ pkgs = (import { }); }'"; + g = "git"; + ga = "git add"; + gc = "git commit"; + gd = "git diff"; + gl = "git log"; + gp = "git push"; + stage = "git add ."; + commit = "git commit"; + push = "git push"; + pull = "git pull"; + }; + shellAliases = { # nix related from-nix = "from-dir ${nixConfigDirectory}"; @@ -180,13 +122,11 @@ in # configuration that should be above `loginShellInit` and `interactiveShellInit`. shellInit = '' set -U fish_term24bit 1 - ${lib.optionalString pkgs.stdenv.isDarwin "set-background-to-macOS"} ''; interactiveShellInit = '' set -g fish_greeting (set_color red)"(づ ̄ ³ ̄)づ"(set_color yellow)" hello "(set_color blue)"(づ ̄ ³ ̄)づ"(set_color normal) fish_vi_key_bindings - ${lib.optionalString pkgs.stdenv.isDarwin "set-shell-colors"} ''; }; home.sessionVariables.VIRTUAL_ENV_DISABLE_PROMPT = "true"; diff --git a/home/ghostty.nix b/home/ghostty.nix index d616fa7..63f0dc2 100644 --- a/home/ghostty.nix +++ b/home/ghostty.nix @@ -16,9 +16,8 @@ font = "RecMonoDuotone Nerd Font"; in { - # TODO: auto-theme - config-file = [ "${pkgs.terminal-themes}/ghostty/rose-pine-dawn" ]; font-family = font; + theme = "rose-pine"; # font-family-bold = "${font} Bold"; # font-family-italic = "${font} Italic"; # font-family-bold-italic = "${font} Bold Italic"; @@ -35,8 +34,8 @@ } // lib.optionalAttrs pkgs.stdenv.isDarwin { copy-on-select = "clipboard"; - background-blur-radius = 20; - macos-non-native-fullscreen = "visible-menu"; + background-blur-radius = 80; + macos-non-native-fullscreen = false; macos-option-as-alt = true; }; }; diff --git a/home/helix.nix b/home/helix.nix index 87ac02b..e4440db 100644 --- a/home/helix.nix +++ b/home/helix.nix @@ -1,4 +1,3 @@ -{ pkgs, lib, ... }: { imports = [ ./extras/helix/auto-theme.nix ]; programs.helix = { @@ -31,7 +30,7 @@ # }; # }]; - autoTheme = lib.mkIf pkgs.stdenv.isDarwin { + autoTheme = { enable = true; light = "rose_pine_dawn"; dark = "rose_pine"; diff --git a/home/kitty.nix b/home/kitty.nix deleted file mode 100644 index 3cad461..0000000 --- a/home/kitty.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ pkgs, lib, ... }: -let - font = "Rec Mono Duotone"; -in -{ - imports = [ - ./extras/kitty/auto-theme.nix - ./extras/kitty/nerd-font.nix - ]; - programs.kitty = { - enable = true; - # using kitty from homebrew - package = pkgs.emptyDirectory; - - settings = { - font_family = font; - bold_font = "${font} Bold"; - italic_font = "${font} Italic"; - bold_italic_font = "${font} Bold Italic"; - font_size = "15.0"; - adjust_line_height = "120%"; - disable_ligatures = "cursor"; # disable ligatures when cursor is on them - - hide_window_decorations = "titlebar-only"; - window_padding_width = "10"; - - tab_bar_edge = "top"; - tab_bar_style = "powerline"; - tab_powerline_style = "angled"; - tab_title_template = "{index}: {title}"; - active_tab_font_style = "bold"; - inactive_tab_font_style = "normal"; - tab_activity_symbol = "💬"; - - # shell integration is manually enabled for fish - shell_integration = "disabled"; - } // lib.optionalAttrs pkgs.stdenv.isDarwin { macos_option_as_alt = "both"; }; - - useSymbolsFromNerdFont = "CaskaydiaCove Nerd Font"; - colors = { - enable = true; - dark-name = "rose-pine"; - light-name = "rose-pine-dawn"; - }; - }; - - programs.fish = { - interactiveShellInit = '' - # Manually enable shell integration - if set -q KITTY_INSTALLATION_DIR - set --global KITTY_SHELL_INTEGRATION enabled - source "$KITTY_INSTALLATION_DIR/shell-integration/fish/vendor_conf.d/kitty-shell-integration.fish" - set --prepend fish_complete_path "$KITTY_INSTALLATION_DIR/shell-integration/fish/vendor_completions.d" - end - set-term-colors - ''; - shellAliases = { - s = "kitty +kitten ssh"; - e = "edit-in-kitty"; - }; - - functions.set-term-colors = { - body = '' - if test "$term_background" = light - term-light - else - term-dark - end - ''; - onVariable = "term_background"; - }; - }; -} diff --git a/home/programs.nix b/home/programs.nix index 0bc7b73..212aac9 100644 --- a/home/programs.nix +++ b/home/programs.nix @@ -37,6 +37,8 @@ tarsnap # terminal color support testing terminal-colors + # terminal color editing utility + theme-sh # (La)TeX alternative typst # extract RAR archives diff --git a/pkgs/default.nix b/pkgs/default.nix index 8b9b778..5bdfa3e 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -14,12 +14,5 @@ inputs: self: super: { ia-writer-family = self.callPackage ./ia-writer-family.nix { inherit (inputs) ia-writer-family-src; }; - mac-app-util = inputs.mac-app-util.packages.${super.stdenv.system}.default.overrideAttrs (old: { - postInstall = - old.postInstall - + '' - wrapProgram "$out/bin/mac-app-util" --suffix PATH : "${super.jq}/bin" - ''; - }); recursive-patched = self.callPackage ./recursive-patched.nix { }; }