updates :3
This commit is contained in:
parent
825f05c50a
commit
dd60fce00f
20 changed files with 1360 additions and 565 deletions
611
modules/home/apps/helpers/walker/default.nix
Normal file
611
modules/home/apps/helpers/walker/default.nix
Normal file
|
|
@ -0,0 +1,611 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.custom; let
|
||||
cfg = config.apps.helpers.walker;
|
||||
in {
|
||||
options.apps.helpers.walker = with types; {
|
||||
enable = mkBoolOpt false "Enable Walker";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.walker = {
|
||||
enable = true;
|
||||
runAsService = true;
|
||||
|
||||
theme = {
|
||||
layout = {
|
||||
ui = {
|
||||
anchors = {
|
||||
bottom = true;
|
||||
left = true;
|
||||
right = true;
|
||||
top = true;
|
||||
};
|
||||
|
||||
window = {
|
||||
h_align = "fill";
|
||||
v_align = "fill";
|
||||
|
||||
box = {
|
||||
h_align = "center";
|
||||
width = 450;
|
||||
|
||||
bar = {
|
||||
orientation = "horizontal";
|
||||
position = "end";
|
||||
|
||||
entry = {
|
||||
h_align = "fill";
|
||||
h_expand = true;
|
||||
|
||||
icon = {
|
||||
h_align = "center";
|
||||
h_expand = true;
|
||||
pixel_size = 24;
|
||||
theme = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
margins = {
|
||||
top = 450;
|
||||
};
|
||||
|
||||
ai_scroll = {
|
||||
name = "aiScroll";
|
||||
h_align = "fill";
|
||||
v_align = "fill";
|
||||
max_height = 300;
|
||||
min_width = 400;
|
||||
height = 300;
|
||||
width = 400;
|
||||
|
||||
margins = {
|
||||
top = 8;
|
||||
};
|
||||
|
||||
list = {
|
||||
name = "aiList";
|
||||
orientation = "vertical";
|
||||
width = 400;
|
||||
spacing = 10;
|
||||
|
||||
item = {
|
||||
name = "aiItem";
|
||||
h_align = "fill";
|
||||
v_align = "fill";
|
||||
x_align = 0;
|
||||
y_align = 0;
|
||||
wrap = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
scroll = {
|
||||
list = {
|
||||
marker_color = "#1BFFE1";
|
||||
max_height = 300;
|
||||
max_width = 400;
|
||||
min_width = 400;
|
||||
width = 400;
|
||||
|
||||
item = {
|
||||
activation_label = {
|
||||
h_align = "fill";
|
||||
v_align = "fill";
|
||||
width = 20;
|
||||
x_align = 0.5;
|
||||
y_align = 0.5;
|
||||
};
|
||||
|
||||
icon = {
|
||||
pixel_size = 26;
|
||||
theme = "";
|
||||
};
|
||||
};
|
||||
|
||||
margins = {
|
||||
top = 8;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
search = {
|
||||
prompt = {
|
||||
name = "prompt";
|
||||
icon = "edit-find";
|
||||
theme = "";
|
||||
pixel_size = 18;
|
||||
h_align = "center";
|
||||
v_align = "center";
|
||||
};
|
||||
|
||||
clear = {
|
||||
name = "clear";
|
||||
icon = "edit-clear";
|
||||
theme = "";
|
||||
pixel_size = 18;
|
||||
h_align = "center";
|
||||
v_align = "center";
|
||||
};
|
||||
|
||||
input = {
|
||||
h_align = "fill";
|
||||
h_expand = true;
|
||||
icons = true;
|
||||
};
|
||||
|
||||
spinner = {
|
||||
hide = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
style = ''
|
||||
@define-color foreground ${colors.fg.hex}; /* text */
|
||||
@define-color background ${colors.bg.hex}; /* base */
|
||||
@define-color cursor ${colors.primary.hex}; /* rosewater */
|
||||
|
||||
@define-color color0 ${colors.surface0.hex}; /* surface0 */
|
||||
@define-color color1 ${colors.red.hex}; /* red */
|
||||
@define-color color2 ${colors.green.hex}; /* green */
|
||||
@define-color color3 ${colors.yellow.hex}; /* yellow */
|
||||
@define-color color4 ${colors.blue.hex}; /* blue */
|
||||
@define-color color5 ${colors.pink.hex}; /* pink */
|
||||
@define-color color6 ${colors.teal.hex}; /* teal */
|
||||
@define-color color7 ${colors.subtext1.hex}; /* subtext1 */
|
||||
@define-color color8 ${colors.surface1.hex}; /* surface1 */
|
||||
@define-color color9 ${colors.red.hex}; /* red */
|
||||
@define-color color10 ${colors.green.hex}; /* green */
|
||||
@define-color color11 ${colors.yellow.hex}; /* yellow */
|
||||
@define-color color12 ${colors.blue.hex}; /* blue */
|
||||
@define-color color13 ${colors.pink.hex}; /* pink */
|
||||
@define-color color14 ${colors.teal.hex}; /* teal */
|
||||
@define-color color15 ${colors.subtext0.hex}; /* subtext0 */
|
||||
|
||||
#window,
|
||||
#box,
|
||||
#aiScroll,
|
||||
#aiList,
|
||||
#search,
|
||||
#password,
|
||||
#input,
|
||||
#prompt,
|
||||
#clear,
|
||||
#typeahead,
|
||||
#list,
|
||||
child,
|
||||
scrollbar,
|
||||
slider,
|
||||
#item,
|
||||
#text,
|
||||
#label,
|
||||
#bar,
|
||||
#sub,
|
||||
#activationlabel {
|
||||
all: unset;
|
||||
}
|
||||
|
||||
#cfgerr {
|
||||
background: rgba(255, 0, 0, 0.4);
|
||||
margin-top: 20px;
|
||||
padding: 8px;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
#window {
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
#box {
|
||||
border-radius: 2px;
|
||||
background: @background;
|
||||
padding: 32px;
|
||||
border: 1px solid lighter(@background);
|
||||
box-shadow:
|
||||
0 19px 38px rgba(0, 0, 0, 0.3),
|
||||
0 15px 12px rgba(0, 0, 0, 0.22);
|
||||
}
|
||||
|
||||
#search {
|
||||
box-shadow:
|
||||
0 1px 3px rgba(0, 0, 0, 0.1),
|
||||
0 1px 2px rgba(0, 0, 0, 0.22);
|
||||
background: lighter(@background);
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
#prompt {
|
||||
margin-left: 4px;
|
||||
margin-right: 12px;
|
||||
color: @foreground;
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
#clear {
|
||||
color: @foreground;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
#password,
|
||||
#input,
|
||||
#typeahead {
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
#input {
|
||||
background: none;
|
||||
}
|
||||
|
||||
#password {
|
||||
}
|
||||
|
||||
#spinner {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
#typeahead {
|
||||
color: @foreground;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
#input placeholder {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
#list {
|
||||
}
|
||||
|
||||
child {
|
||||
padding: 8px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
child:selected,
|
||||
child:hover {
|
||||
background: alpha(@color1, 0.4);
|
||||
}
|
||||
|
||||
#item {
|
||||
}
|
||||
|
||||
#icon {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
#text {
|
||||
}
|
||||
|
||||
#label {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
#sub {
|
||||
opacity: 0.5;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
#activationlabel {
|
||||
}
|
||||
|
||||
#bar {
|
||||
}
|
||||
|
||||
.barentry {
|
||||
}
|
||||
|
||||
.activation #activationlabel {
|
||||
}
|
||||
|
||||
.activation #text,
|
||||
.activation #icon,
|
||||
.activation #search {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.aiItem {
|
||||
padding: 10px;
|
||||
border-radius: 2px;
|
||||
color: @foreground;
|
||||
background: @background;
|
||||
}
|
||||
|
||||
.aiItem.user {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.aiItem.assistant {
|
||||
background: lighter(@background);
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
||||
config = {
|
||||
app_launch_prefix = "";
|
||||
terminal_title_flag = "";
|
||||
locale = "";
|
||||
close_when_open = false;
|
||||
theme = "nixos";
|
||||
monitor = "";
|
||||
hotreload_theme = false;
|
||||
as_window = false;
|
||||
timeout = 0;
|
||||
disable_click_to_close = false;
|
||||
force_keyboard_focus = false;
|
||||
|
||||
keys = {
|
||||
accept_typeahead = ["tab"];
|
||||
trigger_labels = "lalt";
|
||||
next = ["down"];
|
||||
prev = ["up"];
|
||||
close = ["esc"];
|
||||
remove_from_history = ["shift backspace"];
|
||||
resume_query = ["ctrl r"];
|
||||
toggle_exact_search = ["ctrl m"];
|
||||
|
||||
activation_modifiers = {
|
||||
keep_open = "shift";
|
||||
alternate = "alt";
|
||||
};
|
||||
|
||||
ai = {
|
||||
clear_session = ["ctrl x"];
|
||||
copy_last_response = ["ctrl c"];
|
||||
resume_session = ["ctrl r"];
|
||||
run_last_response = ["ctrl e"];
|
||||
};
|
||||
};
|
||||
|
||||
events = {
|
||||
on_activate = "";
|
||||
on_selection = "";
|
||||
on_exit = "";
|
||||
on_launch = "";
|
||||
on_query_change = "";
|
||||
};
|
||||
|
||||
list = {
|
||||
dynamic_sub = true;
|
||||
keyboard_scroll_style = "emacs";
|
||||
max_entries = 50;
|
||||
show_initial_entries = true;
|
||||
single_click = true;
|
||||
visibility_threshold = 20;
|
||||
placeholder = "No Results";
|
||||
};
|
||||
|
||||
search = {
|
||||
argument_delimiter = "#";
|
||||
placeholder = "Search...";
|
||||
delay = 0;
|
||||
resume_last_query = false;
|
||||
};
|
||||
|
||||
activation_mode = {
|
||||
labels = "jkl;asdf";
|
||||
};
|
||||
|
||||
builtins = {
|
||||
applications = {
|
||||
weight = 5;
|
||||
name = "applications";
|
||||
placeholder = "Applications";
|
||||
prioritize_new = true;
|
||||
hide_actions_with_empty_query = true;
|
||||
context_aware = true;
|
||||
refresh = true;
|
||||
show_sub_when_single = true;
|
||||
show_icon_when_single = true;
|
||||
show_generic = true;
|
||||
history = true;
|
||||
|
||||
actions = {
|
||||
enabled = true;
|
||||
hide_category = false;
|
||||
hide_without_query = true;
|
||||
};
|
||||
};
|
||||
|
||||
bookmarks = {
|
||||
weight = 5;
|
||||
placeholder = "Bookmarks";
|
||||
name = "bookmarks";
|
||||
icon = "bookmark";
|
||||
switcher_only = true;
|
||||
|
||||
entries = [
|
||||
{
|
||||
label = "Walker";
|
||||
url = "https://github.com/abenz1267/walker";
|
||||
keywords = ["walker" "github"];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
xdph_picker = {
|
||||
hidden = true;
|
||||
weight = 5;
|
||||
placeholder = "Screen/Window Picker";
|
||||
show_sub_when_single = true;
|
||||
name = "xdphpicker";
|
||||
switcher_only = true;
|
||||
};
|
||||
|
||||
ai = {
|
||||
weight = 5;
|
||||
placeholder = "AI";
|
||||
name = "ai";
|
||||
icon = "help-browser";
|
||||
switcher_only = true;
|
||||
show_sub_when_single = true;
|
||||
|
||||
anthropic = {
|
||||
prompts = [
|
||||
{
|
||||
model = "claude-3-7-sonnet-20250219";
|
||||
temperature = 1;
|
||||
max_tokens = 1000;
|
||||
label = "General Assistant";
|
||||
prompt = "You are a helpful general assistant. Keep your answers short and precise.";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
calc = {
|
||||
require_number = true;
|
||||
weight = 5;
|
||||
name = "calc";
|
||||
icon = "accessories-calculator";
|
||||
placeholder = "Calculator";
|
||||
min_chars = 4;
|
||||
};
|
||||
|
||||
windows = {
|
||||
weight = 5;
|
||||
icon = "view-restore";
|
||||
name = "windows";
|
||||
placeholder = "Windows";
|
||||
show_icon_when_single = true;
|
||||
};
|
||||
|
||||
clipboard = {
|
||||
always_put_new_on_top = true;
|
||||
exec = "wl-copy";
|
||||
weight = 5;
|
||||
name = "clipboard";
|
||||
avoid_line_breaks = true;
|
||||
placeholder = "Clipboard";
|
||||
image_height = 300;
|
||||
max_entries = 10;
|
||||
switcher_only = true;
|
||||
};
|
||||
|
||||
commands = {
|
||||
weight = 5;
|
||||
icon = "utilities-terminal";
|
||||
switcher_only = true;
|
||||
name = "commands";
|
||||
placeholder = "Commands";
|
||||
};
|
||||
|
||||
custom_commands = {
|
||||
weight = 5;
|
||||
icon = "utilities-terminal";
|
||||
name = "custom_commands";
|
||||
placeholder = "Custom Commands";
|
||||
};
|
||||
|
||||
emojis = {
|
||||
exec = "wl-copy";
|
||||
weight = 5;
|
||||
name = "emojis";
|
||||
placeholder = "Emojis";
|
||||
switcher_only = true;
|
||||
history = true;
|
||||
typeahead = true;
|
||||
show_unqualified = false;
|
||||
};
|
||||
|
||||
symbols = {
|
||||
after_copy = "";
|
||||
weight = 5;
|
||||
name = "symbols";
|
||||
placeholder = "Symbols";
|
||||
switcher_only = true;
|
||||
history = true;
|
||||
typeahead = true;
|
||||
};
|
||||
|
||||
finder = {
|
||||
use_fd = false;
|
||||
fd_flags = "--ignore-vcs --type file";
|
||||
weight = 5;
|
||||
icon = "file";
|
||||
name = "finder";
|
||||
placeholder = "Finder";
|
||||
switcher_only = true;
|
||||
ignore_gitignore = true;
|
||||
refresh = true;
|
||||
concurrency = 8;
|
||||
show_icon_when_single = true;
|
||||
preview_images = false;
|
||||
};
|
||||
|
||||
runner = {
|
||||
eager_loading = true;
|
||||
weight = 5;
|
||||
icon = "utilities-terminal";
|
||||
name = "runner";
|
||||
placeholder = "Runner";
|
||||
typeahead = true;
|
||||
history = true;
|
||||
generic_entry = false;
|
||||
refresh = true;
|
||||
use_fd = false;
|
||||
};
|
||||
|
||||
ssh = {
|
||||
weight = 5;
|
||||
icon = "preferences-system-network";
|
||||
name = "ssh";
|
||||
placeholder = "SSH";
|
||||
switcher_only = true;
|
||||
history = true;
|
||||
refresh = true;
|
||||
};
|
||||
|
||||
switcher = {
|
||||
weight = 5;
|
||||
name = "switcher";
|
||||
placeholder = "Switcher";
|
||||
prefix = "/";
|
||||
};
|
||||
|
||||
websearch = {
|
||||
keep_selection = true;
|
||||
weight = 5;
|
||||
icon = "applications-internet";
|
||||
name = "websearch";
|
||||
placeholder = "Websearch";
|
||||
|
||||
entries = [
|
||||
{
|
||||
name = "searx";
|
||||
url = "https://search.zoeys.cloud/searx/search?q=%TERM%";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
dmenu = {
|
||||
hidden = true;
|
||||
weight = 5;
|
||||
name = "dmenu";
|
||||
placeholder = "Dmenu";
|
||||
switcher_only = true;
|
||||
show_icon_when_single = true;
|
||||
};
|
||||
|
||||
translation = {
|
||||
delay = 1000;
|
||||
weight = 5;
|
||||
name = "translation";
|
||||
icon = "accessories-dictionary";
|
||||
placeholder = "Translation";
|
||||
switcher_only = true;
|
||||
provider = "googlefree";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -94,10 +94,10 @@ in {
|
|||
};
|
||||
font = {
|
||||
size = 16.0;
|
||||
normal = cfg.fonts.normal;
|
||||
bold = cfg.fonts.bold;
|
||||
italic = cfg.fonts.italic;
|
||||
bold_italic = cfg.fonts.bold_italic;
|
||||
normal = fonts.mono;
|
||||
bold = "${fonts.mono} Bold";
|
||||
italic = "${fonts.mono} Italic";
|
||||
bold_italic = "${fonts.mono} Bold Italic";
|
||||
|
||||
offset = {
|
||||
x = 0;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ in {
|
|||
enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
font = "Iosevka:weight=bold:size=20";
|
||||
font = "${fonts.mono}:weight=bold:size=20";
|
||||
};
|
||||
colors = {
|
||||
alpha = "0.9";
|
||||
|
|
|
|||
|
|
@ -10,27 +10,6 @@ with lib.custom; let
|
|||
in {
|
||||
options.apps.term.ghostty = with types; {
|
||||
enable = mkBoolOpt false "Enable Ghostty Term";
|
||||
|
||||
fonts = {
|
||||
# normal = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold" "Normal Font";
|
||||
# bold = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold" "Bold Font";
|
||||
# italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold Italic" "Italic Font";
|
||||
# bold_italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold Italic" "Bold Italic Font";
|
||||
# normal = mkStringOpt "Pragmata Pro Mono" "Normal Font";
|
||||
# bold = mkStringOpt "Pragmata Pro Mono" "Bold Font";
|
||||
# italic = mkStringOpt "Iosevka Bold Italic" "Italic Font";
|
||||
# bold_italic = mkStringOpt "Iosevka ExtraBold Italic" "Bold Italic Font";
|
||||
|
||||
normal = mkStringOpt "Cozette" "Normal";
|
||||
bold = mkStringOpt "Cozette" "Bold";
|
||||
italic = mkStringOpt "Cozette" "Italic";
|
||||
bold_italic = mkStringOpt "Cozette" "Bold Italic";
|
||||
|
||||
# normal = mkStringOpt "Iosevka Nerd Font Mono" "Normal Font";
|
||||
# bold = mkStringOpt "Iosevka Nerd Font Mono" "Bold Font";
|
||||
# italic = mkStringOpt "Iosevka Nerd Font Mono" "Italic Font";
|
||||
# bold_italic = mkStringOpt "Iosevka Nerd Font Mono" "Bold Italic Font";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
@ -38,7 +17,7 @@ in {
|
|||
enable = true;
|
||||
|
||||
settings = {
|
||||
font-family = cfg.fonts.normal;
|
||||
font-family = fonts.mono;
|
||||
gtk-single-instance = true;
|
||||
gtk-titlebar = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -10,41 +10,26 @@ with lib.custom; let
|
|||
in {
|
||||
options.apps.term.kitty = with types; {
|
||||
enable = mkBoolOpt false "Enable Kitty Term";
|
||||
|
||||
fonts = {
|
||||
# normal = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold" "Normal Font";
|
||||
# bold = mkStringOpt "JetBrainsMonoNL Nerd Font Mono ExtraBold" "Bold Font";
|
||||
# italic = mkStringOpt "JetBrainsMonoNL Nerd Font Mono Bold Italic" "Italic Font";
|
||||
# bold_italic = mkStringOpt "JetBrainsMoIosevka ExtraBold ItalicnoNL Nerd Font Mono ExtraBold Italic" "Bold Italic Font";
|
||||
# normal = mkStringOpt "Kirsch Nerd Font Mono" "Normal Font";
|
||||
# bold = mkStringOpt "Kirsch Nerd Font Mono" "BBoldold Font";
|
||||
# italic = mkStringOpt "Kirsch Nerd Font Mono" "Italic Font";
|
||||
# bold_italic = mkStringOpt "Kirsch Nerd Font Mono" "Bold Italic Font";
|
||||
normal = mkStringOpt "PragmataPro Mono Liga" "Normal Font";
|
||||
bold = mkStringOpt "PragmataPro Mono Liga Bold" "Bold Font";
|
||||
italic = mkStringOpt "PragmataPro Mono Liga Italic" "Italic Font";
|
||||
bold_italic = mkStringOpt "PragmataPro Mono Liga Bold Italic" "Bold Italic Font";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
name = cfg.fonts.normal;
|
||||
name = fonts.mono;
|
||||
size = 16;
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
bold_font ${cfg.fonts.bold}
|
||||
italic_font ${cfg.fonts.italic}
|
||||
bold_italic_font ${cfg.fonts.bold_italic}
|
||||
bold_font ${fonts.mono} Bold Italic
|
||||
italic_font ${fonts.mono} Italic
|
||||
bold_italic_font ${fonts.mono} Bold Italic
|
||||
'';
|
||||
|
||||
catppuccin.enable = true;
|
||||
|
||||
settings = {
|
||||
window_padding_width = 12;
|
||||
window_padding_width = 20;
|
||||
# background_opacity = "0.9";
|
||||
background = colors.crust.hex;
|
||||
foreground = colors.text.hex;
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ in {
|
|||
config = mkIf cfg.enable {
|
||||
programs.rio = {
|
||||
enable = true;
|
||||
# package = inputs.rio-term.packages.${pkgs.system}.default;
|
||||
settings = {
|
||||
window = {
|
||||
opacity = 0.9;
|
||||
|
|
@ -32,27 +31,27 @@ in {
|
|||
|
||||
fonts = {
|
||||
regular = {
|
||||
family = "Iosevka";
|
||||
family = fonts.mono;
|
||||
style = "Normal";
|
||||
weight = 700;
|
||||
weight = 400;
|
||||
};
|
||||
|
||||
bold = {
|
||||
family = "Iosevka";
|
||||
family = fonts.mono;
|
||||
style = "Normal";
|
||||
weight = 800;
|
||||
};
|
||||
|
||||
italic = {
|
||||
family = "Iosevka";
|
||||
style = "Italic";
|
||||
weight = 700;
|
||||
};
|
||||
|
||||
bold-italic = {
|
||||
family = "Iosevka";
|
||||
italic = {
|
||||
family = fonts.mono;
|
||||
style = "Italic";
|
||||
weight = 800;
|
||||
weight = 400;
|
||||
};
|
||||
|
||||
bold-italic = {
|
||||
family = fonts.mono;
|
||||
style = "Italic";
|
||||
weight = 700;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ in {
|
|||
enable = true;
|
||||
|
||||
font = {
|
||||
name = "Adwaita Sans";
|
||||
size = 11;
|
||||
name = fonts.ui;
|
||||
size = 12;
|
||||
};
|
||||
|
||||
theme = {
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ in {
|
|||
LC_ALL = "en_US.UTF-8";
|
||||
ZSH_AUTOSUGGEST_USE_ASYNC = "true";
|
||||
SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh";
|
||||
FLAKE = "/home/zoey/nixos/";
|
||||
NH_FLAKE = "/home/zoey/nixos/";
|
||||
};
|
||||
# zprof.enable = true;
|
||||
history = {
|
||||
|
|
@ -33,7 +33,7 @@ in {
|
|||
ignoreSpace = true;
|
||||
};
|
||||
|
||||
initExtra = let
|
||||
initContent = let
|
||||
sources = with pkgs; [
|
||||
"${zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh"
|
||||
"${zsh-history}/share/zsh/init.zsh"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ in {
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
hardware.pulseaudio.enable = false;
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -112,9 +112,28 @@ in {
|
|||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
boot.kernelParams = ["intel_iommu=on" "iommu=pt"];
|
||||
boot.kernelParams = ["intel_iommu=on" "iommu=pt" "transparent_hugepage=always"];
|
||||
boot.kernelModules = ["vfio-pci"];
|
||||
|
||||
# CachyOS-inspired system performance tweaks
|
||||
boot.kernel.sysctl = {
|
||||
# Virtual memory tweaks
|
||||
"vm.swappiness" = 10;
|
||||
"vm.dirty_background_ratio" = 5;
|
||||
"vm.dirty_ratio" = 10;
|
||||
"vm.vfs_cache_pressure" = 50;
|
||||
"vm.max_map_count" = 16777216;
|
||||
|
||||
# Network optimizations
|
||||
"net.core.netdev_max_backlog" = 16384;
|
||||
"net.ipv4.tcp_fastopen" = 3;
|
||||
"net.ipv4.tcp_max_syn_backlog" = 8192;
|
||||
"net.core.somaxconn" = 8192;
|
||||
|
||||
# IO scheduler optimizations
|
||||
"kernel.sched_autogroup_enabled" = 0;
|
||||
};
|
||||
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
onBoot = "ignore";
|
||||
|
|
@ -219,16 +238,6 @@ in {
|
|||
text = stopScript;
|
||||
mode = "0755";
|
||||
};
|
||||
|
||||
"libvirt/hooks/qemu.d/bazzite/prepare/begin/start.sh" = {
|
||||
text = startScript;
|
||||
mode = "0755";
|
||||
};
|
||||
|
||||
"libvirt/hooks/qemu.d/bazzite/release/end/stop.sh" = {
|
||||
text = stopScript;
|
||||
mode = "0755";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,14 +37,49 @@ in {
|
|||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
||||
# Only available from driver 515.43.04+
|
||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
||||
open = false;
|
||||
open = true;
|
||||
|
||||
# Enable the Nvidia settings menu,
|
||||
# accessible via `nvidia-settings`.
|
||||
nvidiaSettings = false;
|
||||
|
||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.beta.overrideAttrs {
|
||||
patchesOpen = with pkgs; [
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0001-Enable-atomic-kernel-modesetting-by-default.patch";
|
||||
hash = "sha256-tvdm8nxxXslPUun33zj1kkYZOiWKK3F4nwcCkdzPW9s=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0002-Add-IBT-support.patch";
|
||||
hash = "sha256-JUT8FwBhyRhOWxwET7Zw/xkIl8g6UCLMXSTofr0OuSg=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0003-Kbuild-Convert-EXTRA_CFLAGS-to-ccflags-y.patch";
|
||||
hash = "sha256-W+yyiK6TpEs9IACMr/0V7EIP++u7MPOfa9ko3w8Gqtc=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0004-kernel-open-nvidia-Use-new-timer-functions-for-6.15.patch";
|
||||
hash = "sha256-T3SY2O6Pmc8BA0oana5xGGDhBxCizwmRqMyPvgF3j8A=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0005-nvidia-uvm-Use-__iowrite64_hi_lo.patch";
|
||||
hash = "sha256-T8BNr1H1vgEQoKB0S5cqcbq6fSQxiDK9bb/MCvMtzTI";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0006-nvidia-uvm-Use-page_pgmap.patch";
|
||||
hash = "sha256-YucFZ2Z7YSgUiah82uLOmd4Z/c5YLOXxzEZNO6ZvQQg=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0007-nvidia-uvm-Convert-make_device_exclusive_range-to-ma.patch";
|
||||
hash = "sha256-AehV7D+yYBmE8FWsUiagnjB8V7S8RJSTNcVMwZIgw/I=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/CachyOS/kernel-patches/master/6.14/misc/nvidia/0008-kbuild-Add-workaround-for-GCC-15-Compilation.patch";
|
||||
hash = "sha256-HrYBiAFy62Jll+ceVnGuJKGKDoaRObjAGIYa+yrAogA=";
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
environment.variables = {
|
||||
|
|
|
|||
|
|
@ -19,22 +19,16 @@ in {
|
|||
sway
|
||||
'';
|
||||
|
||||
services = {
|
||||
greetd = {
|
||||
enable = false;
|
||||
settings = rec {
|
||||
initial_session = {
|
||||
# command = "sway --unsupported-gpu";
|
||||
command = "Hyprland";
|
||||
user = "zoey";
|
||||
};
|
||||
default_session = initial_session;
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
command = "niri-session";
|
||||
user = "zoey";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
|
||||
programs.uwsm = {
|
||||
enable = false;
|
||||
waylandCompositors = {
|
||||
|
|
@ -88,10 +82,24 @@ in {
|
|||
XDG_CACHE_HOME = "/home/zoey/.cache";
|
||||
CLUTTER_BACKEND = "wayland";
|
||||
DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
|
||||
|
||||
# # CachyOS-inspired Nvidia optimizations for gaming
|
||||
# __GL_THREADED_OPTIMIZATIONS = "1";
|
||||
# __GL_SHADER_DISK_CACHE = "1";
|
||||
# __GL_SHADER_DISK_CACHE_SIZE = "1000000000";
|
||||
# __GL_MaxFramesAllowed = "1"; # Reduces input latency
|
||||
# __GL_YIELD = "USLEEP"; # Better CPU usage when GPU-bound
|
||||
# DXVK_ASYNC = "1";
|
||||
# DXVK_FRAME_RATE = "0"; # No frame rate cap from DXVK
|
||||
# PROTON_ENABLE_NVAPI = "1";
|
||||
# PROTON_HIDE_NVIDIA_GPU = "0";
|
||||
# WINE_FULLSCREEN_FSR = "1"; # Enable FSR upscaling for Wine/Proton games
|
||||
# MANGOHUD = "1"; # Enable MangoHud by default
|
||||
# MANGOHUD_CONFIG = "cpu_temp,gpu_temp,vram,ram,position=top-left,height=500,font_size=20";
|
||||
};
|
||||
};
|
||||
|
||||
hardware.pulseaudio.support32Bit = true;
|
||||
services.pulseaudio.support32Bit = true;
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -20,17 +20,17 @@ in {
|
|||
group = "users";
|
||||
};
|
||||
|
||||
virtualisation.oci-containers = {
|
||||
containers.jellyfin-vue = {
|
||||
image = "ghcr.io/jellyfin/jellyfin-vue:unstable";
|
||||
environment = {
|
||||
"PUBLIC_JELLYFIN_API" = "http://localhost:8096";
|
||||
};
|
||||
ports = [
|
||||
"8065:80"
|
||||
];
|
||||
};
|
||||
};
|
||||
# virtualisation.oci-containers = {
|
||||
# containers.jellyfin-vue = {
|
||||
# image = "ghcr.io/jellyfin/jellyfin-vue:unstable";
|
||||
# environment = {
|
||||
# "PUBLIC_JELLYFIN_API" = "http://localhost:8096";
|
||||
# };
|
||||
# ports = [
|
||||
# "8065:80"
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
|
||||
networking.firewall.allowedTCPPorts = [8065];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -62,50 +62,71 @@ in {
|
|||
noCvSs = true
|
||||
exportGlyphNames = true
|
||||
|
||||
[buildPlans.IosevkaCustom.variants]
|
||||
inherits = "ss17"
|
||||
[buildPlans.IosevkaCustom.variants.design]
|
||||
one = "base-flat-top-serif"
|
||||
two = "straight-neck-serifless"
|
||||
four = "closed-serifless"
|
||||
five = "oblique-arched-serifless"
|
||||
six = "closed-contour"
|
||||
seven = "bend-serifless"
|
||||
eight = "crossing-asymmetric"
|
||||
nine = "closed-contour"
|
||||
zero = "oval-dotted"
|
||||
capital-d = "more-rounded-serifless"
|
||||
capital-g = "toothless-corner-serifless-hooked"
|
||||
a = "double-storey-serifless"
|
||||
g = "double-storey"
|
||||
i = "hooky"
|
||||
l = "serifed-semi-tailed"
|
||||
r = "hookless-serifless"
|
||||
t = "bent-hook-short-neck"
|
||||
w = "straight-flat-top-serifless"
|
||||
y = "straight-turn-serifless"
|
||||
capital-eszet = "rounded-serifless"
|
||||
long-s = "bent-hook-middle-serifed"
|
||||
eszet = "longs-s-lig-serifless"
|
||||
lower-lambda = "straight-turn"
|
||||
lower-tau = "short-tailed"
|
||||
lower-phi = "straight"
|
||||
partial-derivative = "closed-contour"
|
||||
cyrl-capital-u = "straight-turn-serifless"
|
||||
cyrl-u = "straight-turn-serifless"
|
||||
cyrl-ef = "split-serifless"
|
||||
asterisk = "penta-low"
|
||||
caret = "high"
|
||||
guillemet = "straight"
|
||||
number-sign = "slanted"
|
||||
dollar = "open"
|
||||
cent = "through-cap"
|
||||
bar = "force-upright"
|
||||
micro-sign = "tailed-serifless"
|
||||
lig-ltgteq = "slanted"
|
||||
lig-neq = "more-slanted-dotted"
|
||||
lig-equal-chain = "without-notch"
|
||||
lig-hyphen-chain = "without-notch"
|
||||
lig-plus-chain = "with-notch"
|
||||
|
||||
[buildPlans.IosevkaCustom.variants.design]
|
||||
capital-e = "top-left-serifed"
|
||||
capital-u = "toothed-bottom-right-serifed"
|
||||
f = "tailed"
|
||||
m = "short-leg-top-left-and-bottom-right-serifed"
|
||||
paren = "flat-arc"
|
||||
[buildPlans.IosevkaCustom.weights.Regular]
|
||||
shape = 400
|
||||
menu = 400
|
||||
css = 400
|
||||
|
||||
[buildPlans.IosevkaCustom.ligations]
|
||||
inherits = "dlig"
|
||||
[buildPlans.IosevkaCustom.weights.Bold]
|
||||
shape = 700
|
||||
menu = 700
|
||||
css = 700
|
||||
|
||||
[buildPlans.IosevkaCustom.weights.Regular]
|
||||
shape = 400
|
||||
menu = 400
|
||||
css = 400
|
||||
[buildPlans.IosevkaCustom.slopes.Upright]
|
||||
angle = 0
|
||||
shape = "upright"
|
||||
menu = "upright"
|
||||
css = "normal"
|
||||
|
||||
[buildPlans.IosevkaCustom.weights.Medium]
|
||||
shape = 500
|
||||
menu = 500
|
||||
css = 500
|
||||
|
||||
[buildPlans.IosevkaCustom.weights.SemiBold]
|
||||
shape = 600
|
||||
menu = 600
|
||||
css = 600
|
||||
|
||||
[buildPlans.IosevkaCustom.weights.Bold]
|
||||
shape = 700
|
||||
menu = 700
|
||||
css = 700
|
||||
|
||||
[buildPlans.IosevkaCustom.slopes.Upright]
|
||||
angle = 0
|
||||
shape = "upright"
|
||||
menu = "upright"
|
||||
css = "normal"
|
||||
|
||||
[buildPlans.IosevkaCustom.slopes.Italic]
|
||||
angle = 9.4
|
||||
shape = "italic"
|
||||
menu = "italic"
|
||||
css = "italic"
|
||||
[buildPlans.IosevkaCustom.slopes.Italic]
|
||||
angle = 9.4
|
||||
shape = "italic"
|
||||
menu = "italic"
|
||||
css = "italic"
|
||||
'';
|
||||
})
|
||||
noto-fonts
|
||||
|
|
@ -114,6 +135,8 @@ in {
|
|||
jetbrains-mono
|
||||
nerd-fonts.iosevka
|
||||
nerd-fonts.zed-mono
|
||||
nerd-fonts.fira-code
|
||||
nerd-fonts.jetbrains-mono
|
||||
adwaita-fonts
|
||||
cozette
|
||||
scientifica
|
||||
|
|
@ -126,12 +149,11 @@ in {
|
|||
fontconfig = {
|
||||
defaultFonts = {
|
||||
monospace = [
|
||||
# "Pragmata Pro Mono"
|
||||
"Iosevka"
|
||||
fonts.mono
|
||||
"Noto Color Emoji"
|
||||
];
|
||||
sansSerif = ["Adwaita Sans" "Noto Color Emoji"];
|
||||
serif = ["Noto Serif" "Noto Color Emoji"];
|
||||
sansSerif = [fonts.ui "Noto Color Emoji"];
|
||||
serif = [fonts.ui "Noto Color Emoji"];
|
||||
emoji = ["Noto Color Emoji"];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue