feat: update system

This commit is contained in:
2024-06-24 19:50:16 +02:00
parent 3d91c3221e
commit eb85d22494
12 changed files with 254 additions and 135 deletions

42
flake.lock generated
View File

@@ -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": {

View File

@@ -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;

View File

@@ -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;
};
};
};
}

View File

@@ -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
];
}
);

View File

@@ -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";
}
];
};
}

View File

@@ -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>";
}
];
};
}

View File

@@ -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";
};
};
}

View File

@@ -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";

View File

@@ -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);

View 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)
)

View File

@@ -12,6 +12,7 @@ decoration {
blur {
size = {{custom.blur}}
passes = 2
passes = 3
popups = true
}
}

View File

@@ -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";
};
};
};
};
};