tvl-depot/users/Profpatsch/alacritty.nix
Profpatsch cd521a168e feat(users/Profpatsch/alacritty): add modus & ef themes
Change-Id: I133f29e38f1e9c9c8b75468993b97951aff3e9da
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12894
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-12-16 17:27:02 +00:00

93 lines
2.1 KiB
Nix

{ depot, pkgs, lib, ... }:
let
bins = depot.nix.getBins pkgs.alacritty [ "alacritty" ]
// depot.nix.getBins pkgs.coreutils [ "mkdir" "cp" "install" ];
# https://github.com/alacritty/alacritty-theme
themes = {
# dark = "alacritty_0_12";
dark = "google";
light = "dayfox";
};
config =
{
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;
};
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"
((pkgs.formats.toml { }).generate "alacritty.conf" config.config)
"$@"
]
);
alacritty-themes-upstream = pkgs.fetchFromGitHub {
owner = "alacritty";
repo = "alacritty-theme";
rev = "95a7d695605863ede5b7430eb80d9e80f5f504bc";
sha256 = "sha256-D37MQtNS20ESny5UhW1u6ELo9czP4l+q0S8neH7Wdbc=";
};
alacritty-themes-modes-ef = pkgs.fetchFromGitHub {
owner = "anhsirk0";
repo = "alacritty-themes";
rev = "5a2c194a682ec75d46553f9a9d6c43fbf39c689d";
sha256 = "sha256-x5QrtSXNc05DNexM+ZtRzd8T9FdthZUzjW/2uEBdRCk=";
};
alacritty-themes = depot.nix.runExecline "alacritty-themes-merged" { } [
"importas"
"out"
"out"
"if"
[ bins.mkdir "-p" "$\{out}/themes" ]
"if"
[
"elglob"
"-0"
"themes"
"${alacritty-themes-upstream}/themes/*"
bins.install
"-m644"
"-t"
"\${out}/themes"
"$themes"
]
"if"
[
"elglob"
"-0"
"themes"
"${alacritty-themes-modes-ef}/themes/*"
bins.install
"-m644"
"-t"
"\${out}/themes"
"$themes"
]
];
in
{
inherit
alacritty
alacritty-themes
themes;
}