diff options
author | Linnnus <[email protected]> | 2024-12-21 15:47:33 +0100 |
---|---|---|
committer | Linnnus <[email protected]> | 2024-12-21 16:19:04 +0100 |
commit | 8353554315564b89dfe27d5130080ed04a0a65ad (patch) | |
tree | 896de88b6ea2701692b3ffe977c23947a786318e /hosts/muhammed/home/iterm2 | |
parent | 9b7ed17b27157a25e57a6e38be3bcfeaa70ec9e8 (diff) |
Move to a profile-based configuration where common
This patch makes it so common configuration is now located in shared/
and each host basically just becomes a bunch of import statements.
The exception here is host-specific configuration like the `*.linus.onl`
that live inside `hosts/ahmed/`.
Specifically I have:
- moved common configuration `shared/{nixos,home-manager,nix-darwin}`.
- moved `hosts/common.nix` to `shared/nixos/common-{nix,shell}-settings.nix`.
- split `hosts/muhammed/{dev-utils,neovim}` into per-language
configuration.
This patch was done in preparation for the arrival of a new host, which
will need to share a lot of configuration with Muhammed.
Diffstat (limited to 'hosts/muhammed/home/iterm2')
-rw-r--r-- | hosts/muhammed/home/iterm2/auto_theme.py | 31 | ||||
-rw-r--r-- | hosts/muhammed/home/iterm2/default.nix | 22 |
2 files changed, 0 insertions, 53 deletions
diff --git a/hosts/muhammed/home/iterm2/auto_theme.py b/hosts/muhammed/home/iterm2/auto_theme.py deleted file mode 100644 index 0970304..0000000 --- a/hosts/muhammed/home/iterm2/auto_theme.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -import asyncio -import iterm2 - -async def update(connection, theme): - # Themes have space-delimited attributes, one of which will be light or dark. - parts = theme.split(" ") - if "dark" in parts: - preset = await iterm2.ColorPreset.async_get(connection, "Dark Background") - else: - preset = await iterm2.ColorPreset.async_get(connection, "Light Background") - - # Update the list of all profiles and iterate over them. - profiles=await iterm2.PartialProfile.async_query(connection) - for partial in profiles: - # Fetch the full profile and then set the color preset in it. - profile = await partial.async_get_full_profile() - await profile.async_set_color_preset(preset) - -async def main(connection): - app = await iterm2.async_get_app(connection) - await update(connection, await app.async_get_variable("effectiveTheme")) - async with iterm2.VariableMonitor(connection, iterm2.VariableScopes.APP, "effectiveTheme", None) as mon: - while True: - # Block until theme changes - theme = await mon.async_get() - await update(connection, theme) - - -iterm2.run_forever(main) diff --git a/hosts/muhammed/home/iterm2/default.nix b/hosts/muhammed/home/iterm2/default.nix deleted file mode 100644 index b6a9ecc..0000000 --- a/hosts/muhammed/home/iterm2/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -# This file configures iterm2. Note that the actual definition of iTerm2 for -# home-manager is in `modules/home-manager/iterm2`. *That* file declares -# `options.programs.iterm2.enable`. -{pkgs, ...}: { - config = { - home.packages = with pkgs; [imgcat]; - - # Install a script which automatically makes iTerm2 match the system-wide light/dark mode. - home.file."/Library/Application Support/iTerm2/Scripts/AutoLaunch/auto_theme.py".text = builtins.readFile ./auto_theme.py; - - programs.iterm2 = { - enable = true; - # config = { - # # Use the minimal tab style. - # # See: https://github.com/gnachman/iTerm2/blob/bd40fba0611fa94684dadf2478625f2a93eb6e47/sources/iTermPreferences.h#L29 - # TabStyleWithAutomaticOption = 5; - # }; - - shellIntegration.enableZshIntegration = true; - }; - }; -} |