Put every variables in top of the file for easy copy to another config

This commit is contained in:
Hadi
2024-10-09 15:12:50 +02:00
parent 55c7c7068a
commit 0bd55fdc10
27 changed files with 298 additions and 301 deletions

View File

@@ -1,8 +1,12 @@
{ config, ... }: {
{ config, ... }:
let
username = config.var.git.username;
email = config.var.git.email;
in {
programs.git = {
enable = true;
userName = config.var.git.username;
userEmail = config.var.git.email;
userName = username;
userEmail = email;
ignores = [
".cache/"
".DS_Store"

View File

@@ -1,4 +1,4 @@
{ config, ... }: {
{
programs.kitty = {
enable = true;
keybindings = {
@@ -21,8 +21,8 @@
disable_ligatures = "never";
url_style = "curly";
cursor_shape = "Underline";
cursor_underline_thickness = config.var.theme.border-size;
window_padding_width = config.var.theme.gaps-in;
cursor_underline_thickness = 3;
window_padding_width = 10;
};
};
}

View File

@@ -0,0 +1 @@
{ pkgs, ... }: { home.packages = with pkgs; [ wkhtmltopdf ]; }

View File

@@ -78,6 +78,11 @@
action = "<cmd>lua require('flash').jump()<cr>";
options.desc = "Flash";
}
{
key = "K";
action = "<cmd>lua vim.lsp.buf.hover()<cr>";
options.desc = "LSP Hover";
}
{
key = "<C-h>";

View File

@@ -1,9 +1,15 @@
{ config, ... }: {
{ config, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}";
foreground = "#${config.lib.stylix.colors.base05}";
configDir = config.var.configDirectory;
in {
programs.nixvim.highlight = {
AlphaHeaderColor.fg = "#${config.lib.stylix.colors.base0D}";
AlphaTextColor.fg = "#${config.lib.stylix.colors.base05}";
AlphaShortcutColor.fg = "#${config.lib.stylix.colors.base03}";
AlphaHeaderColor.fg = accent;
AlphaTextColor.fg = foreground;
AlphaShortcutColor.fg = muted;
};
programs.nixvim.plugins.alpha = {
@@ -70,8 +76,7 @@
{
type = "button";
val = " NixOs Config";
on_press.__raw =
"function() vim.cmd[[Neotree ${config.var.configDirectory}]] end";
on_press.__raw = "function() vim.cmd[[Neotree ${configDir}]] end";
opts = {
shortcut = "nc";
position = "center";
@@ -86,7 +91,7 @@
type = "button";
val = " Keybindings";
on_press.__raw =
"function() vim.cmd[[e ${config.var.configDirectory}/docs/KEYBINDINGS.md]] end";
"function() vim.cmd[[e ${configDir}/docs/KEYBINDINGS.md]] end";
opts = {
shortcut = "nc";
position = "center";

View File

@@ -1,5 +1,11 @@
# The render-markdown.nvim plugin is a plugin that renders markdown files in a neovim in a more readable way.
{ pkgs, config, inputs, ... }: {
{ pkgs, config, inputs, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}";
background = "#${config.lib.stylix.colors.base00}";
in {
programs.nixvim = {
extraFiles = {
"ftplugin/markdown.lua".text = ''
@@ -8,13 +14,13 @@
'';
};
highlight = {
RenderMarkdownBg.bg = "#${config.lib.stylix.colors.base00}";
RenderMarkdownH1.fg = "#${config.lib.stylix.colors.base0D}";
RenderMarkdownH2.fg = "#${config.lib.stylix.colors.base0D}";
RenderMarkdownH3.fg = "#${config.lib.stylix.colors.base05}";
RenderMarkdownH4.fg = "#${config.lib.stylix.colors.base05}";
RenderMarkdownH5.fg = "#${config.lib.stylix.colors.base03}";
RenderMarkdownH6.fg = "#${config.lib.stylix.colors.base03}";
RenderMarkdownBg.bg = background;
RenderMarkdownH1.fg = accent;
RenderMarkdownH2.fg = muted;
RenderMarkdownH3.fg = muted;
RenderMarkdownH4.fg = muted;
RenderMarkdownH5.fg = muted;
RenderMarkdownH6.fg = muted;
};
extraPlugins = [
(pkgs.vimUtils.buildVimPlugin {

View File

@@ -1,20 +1,25 @@
{ config, ... }: {
{ config, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
background = "#${config.lib.stylix.colors.base00}";
background-alt = "#${config.lib.stylix.colors.base01}";
in {
programs.nixvim = {
highlight = {
TelescopePromptPrefix.fg = "#${config.lib.stylix.colors.base0D}";
TelescopePromptPrefix.fg = accent;
TelescopeSelectionCaret = {
fg = "#${config.lib.stylix.colors.base0D}";
bg = "#${config.lib.stylix.colors.base01}";
fg = accent;
bg = background-alt;
};
TelescopeSelection.bg = "#${config.lib.stylix.colors.base01}";
TelescopeSelection.bg = background-alt;
TelescopePromptTitle = {
bg = "#${config.lib.stylix.colors.base00}";
fg = "#${config.lib.stylix.colors.base0D}";
bg = background;
fg = accent;
};
TelescopePromptNormal.bg = "#${config.lib.stylix.colors.base00}";
TelescopePromptNormal.bg = background;
TelescopePromptBorder = {
bg = "#${config.lib.stylix.colors.base00}";
fg = "#${config.lib.stylix.colors.base0D}";
bg = background;
fg = accent;
};
};
plugins.telescope = {

View File

@@ -1,5 +1,11 @@
{ pkgs, config, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
background = "#${config.lib.stylix.colors.base00}";
foreground = "#${config.lib.stylix.colors.base05}";
muted = "#${config.lib.stylix.colors.base03}";
settings = ''
{
"config": {
@@ -7,10 +13,10 @@ let
"openLinksInNewTab": false,
"locale": "fr-FR",
"colors": {
"primary": "#${config.lib.stylix.colors.base0D}",
"background": "#${config.lib.stylix.colors.base00}",
"foreground": "#${config.lib.stylix.colors.base05}",
"muted": "#${config.lib.stylix.colors.base03}"
"primary": "${accent}",
"background": "${background}",
"foreground": "${foreground}",
"muted": "#${muted}"
},
"folders": [
{
@@ -117,98 +123,12 @@ in {
};
colors = {
# tabs = {
# odd.bg = "#${config.var.theme.colors.bg}";
# odd.fg = "#${config.var.theme.colors.fg}";
# even.bg = "#${config.var.theme.colors.bg}";
# even.fg = "#${config.var.theme.colors.fg}";
# selected = {
# odd = {
# bg = "#${config.var.theme.colors.accent}";
# fg = "#${config.var.theme.colors.accentFg}";
# };
# even = {
# bg = "#${config.var.theme.colors.accent}";
# fg = "#${config.var.theme.colors.accentFg}";
# };
# };
# indicator = {
# error = "#${config.var.theme.colors.c1}";
# start = "#${config.var.theme.colors.bgalt}";
# stop = "#${config.var.theme.colors.bgalt}";
# };
# };
#
# hints = {
# bg = "#${config.var.theme.colors.bgalt}";
# fg = "#${config.var.theme.colors.fgalt}";
# match.fg = "#${config.var.theme.colors.bg}";
# };
#
# completion = {
# category = {
# bg = "#${config.var.theme.colors.bg}";
# fg = "#${config.var.theme.colors.fg}";
# border = {
# top = "#${config.var.theme.colors.bg}";
# bottom = "#${config.var.theme.colors.bg}";
# };
# };
#
# odd.bg = "#${config.var.theme.colors.bg}";
# even.bg = "#${config.var.theme.colors.bg}";
#
# fg = [ "#FFFFFF" "#FFFFFF" "#FFFFFF" ];
#
# match.fg = "#${config.var.theme.colors.accent}";
#
# item.selected = {
# bg = "#${config.var.theme.colors.accent}";
# border.top = "#${config.var.theme.colors.accent}";
# border.bottom = "#${config.var.theme.colors.accent}";
# fg = "#${config.var.theme.colors.accentFg}";
# match.fg = "#${config.var.theme.colors.accentFg}";
# };
# };
#
# statusbar = {
# normal.bg = "#${config.var.theme.colors.bg}";
# normal.fg = "#${config.var.theme.colors.fg}";
# private.bg = "#${config.var.theme.colors.bg}";
# private.fg = "#${config.var.theme.colors.fg}";
# insert.bg = "#${config.var.theme.colors.accent}";
# insert.fg = "#${config.var.theme.colors.accentFg}";
# command = {
# bg = "#${config.var.theme.colors.bgalt}";
# fg = "#${config.var.theme.colors.fgalt}";
# private.bg = "#${config.var.theme.colors.bgalt}";
# private.fg = "#${config.var.theme.colors.fgalt}";
# };
# };
#
# messages = {
# info = {
# bg = "#${config.var.theme.colors.bgalt}";
# fg = "#${config.var.theme.colors.fgalt}";
# border = "#${config.var.theme.colors.bgalt}";
# };
#
# error = {
# bg = "#${config.var.theme.colors.c1}";
# fg = "#${config.var.theme.colors.fgalt}";
# border = "#${config.var.theme.colors.c1}";
# };
# };
#webpage.darkmode.enabled = true; # Enable dark mode for all websites (Weird on images)
webpage.preferred_color_scheme =
"dark"; # Enable dark mode for websites that support it
};
statusbar.show = "in-mode";
# fonts = { default_family = "${config.var.theme.font}"; };
completion = {
height = "30%";
open_categories = [ "history" ];
@@ -235,10 +155,7 @@ in {
remove_finished = 0;
};
hints = {
# border = "none";
radius = 1;
};
hints = { radius = 1; };
scrolling = {
bar = "never";

View File

@@ -1,11 +1,18 @@
{ config, ... }: {
{ config, ... }:
let
accent = config.lib.stylix.colors.base0D;
background = config.lib.stylix.colors.base00;
foreground = config.lib.stylix.colors.base05;
background-alt = config.lib.stylix.colors.base01;
foreground-alt = config.lib.stylix.colors.base06;
in {
home.file.".duckduckgo-colorscheme.js".text =
# js
''
// Go to DuckDuckGo settings page, open the console, paste the code and hit enter.
// based on https://ddg.codingcodax.dev/
// Cookies string for your theme
const cookie = '7=${config.lib.stylix.colors.base00}; j=${config.lib.stylix.colors.base00}; 9=${config.lib.stylix.colors.base05}; aa=${config.lib.stylix.colors.base06}; 8=${config.lib.stylix.colors.base05}; x=${config.lib.stylix.colors.base0D}; 21=${config.lib.stylix.colors.base01};';
const cookie = '7=${background}; j=${background}; 9=${foreground}; aa=${foreground-alt}; 8=${foreground}; x=${accent}; 21=${background-alt};';
// Converts cookie string into formatted JSON
const cookieToJSON = (cookieRaw) => {

View File

@@ -1,14 +1,19 @@
{ config, lib, ... }: {
{ config, lib, ... }:
let
accent = "#" + config.lib.stylix.colors.base0D;
foreground = "#" + config.lib.stylix.colors.base05;
muted = "#" + config.lib.stylix.colors.base03;
in {
programs.fzf = {
enable = true;
enableZshIntegration = true;
colors = lib.mkForce {
"fg+" = "#" + config.lib.stylix.colors.base0D;
"fg+" = accent;
"bg+" = "-1";
"fg" = "#" + config.lib.stylix.colors.base05;
"fg" = foreground;
"bg" = "-1";
"prompt" = "#" + config.lib.stylix.colors.base03;
"pointer" = "#" + config.lib.stylix.colors.base0D;
"prompt" = muted;
"pointer" = accent;
};
defaultOptions = [
"--margin=1"

View File

@@ -1,4 +1,8 @@
{ config, lib, ... }: {
{ config, lib, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
background-alt = "#${config.lib.stylix.colors.base01}";
in {
programs.starship = {
enable = true;
settings = {
@@ -10,20 +14,18 @@
"$git_status"
"$character"
];
directory = { style = "#${config.lib.stylix.colors.base0D}"; };
directory = { style = accent; };
character = {
success_symbol = "[](#${config.lib.stylix.colors.base0D})";
success_symbol = "[](${accent})";
error_symbol = "[](red)";
vimcmd_symbol = "[](cyan)";
};
git_branch = {
symbol = "[](#${config.lib.stylix.colors.base01}) ";
style =
"fg:#${config.lib.stylix.colors.base0D} bg:#${config.lib.stylix.colors.base01}";
format =
"on [$symbol$branch]($style)[](#${config.lib.stylix.colors.base01}) ";
symbol = "[](${background-alt}) ";
style = "fg:${accent} bg:${background-alt}";
format = "on [$symbol$branch]($style)[](${background-alt}) ";
};
git_status = {

View File

@@ -1,4 +1,6 @@
{ pkgs, lib, config, ... }: {
{ pkgs, lib, config, ... }:
let fetch = config.var.theme.fetch; # neofetch, nerdfetch, pfetch
in {
home.packages = with pkgs; [ bat ripgrep tldr sesh ];
@@ -13,11 +15,11 @@
initExtraFirst = ''
bindkey -e
${if config.var.theme.fetch == "neofetch" then
${if fetch == "neofetch" then
pkgs.neofetch + "/bin/neofetch"
else if config.var.theme.fetch == "nerdfetch" then
else if fetch == "nerdfetch" then
"nerdfetch"
else if config.var.theme.fetch == "pfetch" then
else if fetch == "pfetch" then
"echo; ${pkgs.pfetch}/bin/pfetch"
else
""}
@@ -63,7 +65,8 @@
wireguard-import = "nmcli connection import type wireguard file";
notes = "cd ~/nextcloud/Notes && -c ':Telescope find_files' index.md";
notes =
"cd ~/nextcloud/Notes && nvim -c ':Telescope find_files' index.md";
note = "notes";
# git

View File

@@ -1,5 +1,7 @@
{ pkgs, config, lib, inputs, ... }:
let spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
accent = "#${config.lib.stylix.colors.base0D}";
in {
imports = [ inputs.spicetify-nix.homeManagerModules.default ];
@@ -11,9 +13,9 @@ in {
# TODO: Colors not working
customColorScheme = lib.mkForce {
button = "#${config.lib.stylix.colors.base0D}";
button-active = "#${config.lib.stylix.colors.base0D}";
tab-active = "#${config.lib.stylix.colors.base0D}";
button = accent;
button-active = accent;
tab-active = accent;
};
enabledExtensions = with spicePkgs.extensions; [