nixcfg/homeManagerModules/apps/zed/default.nix
Aly Raffauf c112fcd6c5
Some checks are pending
git-mirror / gitlab-sync (push) Waiting to run
nix-build / default-build (push) Waiting to run
nix-build / fallarbor-build (push) Waiting to run
nix-build / lavaridge-build (push) Waiting to run
nix-build / mauville-build (push) Waiting to run
nix-build / petalburg-build (push) Waiting to run
nix-build / rustboro-build (push) Waiting to run
nix-check / fmt-check (push) Waiting to run
nix-check / eval-check (push) Waiting to run
migrate to stylix (#90)
* flake: add stylix modules

* yank enough to make hosts build with stylix enabled

* add initial common stylix theme

* waybar: remove custom colors

* rofi: reimplement theme

* rofi: transparency fix

* rofi: remove old theme

* swayosd: use stylix colors

* remove theme.colors

* remove remaining theme config outside icons + gtk settings

* remove darkMode toggle

* restore fuzzel module

* randomWallpaper: disable * configs in sway

* randomWallpaper: disable hyprpaper stylix config

* swaylock: restore non-theme settings

* hosts: fix wallpaper

* waybar: restore colors

* rofi: restore theme

* rofi: use proper border color

* harmonize font sizes

* rofi: use borderRadius setting

* tmux: remove theming

* hosts: add preliminary stylix configs

* randomWallpaper: force hyprpaper off

* fallarbor: set correct wallpaper

* rofi: fix transparency issues on hyprland

* sway: override stylix indicator colors
2024-08-15 15:55:39 -04:00

112 lines
2.7 KiB
Nix

{
config,
lib,
pkgs,
...
}: let
cfg = config.ar.home;
in {
config = lib.mkIf cfg.apps.zed.enable {
home.packages = [
cfg.apps.zed.package
pkgs.nixd
];
xdg.configFile = {
"zed/keymap.json".text = let
defaults = [
{
"context" = "Workspace";
"bindings" = {
"alt-e" = "file_finder::Toggle";
"ctrl-p" = "command_palette::Toggle";
"ctrl-shift-p" = "file_finder::Toggle";
};
}
];
keymaps = defaults ++ cfg.apps.zed.keymaps;
in
lib.generators.toJSON {} keymaps;
"zed/settings.json".text = let
defaults = {
auto_install_extensions = {
adwaita-pastel = true;
basher = true;
docker-compose = true;
dockerfile = true;
git-firefly = true;
haskell = true;
html = true;
ini = true;
just = true;
log = true;
make = true;
nix = true;
ruby = true;
};
auto_update = false;
autosave.after_delay.milliseconds = 1000;
buffer_font_family = config.stylix.fonts.monospace.name;
buffer_font_size = config.stylix.fonts.sizes.applications + 2;
current_line_highlight = "line";
indent_guides = {
enabled = true;
background_coloring = "disabled";
coloring = "indent_aware";
line_width = 1;
};
languages = {
Nix = {
formatter.external = {
command = lib.getExe pkgs.alejandra;
arguments = [];
};
tab_size = 2;
};
};
preferred_line_length = 80;
show_wrap_guides = true;
soft_wrap = "preferred_line_length";
tab_bar = {
show = true;
show_nav_history_buttons = false;
};
tabs = {
close_position = "right";
git_status = true;
};
telemetry = {
diagnostics = false;
metrics = false;
};
terminal.font_size = config.stylix.fonts.sizes.terminal + 2;
theme = {
dark = "Adwaita Pastel Dark";
light = "Adwaita Pastel Light";
mode = "system";
};
ui_font_family = config.stylix.fonts.sansSerif.name;
ui_font_size = config.stylix.fonts.sizes.applications + 4;
use_autoclose = false;
vim_mode = false;
};
settings = defaults // cfg.apps.zed.settings;
in
lib.generators.toJSON {} settings;
};
};
}