reorganize home-manager

This commit is contained in:
2024-09-27 12:08:34 -04:00
parent db224fba5e
commit 444bbf1ce1
6 changed files with 450 additions and 525 deletions

View File

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

View File

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

View File

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

View File

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