mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-11 02:56:27 +00:00
feat: update system
This commit is contained in:
42
flake.lock
generated
42
flake.lock
generated
@@ -190,11 +190,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717931644,
|
||||
"narHash": "sha256-Sz8Wh9cAiD5FhL8UWvZxBfnvxETSCVZlqWSYWaCPyu0=",
|
||||
"lastModified": 1718788307,
|
||||
"narHash": "sha256-SqiOz0sljM0GjyQEVinPXQxaGcbOXw5OgpCWGPgh/vo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "3d65009effd77cb0d6e7520b68b039836a7606cf",
|
||||
"rev": "d7830d05421d0ced83a0f007900898bdcaf2a2ca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -211,11 +211,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717525419,
|
||||
"narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=",
|
||||
"lastModified": 1718526747,
|
||||
"narHash": "sha256-sKrD/utGvmtQALvuDj4j0CT3AJXP1idOAq2p+27TpeE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "a7117efb3725e6197dd95424136f79147aa35e5b",
|
||||
"rev": "0a7ffb28e5df5844d0e8039c9833d7075cdee792",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -252,11 +252,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1716993688,
|
||||
"narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=",
|
||||
"lastModified": 1718662658,
|
||||
"narHash": "sha256-AKG7BsqtVWDlefgzyKz7vjaKTLi4+bmTSBhowbQoZtM=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4",
|
||||
"rev": "29b3096a6e283d7e6779187244cb2a3942239fdf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -283,11 +283,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1717786204,
|
||||
"narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=",
|
||||
"lastModified": 1718530797,
|
||||
"narHash": "sha256-pup6cYwtgvzDpvpSCFh1TEUjw2zkNpk8iolbKnyFmmU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "051f920625ab5aabe37c920346e3e69d7d34400e",
|
||||
"rev": "b60ebf54c15553b393d144357375ea956f89e9a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -311,11 +311,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1718028681,
|
||||
"narHash": "sha256-C27X1vnsxKaKd1dCUU/u3LU+3DiA3Jo/ApvDiDNPIrI=",
|
||||
"lastModified": 1718739916,
|
||||
"narHash": "sha256-VgRcAEeS8/ZSZgcwg1hYltavagEo47ZsmR7cRZ6VbRY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "33a32c94176feebd3ff5259ce418b989b428d5ae",
|
||||
"rev": "0e93a59567d0850e54cea26b1b5c541a7182c7cf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -326,11 +326,11 @@
|
||||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1718034680,
|
||||
"narHash": "sha256-i6+D11kYXTF6WbGdVCDzModgpIdQKJZiro7k+xhKIls=",
|
||||
"lastModified": 1718792827,
|
||||
"narHash": "sha256-+52UqTGC6RBvt7mUBPX0EEFN8LVrptxnIzbGY61lqYQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "e614348f2248692fad52c28dad7ee04fbc51df51",
|
||||
"rev": "f3411df07774dedfe08226e1d280f0109235e04d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -402,11 +402,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1717850719,
|
||||
"narHash": "sha256-npYqVg+Wk4oxnWrnVG7416fpfrlRhp/lQ6wQ4DHI8YE=",
|
||||
"lastModified": 1718522839,
|
||||
"narHash": "sha256-ULzoKzEaBOiLRtjeY3YoGFJMwWSKRYOic6VNw2UyTls=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "4fc1c45a5f50169f9f29f6a98a438fb910b834ed",
|
||||
"rev": "68eb1dc333ce82d0ab0c0357363ea17c31ea1f81",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -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