reorganize home-manager
This commit is contained in:
@@ -7,8 +7,8 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./no-gui.nix
|
./no-gui.nix
|
||||||
# ./progs/librewolf.nix
|
|
||||||
./progs/gpt4all/gpt4all.nix
|
./progs/gpt4all/gpt4all.nix
|
||||||
|
./progs/alacritty.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.config.allowUnfreePredicate =
|
nixpkgs.config.allowUnfreePredicate =
|
||||||
@@ -110,13 +110,6 @@
|
|||||||
BROWSER = "zen";
|
BROWSER = "zen";
|
||||||
};
|
};
|
||||||
|
|
||||||
#Terminal emulator
|
|
||||||
programs.alacritty = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.alacritty;
|
|
||||||
settings = import ./progs/alacritty.nix { inherit pkgs; };
|
|
||||||
};
|
|
||||||
|
|
||||||
#for trezor stuff
|
#for trezor stuff
|
||||||
/*
|
/*
|
||||||
trezor-udev-rules #trezor udev rules
|
trezor-udev-rules #trezor udev rules
|
||||||
|
|||||||
@@ -7,6 +7,11 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
./progs/fish.nix
|
||||||
|
./progs/helix.nix
|
||||||
|
];
|
||||||
|
|
||||||
home.stateVersion = "24.11";
|
home.stateVersion = "24.11";
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -186,12 +191,6 @@
|
|||||||
${pkgs.gnupg}/bin/gpg --import ${config.age.secrets.gnupg.path}
|
${pkgs.gnupg}/bin/gpg --import ${config.age.secrets.gnupg.path}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
#fish shell!
|
|
||||||
programs.fish = import ./progs/fish.nix { inherit pkgs; };
|
|
||||||
|
|
||||||
#text editor
|
|
||||||
programs.helix = import ./progs/helix.nix { inherit pkgs; };
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,124 +1,130 @@
|
|||||||
{ pkgs }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
#use the fish shell
|
programs.alacritty = {
|
||||||
shell.program = "${pkgs.fish}/bin/fish";
|
enable = true;
|
||||||
|
package = pkgs.alacritty;
|
||||||
|
settings = {
|
||||||
|
#use the fish shell
|
||||||
|
shell.program = "${pkgs.fish}/bin/fish";
|
||||||
|
|
||||||
#some programs can't handle alacritty
|
#some programs can't handle alacritty
|
||||||
env.TERM = "xterm-256color";
|
env.TERM = "xterm-256color";
|
||||||
|
|
||||||
window = {
|
window = {
|
||||||
#using a window manager, no decorations needed
|
#using a window manager, no decorations needed
|
||||||
decorations = "none";
|
decorations = "none";
|
||||||
|
|
||||||
#semi-transparent
|
#semi-transparent
|
||||||
opacity = 0.95;
|
opacity = 0.95;
|
||||||
|
|
||||||
#padding between the content of the terminal and the edge
|
#padding between the content of the terminal and the edge
|
||||||
padding = {
|
padding = {
|
||||||
x = 10;
|
x = 10;
|
||||||
y = 10;
|
y = 10;
|
||||||
};
|
};
|
||||||
|
|
||||||
dimensions = {
|
dimensions = {
|
||||||
columns = 80;
|
columns = 80;
|
||||||
lines = 40;
|
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";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
italic = baseFont // {
|
scrolling = {
|
||||||
style = "Italic";
|
history = 1000;
|
||||||
|
multiplier = 3;
|
||||||
};
|
};
|
||||||
|
|
||||||
offset.y = 0;
|
font =
|
||||||
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
|
let
|
||||||
foreground = normal.black;
|
baseFont = {
|
||||||
background = normal.cyan;
|
family = "JetBrains Mono Nerd Font";
|
||||||
|
style = "Regular";
|
||||||
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
matches = {
|
size = 12;
|
||||||
inherit foreground background;
|
|
||||||
|
normal = baseFont;
|
||||||
|
|
||||||
|
bold = baseFont // {
|
||||||
|
style = "Bold";
|
||||||
};
|
};
|
||||||
|
|
||||||
focused_match = {
|
italic = baseFont // {
|
||||||
inherit foreground background;
|
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 = {
|
cursor = {
|
||||||
text = "CellForeground";
|
style = "Underline";
|
||||||
background = "0x303340";
|
vi_mode_style = "Underline";
|
||||||
};
|
|
||||||
|
|
||||||
vi_mode_cursor = {
|
|
||||||
text = "CellBackground";
|
|
||||||
cursor = "CellForeground";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
cursor = {
|
|
||||||
style = "Underline";
|
|
||||||
vi_mode_style = "Underline";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,67 +1,69 @@
|
|||||||
{ pkgs }:
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
eza = "${pkgs.eza}/bin/eza --color=always --group-directories-first";
|
eza = "${pkgs.eza}/bin/eza --color=always --group-directories-first";
|
||||||
cargo = "${pkgs.cargo}/bin/cargo";
|
cargo = "${pkgs.cargo}/bin/cargo";
|
||||||
coreutil = "${pkgs.coreutils}/bin";
|
coreutil = "${pkgs.coreutils}/bin";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
enable = true;
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
#disable greeting
|
#disable greeting
|
||||||
set fish_greeting
|
set fish_greeting
|
||||||
|
|
||||||
#fixes gnupg password entry
|
#fixes gnupg password entry
|
||||||
export GPG_TTY=(${coreutil}/tty)
|
export GPG_TTY=(${coreutil}/tty)
|
||||||
|
|
||||||
#pfetch on shell start (disable pkgs because of execution time)
|
#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
|
PF_INFO="ascii title os host kernel uptime memory editor wm" ${pkgs.pfetch-rs}/bin/pfetch
|
||||||
'';
|
'';
|
||||||
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
c = cargo;
|
c = cargo;
|
||||||
cr = "${cargo} run";
|
cr = "${cargo} run";
|
||||||
cb = "${cargo} build";
|
cb = "${cargo} build";
|
||||||
|
|
||||||
# I hate the red background
|
# I hate the red background
|
||||||
run0 = "run0 --background=\"\"";
|
run0 = "run0 --background=\"\"";
|
||||||
|
|
||||||
# from DistroTube's dot files: Changing "ls" to "eza"
|
# from DistroTube's dot files: Changing "ls" to "eza"
|
||||||
ls = "${eza} -al";
|
ls = "${eza} -al";
|
||||||
la = "${eza} -a";
|
la = "${eza} -a";
|
||||||
ll = "${eza} -l";
|
ll = "${eza} -l";
|
||||||
lt = "${eza} -aT";
|
lt = "${eza} -aT";
|
||||||
|
|
||||||
# gets the largest files in a git repo's history
|
# gets the largest files in a git repo's history
|
||||||
"git-size" = ''
|
"git-size" = ''
|
||||||
${pkgs.git}/bin/git rev-list --objects --all |
|
${pkgs.git}/bin/git rev-list --objects --all |
|
||||||
${pkgs.git}/bin/git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' |
|
${pkgs.git}/bin/git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' |
|
||||||
${pkgs.gnused}/bin/sed -n 's/^blob //p' |
|
${pkgs.gnused}/bin/sed -n 's/^blob //p' |
|
||||||
${coreutil}/sort --numeric-sort --key=2 |
|
${coreutil}/sort --numeric-sort --key=2 |
|
||||||
${coreutil}/cut -c 1-12,41- |
|
${coreutil}/cut -c 1-12,41- |
|
||||||
${coreutil}/numfmt --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest'';
|
${coreutil}/numfmt --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest'';
|
||||||
|
|
||||||
#aliases for (I think) macos commands
|
#aliases for (I think) macos commands
|
||||||
pbcopy = "${pkgs.wl-clipboard}/bin/wl-copy";
|
pbcopy = "${pkgs.wl-clipboard}/bin/wl-copy";
|
||||||
pbpaste = "${pkgs.wl-clipboard}/bin/wl-paste";
|
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;
|
programs.helix = {
|
||||||
package = pkgs.helix;
|
enable = true;
|
||||||
settings = {
|
package = pkgs.helix;
|
||||||
theme = "my_theme";
|
settings = {
|
||||||
editor = {
|
theme = "my_theme";
|
||||||
cursor-shape = {
|
editor = {
|
||||||
insert = "bar";
|
cursor-shape = {
|
||||||
normal = "block";
|
insert = "bar";
|
||||||
select = "underline";
|
normal = "block";
|
||||||
};
|
select = "underline";
|
||||||
|
};
|
||||||
|
|
||||||
file-picker = {
|
file-picker = {
|
||||||
hidden = false;
|
hidden = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
#wrapping!!
|
#wrapping!!
|
||||||
soft-wrap.enable = true;
|
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