initial commit for module-refactor

This commit is contained in:
pagedmov
2024-11-01 21:01:52 -04:00
parent 7bee6ebce5
commit ff2535e7a7
62 changed files with 2819 additions and 2670 deletions

View File

@@ -1,6 +1,11 @@
{...}: {
programs.autojump = {
enable = true;
enableZshIntegration = true;
{lib, config, ...}: {
options = {
autojumpOpts.enable = lib.mkEnableOption "enables my autojump options";
};
config = lib.mkIf config.autojumpOpts.enable {
programs.autojump = {
enable = true;
enableZshIntegration = true;
};
};
}

View File

@@ -1,8 +1,13 @@
{inputs, ...}: {
programs.bat = {
enable = true;
config = {
pager = "less -FR";
{lib, config, inputs, ...}: {
options = {
batOpts.enable = lib.mkEnableOption "enables my bat options";
};
config = lib.mkIf config.batOpts.enable {
programs.bat = {
enable = true;
config = {
pager = "less -FR";
};
};
};
}

View File

@@ -1,19 +1,24 @@
{pkgs, ...}: {
programs.btop = {
enable = true;
settings = {
update_ms = 500;
vim_keys = true;
color_theme = "nord";
theme_background = true;
temp_scale = "fahrenheit";
graph_symbol = "block";
disks_filter = "exclude=/boot /";
show_swap = false;
swap_disk = false;
};
{lib, config, pkgs, ...}: {
options = {
btopConfig.enable = lib.mkEnableOption "enables my btop config";
};
config = lib.mkIf config.btopConfig.enable {
programs.btop = {
enable = true;
home.packages = with pkgs; [nvtopPackages.intel];
settings = {
update_ms = 500;
vim_keys = true;
color_theme = "nord";
theme_background = true;
temp_scale = "fahrenheit";
graph_symbol = "block";
disks_filter = "exclude=/boot /";
show_swap = false;
swap_disk = false;
};
};
home.packages = with pkgs; [nvtopPackages.intel];
};
}

View File

@@ -1,9 +1,10 @@
{
inputs,
pkgs,
...
}: {
programs.cava = {
enable = true;
{lib, config, inputs, pkgs, ... }: {
options = {
cavaOpts.enable = lib.mkEnableOption "enables my cava settings";
};
config = lib.mkIf config.cavaOpts.enable {
programs.cava = {
enable = true;
};
};
}

View File

@@ -1,9 +1,14 @@
{...}: {
programs.eza = {
enable = true;
enableZshIntegration = false;
extraOptions = ["-1" "-h" "--group-directories-first"];
icons = "auto";
git = true;
{lib, config, ...}: {
options = {
ezaOpts.enable = lib.mkEnableOption "enables my eza options";
};
config = lib.mkIf config.ezaOpts.enable {
programs.eza = {
enable = true;
enableZshIntegration = false;
extraOptions = ["-1" "-h" "--group-directories-first"];
icons = "auto";
git = true;
};
};
}

View File

@@ -1,127 +1,127 @@
{
nur,
username,
self,
...
}: {
programs.firefox = {
enable = true;
policies = {
DisableTelemetry = true;
DisableFirefoxStudies = true;
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
{lib, config, nur, username, self, ... }: {
options = {
firefoxConfig.enable = lib.mkEnableOption "enables my firefox configuration";
};
config = lib.mkIf config.firefoxConfig.enable {
programs.firefox = {
enable = true;
policies = {
DisableTelemetry = true;
DisableFirefoxStudies = true;
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
DisablePocket = true;
DisableFirefoxAccounts = true;
DisableAccounts = true;
DisableFirefoxScreenshots = true;
OverrideFirstRunPage = "";
OverridePostUpdatePage = "";
DontCheckDefaultBrowser = true;
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
SearchBar = "unified"; # alternative: "separate" isDefault = true;
};
profiles.${username} = {
name = "${username}";
bookmarks = [
{
name = "Nix Sites";
toolbar = true;
bookmarks = [
{
name = "NixOS Wiki";
url = "https://nixos.wiki/wiki/Main_Page";
}
{
name = "Nixpkgs Reference Manual";
url = "https://nixos.org/manual/nixpkgs/stable/";
}
{
name = "NixOS Manual";
url = "https://nixos.org/manual/nixos/stable/";
}
{
name = "NixOS Options";
url = "https://search.nixos.org/options";
}
{
name = "Home Manager Options";
url = "https://home-manager-options.extranix.com/";
}
{
name = "Nixpkgs Package Search";
url = "https://search.nixos.org/packages";
}
{
name = "Noogle - Nixpkgs Function Docs";
url = "https://noogle.dev";
}
{
name = "Nixvim Docs";
url = "https://nix-community.github.io/nixvim/";
}
];
}
{
name = "Rust Manual";
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
}
{
name = "ChatGPT";
url = "https://chatgpt.com/";
}
{
name = "DataAnnotation";
url = "https://app.dataannotation.tech/users/sign_in";
}
{
name = "Nerd Fonts Cheatsheet";
url = "https://www.nerdfonts.com/cheat-sheet";
}
];
extensions = with nur.repos.rycee.firefox-addons; [
darkreader
adnauseam
cookie-autodelete
disconnect
firefox-color
vimium
firenvim
privacy-badger
new-tab-override
];
extraConfig = ''
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
"browser.active_color" = "#EE0000";
"browser.active_color.dark" = "#FF6666";
"browser.anchor_color" = "#0000EE";
"browser.anchor_color.dark" = "#8C8CFF";
"browser.display.background_color" = "#FFFFFF";
"browser.display.background_color.dark" = "#1C1B22";
"browser.display.document_color_use" = "1";
"browser.display.foreground_color" = "#000000";
"browser.display.foreground_color.dark" = "#FBFBFE";
"browser.display.suppress_canvas_background_image_on_forced_colors" = "true";
"browser.display.use_system_colors" = "false";
"browser.newtabpage.activity-stream.newNewtabExperience.colors" = "#0090ED,#FF4F5F,#2AC3A2,#FF7139,#A172FF,#FFA437,#FF2A8A";
"browser.theme.colorway-closet" = "true";
"browser.theme.colorway-migration" = "true";
"browser.theme.windows.accent-color-in-tabs.enabled" = "false";
"browser.visited_color" = "#551A8B";
"browser.visited_color.dark" = "#FFADFF";
"browser.newtabpage.pinned" = [{
title = "Homepage";
url = "${self}/glasshouse-desktop/home/firefox/homepage.html";
}];
"devtools.defaultColorUnit" = "authored";
"editor.background_color" = "#FFFFFF";
"editor.use_custom_colors" = "false";
'';
};
DisablePocket = true;
DisableFirefoxAccounts = true;
DisableAccounts = true;
DisableFirefoxScreenshots = true;
OverrideFirstRunPage = "";
OverridePostUpdatePage = "";
DontCheckDefaultBrowser = true;
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
SearchBar = "unified"; # alternative: "separate" isDefault = true;
};
profiles.${username} = {
name = "${username}";
bookmarks = [
{
name = "Nix Sites";
toolbar = true;
bookmarks = [
{
name = "NixOS Wiki";
url = "https://nixos.wiki/wiki/Main_Page";
}
{
name = "Nixpkgs Reference Manual";
url = "https://nixos.org/manual/nixpkgs/stable/";
}
{
name = "NixOS Manual";
url = "https://nixos.org/manual/nixos/stable/";
}
{
name = "NixOS Options";
url = "https://search.nixos.org/options";
}
{
name = "Home Manager Options";
url = "https://home-manager-options.extranix.com/";
}
{
name = "Nixpkgs Package Search";
url = "https://search.nixos.org/packages";
}
{
name = "Noogle - Nixpkgs Function Docs";
url = "https://noogle.dev";
}
{
name = "Nixvim Docs";
url = "https://nix-community.github.io/nixvim/";
}
];
}
{
name = "Rust Manual";
url = "https://doc.rust-lang.org/book/ch01-03-hello-cargo.html";
}
{
name = "ChatGPT";
url = "https://chatgpt.com/";
}
{
name = "DataAnnotation";
url = "https://app.dataannotation.tech/users/sign_in";
}
{
name = "Nerd Fonts Cheatsheet";
url = "https://www.nerdfonts.com/cheat-sheet";
}
];
extensions = with nur.repos.rycee.firefox-addons; [
darkreader
adnauseam
cookie-autodelete
disconnect
firefox-color
vimium
firenvim
privacy-badger
new-tab-override
];
extraConfig = ''
"browser.startup.homepage" = "${self}/glasshouse-desktop/home/firefox/homepage.html";
"browser.active_color" = "#EE0000";
"browser.active_color.dark" = "#FF6666";
"browser.anchor_color" = "#0000EE";
"browser.anchor_color.dark" = "#8C8CFF";
"browser.display.background_color" = "#FFFFFF";
"browser.display.background_color.dark" = "#1C1B22";
"browser.display.document_color_use" = "1";
"browser.display.foreground_color" = "#000000";
"browser.display.foreground_color.dark" = "#FBFBFE";
"browser.display.suppress_canvas_background_image_on_forced_colors" = "true";
"browser.display.use_system_colors" = "false";
"browser.newtabpage.activity-stream.newNewtabExperience.colors" = "#0090ED,#FF4F5F,#2AC3A2,#FF7139,#A172FF,#FFA437,#FF2A8A";
"browser.theme.colorway-closet" = "true";
"browser.theme.colorway-migration" = "true";
"browser.theme.windows.accent-color-in-tabs.enabled" = "false";
"browser.visited_color" = "#551A8B";
"browser.visited_color.dark" = "#FFADFF";
"browser.newtabpage.pinned" = [{
title = "Homepage";
url = "${self}/glasshouse-desktop/home/firefox/homepage.html";
}];
"devtools.defaultColorUnit" = "authored";
"editor.background_color" = "#FFFFFF";
"editor.use_custom_colors" = "false";
'';
};
};
}

View File

@@ -1,23 +1,28 @@
{lib, ...}: {
programs.fuzzel = {
enable = true;
settings = {
main = {
line-height = 25;
fields = "name,generic,comment,categories,filename,keywords";
terminal = "kitty";
prompt = "' '";
layer = "top";
lines = 10;
width = 35;
horizontal-pad = 25;
inner-pad = 5;
{config, lib, ...}: {
options = {
fuzzelConfig.enable = lib.mkEnableOption "enables my fuzzel configuration";
};
config = lib.mkIf config.fuzzelConfig.enable {
programs.fuzzel = {
enable = true;
settings = {
main = {
line-height = 25;
fields = "name,generic,comment,categories,filename,keywords";
terminal = "kitty";
prompt = "' '";
layer = "top";
lines = 10;
width = 35;
horizontal-pad = 25;
inner-pad = 5;
};
border = {
radius = 15;
width = 3;
};
colors.background = lib.mkForce "2e344080";
};
border = {
radius = 15;
width = 3;
};
colors.background = lib.mkForce "2e344080";
};
};
}

View File

@@ -1,6 +1,11 @@
{...}: {
programs.fzf = {
enable = true;
enableZshIntegration = true;
{lib, config, ...}: {
options = {
fzfOpts.enable = lib.mkEnableOption "enables my fzf options";
};
config = lib.mkIf config.fzfOpts.enable {
programs.fzf = {
enable = true;
enableZshIntegration = true;
};
};
}

View File

@@ -1,7 +1,12 @@
{username, ...}: {
programs.git = {
enable = true;
userEmail = "${username}@gmail.com";
userName = "${username}";
{lib, config, username, ...}: {
options = {
gitConfig.enable = lib.mkEnableOption "enables my git configuration";
};
config = lib.mkIf config.gitConfig.enable {
programs.git = {
enable = true;
userEmail = "${username}@gmail.com";
userName = "${username}";
};
};
}

View File

@@ -1,73 +1,74 @@
{
pkgs,
scheme,
...
}: {
programs.kitty = {
enable = true;
{lib, config, pkgs, scheme, ... }: {
options = {
kittyConfig.enable = lib.mkEnableOption "enables my kitty configuration";
};
config = lib.mkIf config.kittyConfig.enable {
programs.kitty = {
enable = true;
settings = {
confirm_os_window_close = 0;
window_padding_width = 4;
scrollback_lines = 10000;
enable_audio_bell = false;
allow_remote_control = true;
mouse_hide_wait = 60;
settings = {
confirm_os_window_close = 0;
window_padding_width = 4;
scrollback_lines = 10000;
enable_audio_bell = false;
allow_remote_control = true;
mouse_hide_wait = 60;
## Tabs
tab_title_template = "{index}";
active_tab_font_style = "normal";
inactive_tab_font_style = "normal";
tab_bar_style = "powerline";
tab_powerline_style = "round";
## Tabs
tab_title_template = "{index}";
active_tab_font_style = "normal";
inactive_tab_font_style = "normal";
tab_bar_style = "powerline";
tab_powerline_style = "round";
};
keybindings = {
## Tabs
"alt+1" = "goto_tab 1";
"alt+2" = "goto_tab 2";
"alt+3" = "goto_tab 3";
"alt+4" = "goto_tab 4";
## Unbind
"ctrl+shift+left" = "no_op";
"ctrl+shift+right" = "no_op";
};
extraConfig = ''
background #${scheme.base00}
foreground #${scheme.base05}
selection_background #${scheme.base05}
selection_foreground #${scheme.base00}
url_color #${scheme.base04}
cursor #${scheme.base05}
active_border_color #${scheme.base03}
inactive_border_color #${scheme.base01}
active_tab_background #${scheme.base00}
active_tab_foreground #${scheme.base05}
inactive_tab_background #${scheme.base01}
inactive_tab_foreground #${scheme.base04}
tab_bar_background #${scheme.base01}
# normal
color0 #${scheme.base01}
color1 #${scheme.base08}
color2 #${scheme.base0B}
color3 #${scheme.base0A}
color4 #${scheme.base0D}
color5 #${scheme.base0E}
color6 #${scheme.base0C}
color7 #${scheme.base05}
# bright
color8 #${scheme.base03}
color9 #${scheme.base09}
color10 #${scheme.base01}
color11 #${scheme.base02}
color12 #${scheme.base04}
color13 #${scheme.base06}
color14 #${scheme.base0F}
color15 #${scheme.base07}
'';
};
keybindings = {
## Tabs
"alt+1" = "goto_tab 1";
"alt+2" = "goto_tab 2";
"alt+3" = "goto_tab 3";
"alt+4" = "goto_tab 4";
## Unbind
"ctrl+shift+left" = "no_op";
"ctrl+shift+right" = "no_op";
};
extraConfig = ''
background #${scheme.base00}
foreground #${scheme.base05}
selection_background #${scheme.base05}
selection_foreground #${scheme.base00}
url_color #${scheme.base04}
cursor #${scheme.base05}
active_border_color #${scheme.base03}
inactive_border_color #${scheme.base01}
active_tab_background #${scheme.base00}
active_tab_foreground #${scheme.base05}
inactive_tab_background #${scheme.base01}
inactive_tab_foreground #${scheme.base04}
tab_bar_background #${scheme.base01}
# normal
color0 #${scheme.base01}
color1 #${scheme.base08}
color2 #${scheme.base0B}
color3 #${scheme.base0A}
color4 #${scheme.base0D}
color5 #${scheme.base0E}
color6 #${scheme.base0C}
color7 #${scheme.base05}
# bright
color8 #${scheme.base03}
color9 #${scheme.base09}
color10 #${scheme.base01}
color11 #${scheme.base02}
color12 #${scheme.base04}
color13 #${scheme.base06}
color14 #${scheme.base0F}
color15 #${scheme.base07}
'';
};
}

View File

@@ -1,10 +1,15 @@
{username, ...}: let
{lib, config, username, ...}: let
home = "/home/${username}";
in {
programs.password-store = {
enable = true;
settings = {
PASSWORD_STORE_DIR = "${home}/.password-store";
options = {
passConfig.enable = lib.mkEnableOption "enables my pass config";
};
config = lib.mkIf config.passConfig.enable {
programs.password-store = {
enable = true;
settings = {
PASSWORD_STORE_DIR = "${home}/.password-store";
};
};
};
}

View File

@@ -1,6 +1,11 @@
{...}: {
programs.yazi = {
enable = true;
enableZshIntegration = true;
{lib, config, ...}: {
options = {
yaziConfig.enable = lib.mkEnableOption "enables my yazi config";
};
config = lib.mkIf config.yaziConfig.enable {
programs.yazi = {
enable = true;
enableZshIntegration = true;
};
};
}