making a mess of it, but getting to auto loading multi user setups!

This commit is contained in:
Chris Kruining 2025-03-13 00:50:41 +01:00
parent 20a2450683
commit b139021f8e
13 changed files with 139 additions and 216 deletions

View file

@ -1,19 +1,67 @@
{ config, options, lib, pkgs, ... }:
let
inherit (lib.meta) getExe;
{
config,
options,
lib,
pkgs,
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.attrsets) attrValues;
cfg = config.modules.desktop.editors.zed;
in
{
in {
options.modules.desktop.editors.zed = let
inherit (lib.options) mkEnableOption;
in { enable = mkEnableOption "zed"; };
in {enable = mkEnableOption "zed";};
config = mkIf cfg.enable {
user.packages = attrValues {
inherit (pkgs) zed-editor;
};
hm.programs.zed-editor = {
enable = true;
extraPackages = with pkgs; [ nixd nil alejandra ];
extensions = ["nix" "toml" "html"];
userSettings = {
assistant.enabled = false;
vim_mode = false;
load_direnv = "shell_hook";
base_keymap = "JetBrains";
tabs = {
file_icons = true;
git_status = true;
};
project_panel.auto_reveal_entries = false;
hour_format = "hour24";
auto_update = false;
lsp = {
nixd = {};
nil = {
initialization_options = {
formatting = {
command = ["alejandra" "--quiet" "--"];
};
};
binary = {
path_lookup = true;
};
};
};
languages = {
"Nix" = {
language_servers = ["nixd" "nil"];
format_on_save = "on";
};
};
};
};
};
}

View file

@ -45,55 +45,7 @@ in {
args = ["-l" "-c" "tmux new || tmux"];
};
}
# (mkIf (active != null) {
# import = ["~/.config/alacritty/config/${active}.toml"];
# })
];
};
# create.configFile = mkIf (active != null) {
# alacritty-conf = {
# target = "alacritty/config/${active}.toml";
# source = let
# inherit (config.modules.themes.font) mono sans;
# tomlFormat = pkgs.formats.toml {};
# in tomlFormat.generate "alacritty-theme" {
# font = {
# builtin_box_drawing = true;
# size = mono.size;
#
# normal = {
# family = "${mono.family}";
# style = "${sans.weight}";
# };
#
# italic = {
# family = "${mono.family}";
# style = "${sans.weight} Italic";
# };
#
# bold = {
# family = "${mono.family}";
# style = "${mono.weight}";
# };
#
# bold_italic = {
# family = "${mono.family}";
# style = "${mono.weight} Italic";
# };
#
# offset = {
# x = 0;
# y = 0;
# };
# glyph_offset = {
# x = 0;
# y = 0;
# };
# };
# };
# };
# };
};
}