reorganize home-manager
This commit is contained in:
@@ -1,124 +1,130 @@
|
||||
{ pkgs }:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
#use the fish shell
|
||||
shell.program = "${pkgs.fish}/bin/fish";
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
package = pkgs.alacritty;
|
||||
settings = {
|
||||
#use the fish shell
|
||||
shell.program = "${pkgs.fish}/bin/fish";
|
||||
|
||||
#some programs can't handle alacritty
|
||||
env.TERM = "xterm-256color";
|
||||
#some programs can't handle alacritty
|
||||
env.TERM = "xterm-256color";
|
||||
|
||||
window = {
|
||||
#using a window manager, no decorations needed
|
||||
decorations = "none";
|
||||
window = {
|
||||
#using a window manager, no decorations needed
|
||||
decorations = "none";
|
||||
|
||||
#semi-transparent
|
||||
opacity = 0.95;
|
||||
#semi-transparent
|
||||
opacity = 0.95;
|
||||
|
||||
#padding between the content of the terminal and the edge
|
||||
padding = {
|
||||
x = 10;
|
||||
y = 10;
|
||||
};
|
||||
#padding between the content of the terminal and the edge
|
||||
padding = {
|
||||
x = 10;
|
||||
y = 10;
|
||||
};
|
||||
|
||||
dimensions = {
|
||||
columns = 80;
|
||||
lines = 40;
|
||||
};
|
||||
};
|
||||
|
||||
scrolling = {
|
||||
history = 1000;
|
||||
multiplier = 3;
|
||||
};
|
||||
|
||||
font =
|
||||
let
|
||||
baseFont = {
|
||||
family = "JetBrains Mono Nerd Font";
|
||||
style = "Regular";
|
||||
};
|
||||
in
|
||||
{
|
||||
size = 12;
|
||||
|
||||
normal = baseFont;
|
||||
|
||||
bold = baseFont // {
|
||||
style = "Bold";
|
||||
dimensions = {
|
||||
columns = 80;
|
||||
lines = 40;
|
||||
};
|
||||
};
|
||||
|
||||
italic = baseFont // {
|
||||
style = "Italic";
|
||||
scrolling = {
|
||||
history = 1000;
|
||||
multiplier = 3;
|
||||
};
|
||||
|
||||
offset.y = 0;
|
||||
glyph_offset.y = 0;
|
||||
};
|
||||
|
||||
#color scheme
|
||||
colors =
|
||||
let
|
||||
normal = {
|
||||
black = "0x1b1e28";
|
||||
red = "0xd0679d";
|
||||
green = "0x5de4c7";
|
||||
yellow = "0xfffac2";
|
||||
blue = "#435c89";
|
||||
magenta = "0xfcc5e9";
|
||||
cyan = "0xadd7ff";
|
||||
white = "0xffffff";
|
||||
};
|
||||
|
||||
bright = {
|
||||
black = "0xa6accd";
|
||||
red = normal.red;
|
||||
green = normal.green;
|
||||
yellow = normal.yellow;
|
||||
blue = normal.cyan;
|
||||
magenta = "0xfae4fc";
|
||||
cyan = "0x89ddff";
|
||||
white = normal.white;
|
||||
};
|
||||
in
|
||||
{
|
||||
inherit normal bright;
|
||||
primary = {
|
||||
background = "0x131621";
|
||||
foreground = bright.black;
|
||||
};
|
||||
|
||||
cursor = {
|
||||
text = "CellBackground";
|
||||
cursor = "CellForeground";
|
||||
};
|
||||
|
||||
search =
|
||||
font =
|
||||
let
|
||||
foreground = normal.black;
|
||||
background = normal.cyan;
|
||||
baseFont = {
|
||||
family = "JetBrains Mono Nerd Font";
|
||||
style = "Regular";
|
||||
};
|
||||
in
|
||||
{
|
||||
matches = {
|
||||
inherit foreground background;
|
||||
size = 12;
|
||||
|
||||
normal = baseFont;
|
||||
|
||||
bold = baseFont // {
|
||||
style = "Bold";
|
||||
};
|
||||
|
||||
focused_match = {
|
||||
inherit foreground background;
|
||||
italic = baseFont // {
|
||||
style = "Italic";
|
||||
};
|
||||
|
||||
offset.y = 0;
|
||||
glyph_offset.y = 0;
|
||||
};
|
||||
|
||||
#color scheme
|
||||
colors =
|
||||
let
|
||||
normal = {
|
||||
black = "0x1b1e28";
|
||||
red = "0xd0679d";
|
||||
green = "0x5de4c7";
|
||||
yellow = "0xfffac2";
|
||||
blue = "#435c89";
|
||||
magenta = "0xfcc5e9";
|
||||
cyan = "0xadd7ff";
|
||||
white = "0xffffff";
|
||||
};
|
||||
|
||||
bright = {
|
||||
black = "0xa6accd";
|
||||
red = normal.red;
|
||||
green = normal.green;
|
||||
yellow = normal.yellow;
|
||||
blue = normal.cyan;
|
||||
magenta = "0xfae4fc";
|
||||
cyan = "0x89ddff";
|
||||
white = normal.white;
|
||||
};
|
||||
in
|
||||
{
|
||||
inherit normal bright;
|
||||
primary = {
|
||||
background = "0x131621";
|
||||
foreground = bright.black;
|
||||
};
|
||||
|
||||
cursor = {
|
||||
text = "CellBackground";
|
||||
cursor = "CellForeground";
|
||||
};
|
||||
|
||||
search =
|
||||
let
|
||||
foreground = normal.black;
|
||||
background = normal.cyan;
|
||||
in
|
||||
{
|
||||
matches = {
|
||||
inherit foreground background;
|
||||
};
|
||||
|
||||
focused_match = {
|
||||
inherit foreground background;
|
||||
};
|
||||
};
|
||||
|
||||
selection = {
|
||||
text = "CellForeground";
|
||||
background = "0x303340";
|
||||
};
|
||||
|
||||
vi_mode_cursor = {
|
||||
text = "CellBackground";
|
||||
cursor = "CellForeground";
|
||||
};
|
||||
};
|
||||
|
||||
selection = {
|
||||
text = "CellForeground";
|
||||
background = "0x303340";
|
||||
};
|
||||
|
||||
vi_mode_cursor = {
|
||||
text = "CellBackground";
|
||||
cursor = "CellForeground";
|
||||
cursor = {
|
||||
style = "Underline";
|
||||
vi_mode_style = "Underline";
|
||||
};
|
||||
};
|
||||
|
||||
cursor = {
|
||||
style = "Underline";
|
||||
vi_mode_style = "Underline";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,67 +1,69 @@
|
||||
{ pkgs }:
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
eza = "${pkgs.eza}/bin/eza --color=always --group-directories-first";
|
||||
cargo = "${pkgs.cargo}/bin/cargo";
|
||||
coreutil = "${pkgs.coreutils}/bin";
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
|
||||
interactiveShellInit = ''
|
||||
#disable greeting
|
||||
set fish_greeting
|
||||
interactiveShellInit = ''
|
||||
#disable greeting
|
||||
set fish_greeting
|
||||
|
||||
#fixes gnupg password entry
|
||||
export GPG_TTY=(${coreutil}/tty)
|
||||
#fixes gnupg password entry
|
||||
export GPG_TTY=(${coreutil}/tty)
|
||||
|
||||
#pfetch on shell start (disable pkgs because of execution time)
|
||||
PF_INFO="ascii title os host kernel uptime memory editor wm" ${pkgs.pfetch-rs}/bin/pfetch
|
||||
'';
|
||||
#pfetch on shell start (disable pkgs because of execution time)
|
||||
PF_INFO="ascii title os host kernel uptime memory editor wm" ${pkgs.pfetch-rs}/bin/pfetch
|
||||
'';
|
||||
|
||||
shellAliases = {
|
||||
c = cargo;
|
||||
cr = "${cargo} run";
|
||||
cb = "${cargo} build";
|
||||
shellAliases = {
|
||||
c = cargo;
|
||||
cr = "${cargo} run";
|
||||
cb = "${cargo} build";
|
||||
|
||||
# I hate the red background
|
||||
run0 = "run0 --background=\"\"";
|
||||
# I hate the red background
|
||||
run0 = "run0 --background=\"\"";
|
||||
|
||||
# from DistroTube's dot files: Changing "ls" to "eza"
|
||||
ls = "${eza} -al";
|
||||
la = "${eza} -a";
|
||||
ll = "${eza} -l";
|
||||
lt = "${eza} -aT";
|
||||
# from DistroTube's dot files: Changing "ls" to "eza"
|
||||
ls = "${eza} -al";
|
||||
la = "${eza} -a";
|
||||
ll = "${eza} -l";
|
||||
lt = "${eza} -aT";
|
||||
|
||||
# gets the largest files in a git repo's history
|
||||
"git-size" = ''
|
||||
${pkgs.git}/bin/git rev-list --objects --all |
|
||||
${pkgs.git}/bin/git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' |
|
||||
${pkgs.gnused}/bin/sed -n 's/^blob //p' |
|
||||
${coreutil}/sort --numeric-sort --key=2 |
|
||||
${coreutil}/cut -c 1-12,41- |
|
||||
${coreutil}/numfmt --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest'';
|
||||
# gets the largest files in a git repo's history
|
||||
"git-size" = ''
|
||||
${pkgs.git}/bin/git rev-list --objects --all |
|
||||
${pkgs.git}/bin/git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' |
|
||||
${pkgs.gnused}/bin/sed -n 's/^blob //p' |
|
||||
${coreutil}/sort --numeric-sort --key=2 |
|
||||
${coreutil}/cut -c 1-12,41- |
|
||||
${coreutil}/numfmt --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest'';
|
||||
|
||||
#aliases for (I think) macos commands
|
||||
pbcopy = "${pkgs.wl-clipboard}/bin/wl-copy";
|
||||
pbpaste = "${pkgs.wl-clipboard}/bin/wl-paste";
|
||||
#aliases for (I think) macos commands
|
||||
pbcopy = "${pkgs.wl-clipboard}/bin/wl-copy";
|
||||
pbpaste = "${pkgs.wl-clipboard}/bin/wl-paste";
|
||||
|
||||
nix-cleanup = "doas nix-collect-garbage --delete-older-than 1d && doas nix-store --optimise && doas nix-store --gc";
|
||||
nix-cleanup = "doas nix-collect-garbage --delete-older-than 1d && doas nix-store --optimise && doas nix-store --gc";
|
||||
};
|
||||
|
||||
shellInit = ''
|
||||
fish_add_path ~/.local/bin
|
||||
fish_add_path ~/.cargo/bin
|
||||
set hydro_color_pwd 62A
|
||||
set hydro_color_error red
|
||||
set hydro_color_duration yellow
|
||||
set hydro_color_prompt green
|
||||
set hydro_color_git blue
|
||||
'';
|
||||
|
||||
plugins = [
|
||||
{
|
||||
name = "hydro";
|
||||
src = pkgs.fishPlugins.hydro.src;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
shellInit = ''
|
||||
fish_add_path ~/.local/bin
|
||||
fish_add_path ~/.cargo/bin
|
||||
set hydro_color_pwd 62A
|
||||
set hydro_color_error red
|
||||
set hydro_color_duration yellow
|
||||
set hydro_color_prompt green
|
||||
set hydro_color_git blue
|
||||
'';
|
||||
|
||||
plugins = [
|
||||
{
|
||||
name = "hydro";
|
||||
src = pkgs.fishPlugins.hydro.src;
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,288 +1,290 @@
|
||||
{ pkgs }:
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
enable = true;
|
||||
package = pkgs.helix;
|
||||
settings = {
|
||||
theme = "my_theme";
|
||||
editor = {
|
||||
cursor-shape = {
|
||||
insert = "bar";
|
||||
normal = "block";
|
||||
select = "underline";
|
||||
};
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
package = pkgs.helix;
|
||||
settings = {
|
||||
theme = "my_theme";
|
||||
editor = {
|
||||
cursor-shape = {
|
||||
insert = "bar";
|
||||
normal = "block";
|
||||
select = "underline";
|
||||
};
|
||||
|
||||
file-picker = {
|
||||
hidden = false;
|
||||
};
|
||||
file-picker = {
|
||||
hidden = false;
|
||||
};
|
||||
|
||||
#wrapping!!
|
||||
soft-wrap.enable = true;
|
||||
#wrapping!!
|
||||
soft-wrap.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
languages = {
|
||||
language = [
|
||||
{
|
||||
name = "rust";
|
||||
auto-format = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
themes = {
|
||||
#modified fleet_dark theme
|
||||
my_theme =
|
||||
let
|
||||
white = "#ffffff";
|
||||
gray-120 = "#d1d1d1";
|
||||
gray-110 = "#c2c2c2";
|
||||
gray-100 = "#a0a0a0";
|
||||
gray-90 = "#898989";
|
||||
gray-80 = "#767676";
|
||||
gray-70 = "#5d5d5d";
|
||||
gray-60 = "#484848";
|
||||
gray-50 = "#383838";
|
||||
gray-40 = "#333333";
|
||||
gray-30 = "#2d2d2d";
|
||||
gray-20 = "#292929";
|
||||
gray-15 = "#1F1F1F";
|
||||
gray-10 = "#181818";
|
||||
black = "#000000";
|
||||
blue-110 = "#6daaf7";
|
||||
blue-100 = "#4d9bf8";
|
||||
blue-90 = "#3691f9";
|
||||
blue-80 = "#1a85f6";
|
||||
blue-70 = "#0273eb";
|
||||
blue-60 = "#0c6ddd";
|
||||
blue-50 = "#195eb5";
|
||||
blue-40 = "#194176";
|
||||
blue-30 = "#163764";
|
||||
blue-20 = "#132c4f";
|
||||
blue-10 = "#0b1b32";
|
||||
red-80 = "#ec7388";
|
||||
red-70 = "#ea4b67";
|
||||
red-60 = "#d93953";
|
||||
red-50 = "#ce364d";
|
||||
red-40 = "#c03248";
|
||||
red-30 = "#a72a3f";
|
||||
red-20 = "#761b2d";
|
||||
red-10 = "#390813";
|
||||
green-50 = "#4ca988";
|
||||
green-40 = "#3ea17f";
|
||||
green-30 = "#028764";
|
||||
green-20 = "#134939";
|
||||
green-10 = "#081f19";
|
||||
yellow-60 = "#f8ab17";
|
||||
yellow-50 = "#e1971b";
|
||||
yellow-40 = "#b5791f";
|
||||
yellow-30 = "#7c511a";
|
||||
yellow-20 = "#5a3a14";
|
||||
yellow-10 = "#281806";
|
||||
purple-20 = "#c07bf3";
|
||||
purple-10 = "#b35def";
|
||||
|
||||
blue = "#87C3FF";
|
||||
blue-light = "#ADD1DE";
|
||||
coral = "#CC7C8A";
|
||||
cyan = "#82D2CE";
|
||||
cyan-dark = "#779E9E";
|
||||
lime = "#A8CC7C";
|
||||
orange = "#E09B70";
|
||||
pink = "#E394DC";
|
||||
violet = "#AF9CFF";
|
||||
yellow = "#EBC88D";
|
||||
in
|
||||
{
|
||||
"attribute" = lime;
|
||||
"type" = blue;
|
||||
"type.return" = blue-light;
|
||||
"type.parameter" = blue-light;
|
||||
"constructor" = yellow;
|
||||
"constant" = violet;
|
||||
"constant.builtin.boolean" = cyan;
|
||||
"constant.character" = yellow;
|
||||
"constant.character.escape" = cyan;
|
||||
"constant.numeric" = yellow;
|
||||
"string" = pink;
|
||||
"string.regexp" = cyan;
|
||||
"string.special" = {
|
||||
fg = yellow;
|
||||
modifiers = [ "underlined" ];
|
||||
}; # .path / .url / .symbol
|
||||
|
||||
"comment" = gray-90; # .line
|
||||
# "comment.block" = {} # .documentation
|
||||
"variable" = gray-120; # .builtin
|
||||
"variable.builtin" = {
|
||||
fg = coral;
|
||||
};
|
||||
# "variable.other" = {} # .member
|
||||
"variable.other.member" = violet;
|
||||
"label" = yellow;
|
||||
"keyword" = cyan; # .operator / .directive / .function
|
||||
"function" = yellow;
|
||||
"function.declaration" = "#EFEFEF";
|
||||
"function.macro" = lime;
|
||||
"function.builtin" = lime;
|
||||
"function.special" = lime;
|
||||
#"function.declaration.method" = { fg = "lightest", modifiers = ["bold"] } #depends on #4892
|
||||
"tag" = blue;
|
||||
"special" = lime;
|
||||
"namespace" = blue;
|
||||
|
||||
# used in theming
|
||||
# "markup" = {} # .normal / .quote / .raw
|
||||
# "markup.normal" = {} # .completion / .hover
|
||||
"markup.bold" = {
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"markup.italic" = {
|
||||
modifiers = [ "italic" ];
|
||||
};
|
||||
"markup.strikethrough" = {
|
||||
modifiers = [ "crossed_out" ];
|
||||
};
|
||||
"markup.heading" = {
|
||||
fg = cyan;
|
||||
modifiers = [ "bold" ];
|
||||
}; # .marker / .1 / .2 / .3 / .4 / .5 / .6
|
||||
"markup.list" = pink; # .unnumbered / .numbered
|
||||
"markup.list.numbered" = cyan;
|
||||
"markup.list.unnumbered" = cyan;
|
||||
# "markup.link" = "green"
|
||||
"markup.link.url" = {
|
||||
fg = pink;
|
||||
modifiers = [
|
||||
"italic"
|
||||
"underlined"
|
||||
];
|
||||
};
|
||||
"markup.link.text" = cyan;
|
||||
"markup.link.label" = purple-20;
|
||||
"markup.quote" = pink;
|
||||
"markup.raw" = pink;
|
||||
"markup.raw.inline" = cyan; # .completion / .hover
|
||||
"markup.raw.block" = "#EB83E2";
|
||||
|
||||
"diff.plus" = green-50;
|
||||
"diff.minus" = red-50;
|
||||
"diff.delta" = blue-80;
|
||||
|
||||
# ui specific
|
||||
# "ui.background" = { bg = gray-10; }; # .separator
|
||||
"ui.background" = { };
|
||||
"ui.statusline" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
}; # .inactive / .normal / .insert / .select
|
||||
"ui.statusline.normal" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
};
|
||||
"ui.statusline.inactive" = {
|
||||
fg = gray-90;
|
||||
};
|
||||
"ui.statusline.insert" = {
|
||||
fg = gray-20;
|
||||
bg = blue-90;
|
||||
};
|
||||
"ui.statusline.select" = {
|
||||
fg = gray-20;
|
||||
bg = yellow-60;
|
||||
};
|
||||
|
||||
"ui.cursor" = {
|
||||
modifiers = [ "reversed" ];
|
||||
}; # .insert / .select / .match / .primary
|
||||
"ui.cursor.match" = {
|
||||
bg = blue-30;
|
||||
}; # .insert / .select / .match / .primary
|
||||
"ui.selection" = {
|
||||
bg = gray-50;
|
||||
}; # .primary
|
||||
"ui.selection.primary" = {
|
||||
bg = blue-40;
|
||||
};
|
||||
|
||||
"ui.cursorline" = {
|
||||
bg = gray-15;
|
||||
};
|
||||
"ui.linenr" = gray-70;
|
||||
"ui.linenr.selected" = gray-110;
|
||||
|
||||
"ui.popup" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
}; # .info
|
||||
"ui.window" = {
|
||||
fg = gray-50;
|
||||
};
|
||||
"ui.help" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
};
|
||||
"ui.menu" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
}; # .selected
|
||||
"ui.menu.selected" = {
|
||||
fg = white;
|
||||
bg = blue-40;
|
||||
}; # .selected
|
||||
# Calculated as #ffffff with 30% opacity
|
||||
"ui.menu.scroll" = {
|
||||
fg = "#dfdfdf";
|
||||
};
|
||||
|
||||
"ui.text" = gray-120; # .focus / .info
|
||||
"ui.text.focus" = {
|
||||
fg = white;
|
||||
bg = blue-40;
|
||||
};
|
||||
|
||||
"ui.virtual" = gray-90; # .whitespace
|
||||
"ui.virtual.inlay-hint" = {
|
||||
fg = gray-70;
|
||||
};
|
||||
"ui.virtual.ruler" = {
|
||||
bg = gray-20;
|
||||
};
|
||||
|
||||
"hint" = gray-80;
|
||||
"info" = "#A366C4";
|
||||
"warning" = "#FACb66";
|
||||
"error" = "#FF5269";
|
||||
|
||||
"diagnostic.hint" = {
|
||||
underline = {
|
||||
color = gray-80;
|
||||
style = "line";
|
||||
};
|
||||
};
|
||||
"diagnostic.info" = {
|
||||
underline = {
|
||||
color = "#A366C4";
|
||||
style = "line";
|
||||
};
|
||||
};
|
||||
"diagnostic.warning" = {
|
||||
underline = {
|
||||
color = "#FACB66";
|
||||
style = "line";
|
||||
};
|
||||
};
|
||||
"diagnostic.error" = {
|
||||
underline = {
|
||||
color = "#FF5269";
|
||||
style = "line";
|
||||
};
|
||||
};
|
||||
"diagnostic.unnecessary" = {
|
||||
modifiers = [ "dim" ];
|
||||
};
|
||||
"diagnostic.deprecated" = {
|
||||
modifiers = [ "crossed_out" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
languages = {
|
||||
language = [
|
||||
{
|
||||
name = "rust";
|
||||
auto-format = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
themes = {
|
||||
#modified fleet_dark theme
|
||||
my_theme =
|
||||
let
|
||||
white = "#ffffff";
|
||||
gray-120 = "#d1d1d1";
|
||||
gray-110 = "#c2c2c2";
|
||||
gray-100 = "#a0a0a0";
|
||||
gray-90 = "#898989";
|
||||
gray-80 = "#767676";
|
||||
gray-70 = "#5d5d5d";
|
||||
gray-60 = "#484848";
|
||||
gray-50 = "#383838";
|
||||
gray-40 = "#333333";
|
||||
gray-30 = "#2d2d2d";
|
||||
gray-20 = "#292929";
|
||||
gray-15 = "#1F1F1F";
|
||||
gray-10 = "#181818";
|
||||
black = "#000000";
|
||||
blue-110 = "#6daaf7";
|
||||
blue-100 = "#4d9bf8";
|
||||
blue-90 = "#3691f9";
|
||||
blue-80 = "#1a85f6";
|
||||
blue-70 = "#0273eb";
|
||||
blue-60 = "#0c6ddd";
|
||||
blue-50 = "#195eb5";
|
||||
blue-40 = "#194176";
|
||||
blue-30 = "#163764";
|
||||
blue-20 = "#132c4f";
|
||||
blue-10 = "#0b1b32";
|
||||
red-80 = "#ec7388";
|
||||
red-70 = "#ea4b67";
|
||||
red-60 = "#d93953";
|
||||
red-50 = "#ce364d";
|
||||
red-40 = "#c03248";
|
||||
red-30 = "#a72a3f";
|
||||
red-20 = "#761b2d";
|
||||
red-10 = "#390813";
|
||||
green-50 = "#4ca988";
|
||||
green-40 = "#3ea17f";
|
||||
green-30 = "#028764";
|
||||
green-20 = "#134939";
|
||||
green-10 = "#081f19";
|
||||
yellow-60 = "#f8ab17";
|
||||
yellow-50 = "#e1971b";
|
||||
yellow-40 = "#b5791f";
|
||||
yellow-30 = "#7c511a";
|
||||
yellow-20 = "#5a3a14";
|
||||
yellow-10 = "#281806";
|
||||
purple-20 = "#c07bf3";
|
||||
purple-10 = "#b35def";
|
||||
|
||||
blue = "#87C3FF";
|
||||
blue-light = "#ADD1DE";
|
||||
coral = "#CC7C8A";
|
||||
cyan = "#82D2CE";
|
||||
cyan-dark = "#779E9E";
|
||||
lime = "#A8CC7C";
|
||||
orange = "#E09B70";
|
||||
pink = "#E394DC";
|
||||
violet = "#AF9CFF";
|
||||
yellow = "#EBC88D";
|
||||
in
|
||||
{
|
||||
"attribute" = lime;
|
||||
"type" = blue;
|
||||
"type.return" = blue-light;
|
||||
"type.parameter" = blue-light;
|
||||
"constructor" = yellow;
|
||||
"constant" = violet;
|
||||
"constant.builtin.boolean" = cyan;
|
||||
"constant.character" = yellow;
|
||||
"constant.character.escape" = cyan;
|
||||
"constant.numeric" = yellow;
|
||||
"string" = pink;
|
||||
"string.regexp" = cyan;
|
||||
"string.special" = {
|
||||
fg = yellow;
|
||||
modifiers = [ "underlined" ];
|
||||
}; # .path / .url / .symbol
|
||||
|
||||
"comment" = gray-90; # .line
|
||||
# "comment.block" = {} # .documentation
|
||||
"variable" = gray-120; # .builtin
|
||||
"variable.builtin" = {
|
||||
fg = coral;
|
||||
};
|
||||
# "variable.other" = {} # .member
|
||||
"variable.other.member" = violet;
|
||||
"label" = yellow;
|
||||
"keyword" = cyan; # .operator / .directive / .function
|
||||
"function" = yellow;
|
||||
"function.declaration" = "#EFEFEF";
|
||||
"function.macro" = lime;
|
||||
"function.builtin" = lime;
|
||||
"function.special" = lime;
|
||||
#"function.declaration.method" = { fg = "lightest", modifiers = ["bold"] } #depends on #4892
|
||||
"tag" = blue;
|
||||
"special" = lime;
|
||||
"namespace" = blue;
|
||||
|
||||
# used in theming
|
||||
# "markup" = {} # .normal / .quote / .raw
|
||||
# "markup.normal" = {} # .completion / .hover
|
||||
"markup.bold" = {
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"markup.italic" = {
|
||||
modifiers = [ "italic" ];
|
||||
};
|
||||
"markup.strikethrough" = {
|
||||
modifiers = [ "crossed_out" ];
|
||||
};
|
||||
"markup.heading" = {
|
||||
fg = cyan;
|
||||
modifiers = [ "bold" ];
|
||||
}; # .marker / .1 / .2 / .3 / .4 / .5 / .6
|
||||
"markup.list" = pink; # .unnumbered / .numbered
|
||||
"markup.list.numbered" = cyan;
|
||||
"markup.list.unnumbered" = cyan;
|
||||
# "markup.link" = "green"
|
||||
"markup.link.url" = {
|
||||
fg = pink;
|
||||
modifiers = [
|
||||
"italic"
|
||||
"underlined"
|
||||
];
|
||||
};
|
||||
"markup.link.text" = cyan;
|
||||
"markup.link.label" = purple-20;
|
||||
"markup.quote" = pink;
|
||||
"markup.raw" = pink;
|
||||
"markup.raw.inline" = cyan; # .completion / .hover
|
||||
"markup.raw.block" = "#EB83E2";
|
||||
|
||||
"diff.plus" = green-50;
|
||||
"diff.minus" = red-50;
|
||||
"diff.delta" = blue-80;
|
||||
|
||||
# ui specific
|
||||
# "ui.background" = { bg = gray-10; }; # .separator
|
||||
"ui.background" = { };
|
||||
"ui.statusline" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
}; # .inactive / .normal / .insert / .select
|
||||
"ui.statusline.normal" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
};
|
||||
"ui.statusline.inactive" = {
|
||||
fg = gray-90;
|
||||
};
|
||||
"ui.statusline.insert" = {
|
||||
fg = gray-20;
|
||||
bg = blue-90;
|
||||
};
|
||||
"ui.statusline.select" = {
|
||||
fg = gray-20;
|
||||
bg = yellow-60;
|
||||
};
|
||||
|
||||
"ui.cursor" = {
|
||||
modifiers = [ "reversed" ];
|
||||
}; # .insert / .select / .match / .primary
|
||||
"ui.cursor.match" = {
|
||||
bg = blue-30;
|
||||
}; # .insert / .select / .match / .primary
|
||||
"ui.selection" = {
|
||||
bg = gray-50;
|
||||
}; # .primary
|
||||
"ui.selection.primary" = {
|
||||
bg = blue-40;
|
||||
};
|
||||
|
||||
"ui.cursorline" = {
|
||||
bg = gray-15;
|
||||
};
|
||||
"ui.linenr" = gray-70;
|
||||
"ui.linenr.selected" = gray-110;
|
||||
|
||||
"ui.popup" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
}; # .info
|
||||
"ui.window" = {
|
||||
fg = gray-50;
|
||||
};
|
||||
"ui.help" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
};
|
||||
"ui.menu" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
}; # .selected
|
||||
"ui.menu.selected" = {
|
||||
fg = white;
|
||||
bg = blue-40;
|
||||
}; # .selected
|
||||
# Calculated as #ffffff with 30% opacity
|
||||
"ui.menu.scroll" = {
|
||||
fg = "#dfdfdf";
|
||||
};
|
||||
|
||||
"ui.text" = gray-120; # .focus / .info
|
||||
"ui.text.focus" = {
|
||||
fg = white;
|
||||
bg = blue-40;
|
||||
};
|
||||
|
||||
"ui.virtual" = gray-90; # .whitespace
|
||||
"ui.virtual.inlay-hint" = {
|
||||
fg = gray-70;
|
||||
};
|
||||
"ui.virtual.ruler" = {
|
||||
bg = gray-20;
|
||||
};
|
||||
|
||||
"hint" = gray-80;
|
||||
"info" = "#A366C4";
|
||||
"warning" = "#FACb66";
|
||||
"error" = "#FF5269";
|
||||
|
||||
"diagnostic.hint" = {
|
||||
underline = {
|
||||
color = gray-80;
|
||||
style = "line";
|
||||
};
|
||||
};
|
||||
"diagnostic.info" = {
|
||||
underline = {
|
||||
color = "#A366C4";
|
||||
style = "line";
|
||||
};
|
||||
};
|
||||
"diagnostic.warning" = {
|
||||
underline = {
|
||||
color = "#FACB66";
|
||||
style = "line";
|
||||
};
|
||||
};
|
||||
"diagnostic.error" = {
|
||||
underline = {
|
||||
color = "#FF5269";
|
||||
style = "line";
|
||||
};
|
||||
};
|
||||
"diagnostic.unnecessary" = {
|
||||
modifiers = [ "dim" ];
|
||||
};
|
||||
"diagnostic.deprecated" = {
|
||||
modifiers = [ "crossed_out" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [ librewolf ];
|
||||
|
||||
programs.librewolf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"webgl.disabled" = false;
|
||||
"privacy.resistFingerprinting" = false;
|
||||
"privacy.clearOnShutdown.history" = false;
|
||||
"privacy.clearOnShutdown.cookies" = false;
|
||||
"network.cookie.lifetimePolicy" = 0;
|
||||
"general.useragent.compatMode.firefox" = true;
|
||||
"identity.fxaccounts.enabled" = true;
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown.cookies" = false;
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown_v2.cookiesAndStorage" = false;
|
||||
|
||||
"general.useragent.override" = "Mozilla/5.0 (X11; Linux x86_64; rv:${pkgs.firefox.version}) Gecko/20100101 Firefox/${pkgs.firefox.version}";
|
||||
|
||||
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
|
||||
|
||||
# For themeing
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
"browser.tabs.drawInTitlebar" = true;
|
||||
"svg.context-properties.content.enabled" = true;
|
||||
|
||||
#fake location, FIT (just about)
|
||||
"geo.provider.network.url" =
|
||||
"data:application/json,"
|
||||
+ builtins.toJSON {
|
||||
location = {
|
||||
lat = 28.0749;
|
||||
lng = -80.6302;
|
||||
};
|
||||
accuracy = 1.0;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.file =
|
||||
let
|
||||
chromeTheme = ".librewolf/tckj7njq.default-release/chrome";
|
||||
|
||||
firefoxThemeFile = file: src: {
|
||||
target = "${chromeTheme}/${file}";
|
||||
source = "${inputs.firefox-mod-theme}/${src}/${file}";
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
baseThemeFile = {
|
||||
file = "";
|
||||
src = "";
|
||||
};
|
||||
|
||||
modThemeFiles = [
|
||||
{
|
||||
file = "userChrome.css";
|
||||
}
|
||||
{
|
||||
file = "userContent.css";
|
||||
}
|
||||
{
|
||||
file = "ASSETS";
|
||||
}
|
||||
];
|
||||
in
|
||||
builtins.listToAttrs (
|
||||
map (f: {
|
||||
name = "firefox-theme-${f.file}";
|
||||
value = firefoxThemeFile f.file f.src;
|
||||
}) (map (f: baseThemeFile // f) modThemeFiles)
|
||||
);
|
||||
|
||||
home.sessionVariables = {
|
||||
BROWSER = "librewolf";
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user