move helix as home module, provide option youthlic.programs.helix.

This commit is contained in:
Ulic-youthlic 2025-01-10 16:33:08 +08:00
parent aa4a261a04
commit 445dfe6543
5 changed files with 63 additions and 20 deletions

View file

@ -3,12 +3,12 @@
config,
rootPath,
inputs,
unixName,
...
}:
{
imports = [
./starship
./helix
./fish
./rime-ice.nix
./firefox.nix
@ -17,6 +17,9 @@
./niri
./zed.nix
];
youthlic.programs.helix.enable = true;
xdg.userDirs = {
enable = true;
download = "${config.home.homeDirectory}/dls";
@ -29,8 +32,8 @@
desktop = "${config.home.homeDirectory}/dsk";
createDirectories = true;
};
home.username = "david";
home.homeDirectory = "/home/david";
home.username = "${unixName}";
home.homeDirectory = "/home/${unixName}";
home.stateVersion = "24.11";
programs.home-manager.enable = true;
programs.git = {
@ -61,13 +64,9 @@
dust
qq
telegram-desktop
taplo
ghostty
sops
scrcpy
markdown-oxide
deno
taplo
ast-grep
lazygit
dig

View file

@ -1,13 +0,0 @@
{ ... }:
{
programs.helix = {
enable = true;
defaultEditor = true;
settings =
let
config-file = builtins.readFile ./config.toml;
config = builtins.fromTOML config-file;
in
config;
};
}

View file

@ -6,6 +6,7 @@
])
++ [
./nix.nix
./helix
];
options = {

View file

@ -0,0 +1,56 @@
{
lib,
pkgs,
config,
...
}:
{
options = {
youthlic.programs.helix = {
enable = lib.mkOption {
type = lib.types.bool;
default = true;
example = false;
description = ''
enable helix editor
'';
};
extraPackages = lib.mkOption {
type = lib.types.listOf lib.types.package;
default = with pkgs; [
taplo
markdown-oxide
nixd
deno
nixfmt-rfc-style
];
example = (
with pkgs;
[
deno
]
);
description = ''
extra packages for helix lsp and formatter
'';
};
};
};
config =
let
cfg = config.youthlic.programs.helix;
in
{
programs.helix = lib.mkIf cfg.enable {
enable = true;
defaultEditor = true;
settings =
let
config-file = builtins.readFile ./config.toml;
config = builtins.fromTOML config-file;
in
config;
};
home.packages = cfg.extraPackages;
};
}