From 8353554315564b89dfe27d5130080ed04a0a65ad Mon Sep 17 00:00:00 2001 From: Linnnus Date: Sat, 21 Dec 2024 15:47:33 +0100 Subject: 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. --- hosts/muhammed/home/iterm2/auto_theme.py | 31 ------------------------------- hosts/muhammed/home/iterm2/default.nix | 22 ---------------------- 2 files changed, 53 deletions(-) delete mode 100644 hosts/muhammed/home/iterm2/auto_theme.py delete mode 100644 hosts/muhammed/home/iterm2/default.nix (limited to 'hosts/muhammed/home/iterm2') 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; - }; - }; -} -- cgit v1.2.3