feat(pkgs/Profpatsch/alacritty): init dark mode dbus daemon
A simple dbus daemon that writes the alacritty config to `~/.config/alacritty/alacritty-colors-autogen.toml` on startup and whenever a change between dark/light mode is requested. Alacritty only implements an config file isync watcher, no SIGHUP handler or similar, so we have to actually write the config file lol. This is all a little glue-y, but idk, whatever. Further reading & inspo: https://github.com/alacritty/alacritty/issues/5999 https://www.christianfosli.com/posts/2024-on-colorscheme-changed/ https://github.com/christianfosli/on-colorscheme-changed Change-Id: Iac4eb9d85679dc87e28e57d68384645b3b91d08a Reviewed-on: https://cl.tvl.fyi/c/depot/+/12870 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
This commit is contained in:
parent
22c46c8009
commit
6477428c36
9 changed files with 464 additions and 7 deletions
|
|
@ -3,25 +3,53 @@
|
|||
let
|
||||
bins = depot.nix.getBins pkgs.alacritty [ "alacritty" ];
|
||||
|
||||
# https://github.com/alacritty/alacritty-theme
|
||||
themes = {
|
||||
# dark = "alacritty_0_12";
|
||||
dark = "google";
|
||||
light = "dayfox";
|
||||
};
|
||||
|
||||
config =
|
||||
{
|
||||
alacritty-config = { font.size = 18; scrolling.history = 100000; };
|
||||
config = {
|
||||
# sets the theme for this config (autogenerated file)
|
||||
general.import = [ "~/.config/alacritty/alacritty-colors-autogen.toml" ];
|
||||
font.size = 18;
|
||||
scrolling.history = 100000;
|
||||
};
|
||||
# This disables the dpi-sensitive scaling (cause otherwise the font will be humongous on my laptop screen)
|
||||
alacritty-env.WINIT_X11_SCALE_FACTOR = 1;
|
||||
};
|
||||
|
||||
|
||||
config-file = (pkgs.formats.toml { }).generate "alacritty.conf" config.alacritty-config;
|
||||
|
||||
alacritty = depot.nix.writeExecline "alacritty" { } (
|
||||
(lib.concatLists (lib.mapAttrsToList (k: v: [ "export" k (toString v) ]) config.alacritty-env))
|
||||
++ [
|
||||
"backtick"
|
||||
"-E"
|
||||
"config"
|
||||
[ depot.users.Profpatsch.xdg-config-home ]
|
||||
|
||||
bins.alacritty
|
||||
"--config-file"
|
||||
config-file
|
||||
((pkgs.formats.toml { }).generate "alacritty.conf" config.config)
|
||||
"$@"
|
||||
]
|
||||
);
|
||||
|
||||
alacritty-themes = pkgs.fetchFromGitHub {
|
||||
owner = "alacritty";
|
||||
repo = "alacritty-theme";
|
||||
rev = "95a7d695605863ede5b7430eb80d9e80f5f504bc";
|
||||
sha256 = "sha256-D37MQtNS20ESny5UhW1u6ELo9czP4l+q0S8neH7Wdbc=";
|
||||
};
|
||||
|
||||
|
||||
in
|
||||
alacritty
|
||||
{
|
||||
inherit
|
||||
alacritty
|
||||
alacritty-themes
|
||||
themes;
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue