mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 03:26:17 +00:00
feat: update system
This commit is contained in:
@@ -68,55 +68,18 @@
|
||||
rust.enable = true;
|
||||
shell.enable = true;
|
||||
};
|
||||
remaps = {
|
||||
half-page-scroll.enable = true;
|
||||
no-accidental-macro.enable = true;
|
||||
paste-keep-buffer.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
key = "<leader>u";
|
||||
mode = "n";
|
||||
action = "<cmd>:UndotreeToggle<CR>";
|
||||
}
|
||||
# Find/Navigate
|
||||
{
|
||||
key = "J";
|
||||
mode = "v";
|
||||
action = ":m '>+1<CR>gv=gv";
|
||||
}
|
||||
{
|
||||
key = "K";
|
||||
mode = "v";
|
||||
action = ":m '<-2<CR>gv=gv";
|
||||
}
|
||||
|
||||
{
|
||||
key = "<C-d>";
|
||||
mode = "n";
|
||||
action = "<C-d>zz";
|
||||
}
|
||||
{
|
||||
key = "<C-u>";
|
||||
mode = "n";
|
||||
action = "<C-u>zz";
|
||||
}
|
||||
{
|
||||
key = "<leader>p";
|
||||
mode = "x";
|
||||
action = ''"_dP'';
|
||||
}
|
||||
{
|
||||
key = "<leader>p";
|
||||
mode = "n";
|
||||
action = ''"_dP'';
|
||||
}
|
||||
{
|
||||
key = "<leader>p";
|
||||
mode = "v";
|
||||
action = ''"_dP'';
|
||||
}
|
||||
];
|
||||
|
||||
plugins = {
|
||||
leap.enable = true;
|
||||
surround.enable = true;
|
||||
which-key.enable = true;
|
||||
schemastore.enable = true;
|
||||
|
||||
lsp.servers = {
|
||||
html.enable = true;
|
||||
@@ -128,10 +91,6 @@
|
||||
jsonls.enable = true;
|
||||
taplo.enable = true;
|
||||
};
|
||||
which-key = {
|
||||
enable = true;
|
||||
registrations."<leader>p" = "Paste Keep Buffer";
|
||||
};
|
||||
|
||||
copilot-lua = {
|
||||
enable = true;
|
||||
|
||||
@@ -30,7 +30,10 @@ in
|
||||
illuminate.enable = lib.mkDefault true;
|
||||
nvim-autopairs.enable = lib.mkDefault true;
|
||||
nvim-colorizer.enable = lib.mkDefault true;
|
||||
ts-autotag.enable = lib.mkDefault true;
|
||||
ts-autotag = {
|
||||
enable = lib.mkDefault true;
|
||||
settings.opts.enable_close_on_slash = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -30,6 +30,10 @@
|
||||
./languages/python.nix
|
||||
./languages/rust.nix
|
||||
./languages/shell.nix
|
||||
|
||||
./remaps/half-page-scroll.nix
|
||||
./remaps/no-accidental-macro.nix
|
||||
./remaps/paste-keep-buffer.nix
|
||||
];
|
||||
}
|
||||
);
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
{ lib, config, ... }:
|
||||
let
|
||||
cfg = config.presets.remaps.half-page-scroll;
|
||||
in
|
||||
{
|
||||
options.presets.remaps.half-page-scroll = {
|
||||
enable = lib.mkEnableOption "half page scroll";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
keymaps = [
|
||||
{
|
||||
key = "<C-d>";
|
||||
action = "<C-d>zz";
|
||||
}
|
||||
{
|
||||
key = "<C-u>";
|
||||
action = "<C-u>zz";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{ lib, config, ... }:
|
||||
let
|
||||
cfg = config.presets.remaps.no-accidental-macro;
|
||||
in
|
||||
{
|
||||
options.presets.remaps.no-accidental-macro = {
|
||||
enable = lib.mkEnableOption "no accidental macro";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
keymaps = [
|
||||
{
|
||||
key = "Q";
|
||||
mode = "n";
|
||||
action = "<nop>";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
{ lib, config, ... }:
|
||||
let
|
||||
cfg = config.presets.remaps.paste-keep-buffer;
|
||||
in
|
||||
{
|
||||
options.presets.remaps.paste-keep-buffer = {
|
||||
enable = lib.mkEnableOption "paste in visual keeps the buffer";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
keymaps = [
|
||||
{
|
||||
key = "p";
|
||||
mode = "v";
|
||||
action = ''"_dP'';
|
||||
}
|
||||
{
|
||||
key = "<leader>p";
|
||||
action = ''"_dP'';
|
||||
}
|
||||
];
|
||||
plugins.which-key = {
|
||||
enable = true;
|
||||
registrations."<leader>p" = "Paste Keep Buffer";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -13,6 +13,13 @@ in
|
||||
"os.getenv('HOME') .. '/.config/nvim/undodir'";
|
||||
undofile = true;
|
||||
};
|
||||
keymaps = [
|
||||
{
|
||||
key = "<leader>u";
|
||||
mode = "n";
|
||||
action = "<cmd>:UndotreeToggle<CR>";
|
||||
}
|
||||
];
|
||||
plugins = {
|
||||
undotree.enable = true;
|
||||
which-key.registrations."<leader>u" = "Undotree";
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
@define-color accent_color {{colors.primary.default.hex}};
|
||||
@define-color accent_bg_color {{colors.primary_container.default.hex}};
|
||||
@define-color accent_fg_color {{colors.on_primary.default.hex}};
|
||||
|
||||
@define-color destructive_color {{colors.danger.default.hex}};
|
||||
@define-color destructive_bg_color {{colors.danger_container.default.hex}};
|
||||
@define-color destructive_fg_color {{colors.on_danger.default.hex}};
|
||||
|
||||
@define-color success_color {{colors.success.default.hex}};
|
||||
@define-color success_bg_color {{colors.success_container.default.hex}};
|
||||
@define-color success_fg_color {{colors.on_success.default.hex}};
|
||||
|
||||
@define-color warning_color {{colors.warning.default.hex}};
|
||||
@define-color warning_bg_color {{colors.warning_container.default.hex}};
|
||||
@define-color warning_fg_color {{colors.on_warning.default.hex}};
|
||||
|
||||
@define-color error_color {{colors.error.default.hex}};
|
||||
@define-color error_bg_color {{colors.error_container.default.hex}};
|
||||
@define-color error_fg_color {{colors.on_error.default.hex}};
|
||||
|
||||
@define-color window_bg_color alpha({{colors.surface.default.hex}}, {{custom.transparency}});
|
||||
@define-color window_fg_color {{colors.on_surface.default.hex}};
|
||||
|
||||
@define-color view_bg_color @window_bg_color;
|
||||
@define-color view_fg_color @window_fg_color;
|
||||
|
||||
@define-color headerbar_bg_color @window_bg_color;
|
||||
@define-color headerbar_fg_color @window_fg_color;
|
||||
@define-color headerbar_backdrop_color alpha({{colors.surface_variant.default.hex}}, 0.2);
|
||||
|
||||
@define-color sidebar_bg_color alpha({{colors.surface_variant.default.hex}}, 0.2);
|
||||
@define-color sidebar_fg_color {{colors.on_surface_variant.default.hex}};
|
||||
@define-color sidebar_backdrop_color alpha({{colors.surface_variant.default.hex}}, 0.2);
|
||||
|
||||
107
modules/home-manager/theme/gtk.nix
Normal file
107
modules/home-manager/theme/gtk.nix
Normal file
@@ -0,0 +1,107 @@
|
||||
let
|
||||
transparent = color: "alpha(${color}, {{custom.transparency}})";
|
||||
mkBgColor = color: {
|
||||
${color} = {
|
||||
background = "{{colors.${color}.default.hex}}";
|
||||
foreground = "{{colors.on_${color}.default.hex}}";
|
||||
};
|
||||
};
|
||||
mkColor = color: {
|
||||
${color} = {
|
||||
standalone = "{{colors.${color}.default.hex}}";
|
||||
background = "{{colors.${color}_container.default.hex}}";
|
||||
foreground = "{{colors.on_${color}_container.default.hex}}";
|
||||
};
|
||||
};
|
||||
colors =
|
||||
(mkColor "primary")
|
||||
// (mkColor "secondary")
|
||||
// (mkColor "tertiary")
|
||||
// (mkColor "danger")
|
||||
// (mkColor "warning")
|
||||
// (mkColor "success")
|
||||
// (mkColor "error")
|
||||
// (mkColor "info")
|
||||
// (mkBgColor "background")
|
||||
// (mkBgColor "surface_variant")
|
||||
// {
|
||||
outline = "{{colors.outline.default.hex}}";
|
||||
container = {
|
||||
lowest = "{{colors.surface_container_lowest.default.hex}}";
|
||||
low = "{{colors.surface_container_low.default.hex}}";
|
||||
default = "{{colors.surface_container.default.hex}}";
|
||||
high = "{{colors.surface_container_high.default.hex}}";
|
||||
highest = "{{colors.surface_container_highest.default.hex}}";
|
||||
foreground = "{{colors.on_surface.default.hex}}";
|
||||
};
|
||||
shade = {
|
||||
default = "rgba(0, 0, 0, 0.07)";
|
||||
darker = "rgba(0, 0, 0, 0.12)";
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
accent_color = colors.primary.standalone;
|
||||
accent_bg_color = colors.primary.background;
|
||||
accent_fg_color = colors.primary.foreground;
|
||||
|
||||
destructive_color = colors.danger.standalone;
|
||||
destructive_bg_color = colors.danger.background;
|
||||
destructive_fg_color = colors.danger.foreground;
|
||||
|
||||
success_color = colors.success.standalone;
|
||||
success_bg_color = colors.success.background;
|
||||
success_fg_color = colors.success.foreground;
|
||||
|
||||
warning_color = colors.warning.standalone;
|
||||
warning_bg_color = colors.warning.background;
|
||||
warning_fg_color = colors.warning.foreground;
|
||||
|
||||
error_color = colors.error.standalone;
|
||||
error_bg_color = colors.error.background;
|
||||
error_fg_color = colors.error.foreground;
|
||||
|
||||
window_bg_color = transparent colors.background.background;
|
||||
window_fg_color = colors.background.foreground;
|
||||
|
||||
view_bg_color = transparent colors.background.background;
|
||||
view_fg_color = colors.background.foreground;
|
||||
|
||||
headerbar_bg_color = transparent colors.background.background;
|
||||
headerbar_fg_color = colors.background.foreground;
|
||||
headerbar_border_color = colors.outline;
|
||||
headerbar_backdrop_color = transparent colors.background.background;
|
||||
headerbar_shade_color = colors.shade.default;
|
||||
headerbar_darker_shade_color = colors.shade.darker;
|
||||
|
||||
card_bg_color = colors.container.default;
|
||||
card_fg_color = colors.container.foreground;
|
||||
card_shade_color = colors.shade.default;
|
||||
|
||||
dialog_bg_color = transparent colors.background.background;
|
||||
dialog_fg_color = colors.background.foreground;
|
||||
|
||||
popover_bg_color = transparent colors.background.background;
|
||||
popover_fg_color = colors.background.foreground;
|
||||
popover_shade_color = colors.shade.default;
|
||||
|
||||
shade_color = colors.shade.default;
|
||||
scrollbar_outline_color = colors.outline;
|
||||
|
||||
thumbnail_bg_color = colors.secondary.background;
|
||||
thumbnail_fg_color = colors.secondary.foreground;
|
||||
|
||||
sidebar_bg_color = transparent colors.background.background;
|
||||
sidebar_fg_color = colors.background.foreground;
|
||||
sidebar_backdrop_color = transparent colors.background.background;
|
||||
sidebar_shade_color = colors.shade.default;
|
||||
|
||||
secondary_sidebar_bg_color = transparent colors.surface_variant.background;
|
||||
secondary_sidebar_fg_color = colors.surface_variant.foreground;
|
||||
secondary_sidebar_backdrop_color = transparent colors.surface_variant.background;
|
||||
secondary_sidebar_shade_color = colors.shade.default;
|
||||
};
|
||||
in
|
||||
builtins.concatStringsSep "\n" (
|
||||
builtins.map (name: "@define-color ${name} ${builtins.getAttr name gtk};") (builtins.attrNames gtk)
|
||||
)
|
||||
@@ -12,6 +12,7 @@ decoration {
|
||||
|
||||
blur {
|
||||
size = {{custom.blur}}
|
||||
passes = 2
|
||||
passes = 3
|
||||
popups = true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,36 +344,40 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
templates = {
|
||||
kitty = {
|
||||
input_path = ./kitty.conf;
|
||||
output_path = "${config.xdg.configHome}/kitty/theme.conf";
|
||||
templates =
|
||||
let
|
||||
gtk = pkgs.writeText "gtk4.css" (import ./gtk.nix);
|
||||
in
|
||||
{
|
||||
kitty = {
|
||||
input_path = ./kitty.conf;
|
||||
output_path = "${config.xdg.configHome}/kitty/theme.conf";
|
||||
};
|
||||
nvim = {
|
||||
input_path = ./nvim.vim;
|
||||
output_path = "${config.xdg.configHome}/nvim/colors/md3-evo.vim";
|
||||
};
|
||||
hyprland = {
|
||||
input_path = ./hyprland.conf;
|
||||
output_path = "${config.xdg.configHome}/hypr/theme.conf";
|
||||
};
|
||||
anyrun = {
|
||||
input_path = ./anyrun.css;
|
||||
output_path = "${config.xdg.configHome}/anyrun/theme.css";
|
||||
};
|
||||
gtk3 = {
|
||||
input_path = gtk;
|
||||
output_path = "${config.xdg.configHome}/gtk-3.0/theme.css";
|
||||
};
|
||||
gtk4 = {
|
||||
input_path = gtk;
|
||||
output_path = "${config.xdg.configHome}/gtk-4.0/theme.css";
|
||||
};
|
||||
vesktop = {
|
||||
input_path = ./discord.css;
|
||||
output_path = "${config.xdg.configHome}/vesktop/themes/matugen.theme.css";
|
||||
};
|
||||
};
|
||||
nvim = {
|
||||
input_path = ./nvim.vim;
|
||||
output_path = "${config.xdg.configHome}/nvim/colors/md3-evo.vim";
|
||||
};
|
||||
hyprland = {
|
||||
input_path = ./hyprland.conf;
|
||||
output_path = "${config.xdg.configHome}/hypr/theme.conf";
|
||||
};
|
||||
anyrun = {
|
||||
input_path = ./anyrun.css;
|
||||
output_path = "${config.xdg.configHome}/anyrun/theme.css";
|
||||
};
|
||||
gtk3 = {
|
||||
input_path = ./gtk.css;
|
||||
output_path = "${config.xdg.configHome}/gtk-3.0/theme.css";
|
||||
};
|
||||
gtk4 = {
|
||||
input_path = ./gtk.css;
|
||||
output_path = "${config.xdg.configHome}/gtk-4.0/theme.css";
|
||||
};
|
||||
vesktop = {
|
||||
input_path = ./discord.css;
|
||||
output_path = "${config.xdg.configHome}/vesktop/themes/matugen.theme.css";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user