updates :3

This commit is contained in:
zack 2025-05-06 20:02:36 -04:00
parent 825f05c50a
commit dd60fce00f
No known key found for this signature in database
GPG key ID: EE8A2B709E2401D1
20 changed files with 1360 additions and 565 deletions

View file

@ -1,70 +0,0 @@
{
"palette": {
"os": "#ACB0BE",
"pink": "#F5BDE6",
"lavender": "#B7BDF8",
"blue": "#8AADF4",
"wight": "#FFFFFF",
"text": "#494D64"
},
"blocks": [
{
"alignment": "left",
"segments": [
{
"background": "p:blue",
"foreground": "p:wight",
"powerline_symbol": "\ue0b4",
"leading_diamond": "\ue0b6",
"style": "diamond",
"template": "{{.Icon}} ",
"type": "os"
},
{
"background": "p:blue",
"foreground": "p:text",
"powerline_symbol": "\ue0b4",
"style": "diamond",
"template": "{{ .UserName }}@{{ .HostName }}",
"type": "session"
},
{
"background": "p:pink",
"foreground": "p:text",
"properties": {
"folder_icon": "..\ue5fe..",
"home_icon": "~",
"style": "agnoster_short"
},
"powerline_symbol": "\ue0b4",
"style": "powerline",
"template": " {{ .Path }}",
"type": "path"
},
{
"background": "p:lavender",
"foreground": "p:text",
"style": "powerline",
"properties": {
"branch_icon": "\ue725 ",
"cherry_pick_icon": "\ue29b ",
"commit_icon": "\uf417 ",
"fetch_status": false,
"fetch_upstream_icon": false,
"merge_icon": "\ue727 ",
"no_commits_icon": "\uf0c3 ",
"rebase_icon": "\ue728 ",
"revert_icon": "\uf0e2 ",
"tag_icon": "\uf412 "
},
"powerline_symbol": "\ue0b4",
"template": " {{ .HEAD }}",
"type": "git"
}
],
"type": "prompt"
}
],
"final_space": true,
"version": 2
}

551
flake.lock generated

File diff suppressed because it is too large Load diff

View file

@ -28,6 +28,8 @@
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
}; };
walker.url = "github:abenz1267/walker";
resume.url = "path:/home/zoey/dev/resume"; resume.url = "path:/home/zoey/dev/resume";
ags.url = "github:Aylur/ags/v1"; ags.url = "github:Aylur/ags/v1";
ags.inputs.nixpkgs.follows = "nixpkgs"; ags.inputs.nixpkgs.follows = "nixpkgs";
@ -127,7 +129,9 @@
disko.url = "github:nix-community/disko"; disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs"; disko.inputs.nixpkgs.follows = "nixpkgs";
niri.url = "github:sodiboo/niri-flake"; niri.url = "github:sodiboo/niri-flake/bc29338ba733e4c1b94c3ed134baabfea587627e";
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
}; };
outputs = inputs @ {self, ...}: let outputs = inputs @ {self, ...}: let
@ -168,8 +172,9 @@
homes.modules = with inputs; [ homes.modules = with inputs; [
spicetify-nix.homeManagerModules.default spicetify-nix.homeManagerModules.default
catppuccin.homeModules.catppuccin catppuccin.homeModules.default
ags.homeManagerModules.default ags.homeManagerModules.default
walker.homeManagerModules.default
]; ];
systems.modules.nixos = with inputs; [ systems.modules.nixos = with inputs; [
@ -185,6 +190,7 @@
mailserver.nixosModule mailserver.nixosModule
disko.nixosModules.disko disko.nixosModules.disko
niri.nixosModules.niri niri.nixosModules.niri
chaotic.nixosModules.default
]; ];
}; };
in in

View file

@ -61,6 +61,18 @@
}; };
}; };
programs.distrobox = {
enable = true;
containers = {
proton-tkg = {
image = "archlinux";
additional_packages = "build-essential git";
};
};
};
catppuccin.mako.enable = false;
# programs.pywal2.enable = true; # programs.pywal2.enable = true;
xdg.mimeApps = { xdg.mimeApps = {
@ -104,114 +116,121 @@
catppuccin.aerc.enable = true; catppuccin.aerc.enable = true;
catppuccin.cava.enable = true;
catppuccin.fuzzel.enable = true;
catppuccin.fzf.enable = true;
work.vpn.enable = true; work.vpn.enable = true;
home.packages = with pkgs; [ home.packages = with pkgs; [
pkgs.gimp gimp3
pkgs.slack slack
pkgs.monero-cli monero-cli
pkgs.zoom-us zoom-us
pkgs.pandoc pandoc
pkgs.prismlauncher nexusmods-app-unfree
pkgs.obs-studio
pkgs.ungoogled-chromium prismlauncher
pkgs.uutils-coreutils-noprefix obs-studio
pkgs.yazi
pkgs.reaper
pkgs.fragments distrobox
ungoogled-chromium
uutils-coreutils-noprefix
yazi
reaper
fragments
inputs.posting.packages.${pkgs.system}.default inputs.posting.packages.${pkgs.system}.default
pkgs.heroic heroic
pkgs.cartridges cartridges
pkgs.darktable darktable
pkgs.thunderbird thunderbird
pkgs.custom.nvidia-nsight custom.nvidia-nsight
pkgs.custom.enc custom.enc
pkgs.neural-amp-modeler-lv2 neural-amp-modeler-lv2
pkgs.nix-tree nix-tree
# inputs.g2claude.packages.${pkgs.system}.default # inputs.g2claude.packages.${pkgs.system}.default
pkgs.mongodb-compass mongodb-compass
pkgs.postman postman
pkgs.mosh mosh
pkgs.dconf dconf
pkgs.wl-clipboard wl-clipboard
pkgs.pwvucontrol pwvucontrol
pkgs.wlogout wlogout
pkgs.sway-audio-idle-inhibit sway-audio-idle-inhibit
pkgs.grim grim
pkgs.slurp slurp
pkgs.pods pods
pkgs.polari polari
pkgs.flare-signal
pkgs.neovide neovide
pkgs.nitch nitch
pkgs.nix-output-monitor nix-output-monitor
pkgs.fastfetch fastfetch
pkgs.signal-desktop signal-desktop
flare-signal
pkgs.nh nh
pkgs.dwl dwl
pkgs.foliate foliate
pkgs.killall killall
pkgs.custom.rebuild custom.rebuild
pkgs.custom.powermenu custom.powermenu
pkgs.parsec-bin parsec-bin
pkgs.filezilla filezilla
pkgs.zed-editor zed-editor
pkgs.rmpc rmpc
inputs.zen-browser.packages.${pkgs.system}.beta inputs.zen-browser.packages.${pkgs.system}.beta
pkgs.starfetch starfetch
lib.custom.nixos-stable.kiwix lib.custom.nixos-stable.kiwix
pkgs.mpc-cli mpc-cli
pkgs.zathura zathura
pkgs.gpgme.dev gpgme.dev
pkgs.rofimoji rofimoji
pkgs.renderdoc renderdoc
pkgs.xwayland-satellite xwayland-satellite
pkgs.nautilus nautilus
pkgs.nautilus-python nautilus-python
pkgs.loupe loupe
pkgs.openvpn openvpn
pkgs.telegram-desktop linux-manual
pkgs.linux-manual man-pages
pkgs.man-pages man-pages-posix
pkgs.man-pages-posix
pkgs.ardour ardour
pkgs.shadps4
pkgs.audacity
]; ];
programs.vesktop = {
enable = true;
};
programs.zoxide = { programs.zoxide = {
enable = true; enable = true;
options = ["--cmd cd"]; options = ["--cmd cd"];
@ -227,7 +246,6 @@
programs.cava = { programs.cava = {
enable = true; enable = true;
catppuccin.enable = true;
settings = { settings = {
general = { general = {
# bars = 2; # bars = 2;
@ -247,13 +265,10 @@
}; };
}; };
catppuccin.fuzzel.enable = true;
programs.fuzzel.enable = true; programs.fuzzel.enable = true;
programs.btop = { programs.btop = {
enable = true; enable = true;
catppuccin.enable = true;
extraConfig = '' extraConfig = ''
update_ms = 100 update_ms = 100
vim_keys = true vim_keys = true
@ -266,7 +281,6 @@
programs.fzf = { programs.fzf = {
enable = true; enable = true;
catppuccin.enable = true;
}; };
services = { services = {

View file

@ -67,7 +67,16 @@
in { in {
x = c: "#${c}"; x = c: "#${c}";
colors = { fonts = {
mono = "Iosevka";
ui = "SF Pro Display";
};
colors = rec {
bg = crust;
fg = text;
primary = red;
rosewater = { rosewater = {
hex = "#f5e0dc"; hex = "#f5e0dc";
rgb = "rgb(245, 224, 220)"; rgb = "rgb(245, 224, 220)";
@ -200,15 +209,6 @@ in {
}; };
}; };
fonts = {
mono = {
normal = "Iosevka Bold";
bold = "Iosevka ExtraBold";
italic = "Iosevka Bold Italic";
bold_italic = "Iosevka ExtraBold Italic";
};
};
wallpaper = ./svema_26_big.jpg; wallpaper = ./svema_26_big.jpg;
lerpColor = lerpColorFunc; lerpColor = lerpColorFunc;

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

View file

@ -94,10 +94,10 @@ in {
}; };
font = { font = {
size = 16.0; size = 16.0;
normal = cfg.fonts.normal; normal = fonts.mono;
bold = cfg.fonts.bold; bold = "${fonts.mono} Bold";
italic = cfg.fonts.italic; italic = "${fonts.mono} Italic";
bold_italic = cfg.fonts.bold_italic; bold_italic = "${fonts.mono} Bold Italic";
offset = { offset = {
x = 0; x = 0;

View file

@ -17,7 +17,7 @@ in {
enable = true; enable = true;
settings = { settings = {
main = { main = {
font = "Iosevka:weight=bold:size=20"; font = "${fonts.mono}:weight=bold:size=20";
}; };
colors = { colors = {
alpha = "0.9"; alpha = "0.9";

View file

@ -10,27 +10,6 @@ with lib.custom; let
in { in {
options.apps.term.ghostty = with types; { options.apps.term.ghostty = with types; {
enable = mkBoolOpt false "Enable Ghostty Term"; 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 { config = mkIf cfg.enable {
@ -38,7 +17,7 @@ in {
enable = true; enable = true;
settings = { settings = {
font-family = cfg.fonts.normal; font-family = fonts.mono;
gtk-single-instance = true; gtk-single-instance = true;
gtk-titlebar = false; gtk-titlebar = false;

View file

@ -10,41 +10,26 @@ with lib.custom; let
in { in {
options.apps.term.kitty = with types; { options.apps.term.kitty = with types; {
enable = mkBoolOpt false "Enable Kitty Term"; 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 { config = mkIf cfg.enable {
programs.kitty = { programs.kitty = {
enable = true; enable = true;
font = { font = {
name = cfg.fonts.normal; name = fonts.mono;
size = 16; size = 16;
}; };
extraConfig = '' extraConfig = ''
bold_font ${cfg.fonts.bold} bold_font ${fonts.mono} Bold Italic
italic_font ${cfg.fonts.italic} italic_font ${fonts.mono} Italic
bold_italic_font ${cfg.fonts.bold_italic} bold_italic_font ${fonts.mono} Bold Italic
''; '';
catppuccin.enable = true; catppuccin.enable = true;
settings = { settings = {
window_padding_width = 12; window_padding_width = 20;
# background_opacity = "0.9"; # background_opacity = "0.9";
background = colors.crust.hex; background = colors.crust.hex;
foreground = colors.text.hex; foreground = colors.text.hex;

View file

@ -16,7 +16,6 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.rio = { programs.rio = {
enable = true; enable = true;
# package = inputs.rio-term.packages.${pkgs.system}.default;
settings = { settings = {
window = { window = {
opacity = 0.9; opacity = 0.9;
@ -32,27 +31,27 @@ in {
fonts = { fonts = {
regular = { regular = {
family = "Iosevka"; family = fonts.mono;
style = "Normal"; style = "Normal";
weight = 700; weight = 400;
}; };
bold = { bold = {
family = "Iosevka"; family = fonts.mono;
style = "Normal"; style = "Normal";
weight = 800;
};
italic = {
family = "Iosevka";
style = "Italic";
weight = 700; weight = 700;
}; };
bold-italic = { italic = {
family = "Iosevka"; family = fonts.mono;
style = "Italic"; style = "Italic";
weight = 800; weight = 400;
};
bold-italic = {
family = fonts.mono;
style = "Italic";
weight = 700;
}; };
}; };
}; };

View file

@ -26,8 +26,8 @@ in {
enable = true; enable = true;
font = { font = {
name = "Adwaita Sans"; name = fonts.ui;
size = 11; size = 12;
}; };
theme = { theme = {

View file

@ -22,7 +22,7 @@ in {
LC_ALL = "en_US.UTF-8"; LC_ALL = "en_US.UTF-8";
ZSH_AUTOSUGGEST_USE_ASYNC = "true"; ZSH_AUTOSUGGEST_USE_ASYNC = "true";
SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh"; SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh";
FLAKE = "/home/zoey/nixos/"; NH_FLAKE = "/home/zoey/nixos/";
}; };
# zprof.enable = true; # zprof.enable = true;
history = { history = {
@ -33,7 +33,7 @@ in {
ignoreSpace = true; ignoreSpace = true;
}; };
initExtra = let initContent = let
sources = with pkgs; [ sources = with pkgs; [
"${zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh" "${zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh"
"${zsh-history}/share/zsh/init.zsh" "${zsh-history}/share/zsh/init.zsh"

View file

@ -13,7 +13,7 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
hardware.pulseaudio.enable = false; services.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
services.pipewire = { services.pipewire = {
enable = true; enable = true;

View file

@ -112,9 +112,28 @@ in {
}; };
config = mkIf cfg.enable { 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"]; 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 = { virtualisation.libvirtd = {
enable = true; enable = true;
onBoot = "ignore"; onBoot = "ignore";
@ -219,16 +238,6 @@ in {
text = stopScript; text = stopScript;
mode = "0755"; 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";
};
}; };
}; };
} }

View file

@ -37,14 +37,49 @@ in {
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+ # Only available from driver 515.43.04+
# Currently alpha-quality/buggy, so false is currently the recommended setting. # Currently alpha-quality/buggy, so false is currently the recommended setting.
open = false; open = true;
# Enable the Nvidia settings menu, # Enable the Nvidia settings menu,
# accessible via `nvidia-settings`. # accessible via `nvidia-settings`.
nvidiaSettings = false; nvidiaSettings = false;
# Optionally, you may need to select the appropriate driver version for your specific GPU. # 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 = { environment.variables = {

View file

@ -19,21 +19,15 @@ in {
sway sway
''; '';
services = { services.greetd = {
greetd = { enable = true;
enable = false; settings = {
settings = rec { default_session = {
initial_session = { command = "niri-session";
# command = "sway --unsupported-gpu";
command = "Hyprland";
user = "zoey"; user = "zoey";
}; };
default_session = initial_session;
}; };
}; };
};
services.xserver.displayManager.gdm.enable = true;
programs.uwsm = { programs.uwsm = {
enable = false; enable = false;
@ -88,10 +82,24 @@ in {
XDG_CACHE_HOME = "/home/zoey/.cache"; XDG_CACHE_HOME = "/home/zoey/.cache";
CLUTTER_BACKEND = "wayland"; CLUTTER_BACKEND = "wayland";
DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox"; 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 = { xdg.portal = {
enable = true; enable = true;

View file

@ -20,17 +20,17 @@ in {
group = "users"; group = "users";
}; };
virtualisation.oci-containers = { # virtualisation.oci-containers = {
containers.jellyfin-vue = { # containers.jellyfin-vue = {
image = "ghcr.io/jellyfin/jellyfin-vue:unstable"; # image = "ghcr.io/jellyfin/jellyfin-vue:unstable";
environment = { # environment = {
"PUBLIC_JELLYFIN_API" = "http://localhost:8096"; # "PUBLIC_JELLYFIN_API" = "http://localhost:8096";
}; # };
ports = [ # ports = [
"8065:80" # "8065:80"
]; # ];
}; # };
}; # };
networking.firewall.allowedTCPPorts = [8065]; networking.firewall.allowedTCPPorts = [8065];
}; };

View file

@ -62,34 +62,55 @@ in {
noCvSs = true noCvSs = true
exportGlyphNames = true exportGlyphNames = true
[buildPlans.IosevkaCustom.variants]
inherits = "ss17"
[buildPlans.IosevkaCustom.variants.design] [buildPlans.IosevkaCustom.variants.design]
capital-e = "top-left-serifed" one = "base-flat-top-serif"
capital-u = "toothed-bottom-right-serifed" two = "straight-neck-serifless"
f = "tailed" four = "closed-serifless"
m = "short-leg-top-left-and-bottom-right-serifed" five = "oblique-arched-serifless"
paren = "flat-arc" six = "closed-contour"
seven = "bend-serifless"
[buildPlans.IosevkaCustom.ligations] eight = "crossing-asymmetric"
inherits = "dlig" 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.weights.Regular] [buildPlans.IosevkaCustom.weights.Regular]
shape = 400 shape = 400
menu = 400 menu = 400
css = 400 css = 400
[buildPlans.IosevkaCustom.weights.Medium]
shape = 500
menu = 500
css = 500
[buildPlans.IosevkaCustom.weights.SemiBold]
shape = 600
menu = 600
css = 600
[buildPlans.IosevkaCustom.weights.Bold] [buildPlans.IosevkaCustom.weights.Bold]
shape = 700 shape = 700
menu = 700 menu = 700
@ -114,6 +135,8 @@ in {
jetbrains-mono jetbrains-mono
nerd-fonts.iosevka nerd-fonts.iosevka
nerd-fonts.zed-mono nerd-fonts.zed-mono
nerd-fonts.fira-code
nerd-fonts.jetbrains-mono
adwaita-fonts adwaita-fonts
cozette cozette
scientifica scientifica
@ -126,12 +149,11 @@ in {
fontconfig = { fontconfig = {
defaultFonts = { defaultFonts = {
monospace = [ monospace = [
# "Pragmata Pro Mono" fonts.mono
"Iosevka"
"Noto Color Emoji" "Noto Color Emoji"
]; ];
sansSerif = ["Adwaita Sans" "Noto Color Emoji"]; sansSerif = [fonts.ui "Noto Color Emoji"];
serif = ["Noto Serif" "Noto Color Emoji"]; serif = [fonts.ui "Noto Color Emoji"];
emoji = ["Noto Color Emoji"]; emoji = ["Noto Color Emoji"];
}; };
}; };

View file

@ -37,10 +37,23 @@
memory.total = 32; memory.total = 32;
}; };
# CachyOS-inspired additional native optimizations
nixpkgs.config.packageOverrides = pkgs: {
# Override performance-critical packages with native optimizations
steam = pkgs.steam.override {
extraPkgs = pkgs:
with pkgs; [
libva
mesa
vulkan-loader
];
};
};
specialisation = { specialisation = {
plasma6 = { plasma6 = {
configuration = { configuration = {
services.xserver.desktopManager.plasma6.enable = true; services.desktopManager.plasma6.enable = true;
programs.seahorse.enable = lib.mkForce false; programs.seahorse.enable = lib.mkForce false;
}; };
@ -57,7 +70,29 @@
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
}; };
programs.steam.gamescopeSession.enable = true; programs.steam.gamescopeSession.enable = true;
programs.gamemode.enable = true; # programs.gamemode = {
# enable = true;
# settings = {
# general = {
# renice = 10; # Higher process priority for games
# ioprio = 0; # Highest I/O priority
# inhibit_screensaver = 1; # Prevent screensaver
# };
#
# gpu = {
# gpu_device = 0; # GPU device index to use
# apply_gpu_optimisations = 1; # Apply GPU optimizations
# gpu_core_clock_mhz = 0; # Don't override core clock
# gpu_mem_clock_mhz = 0; # Don't override memory clock
# gpu_powermizer_mode = 1; # Maximum performance mode
# };
#
# custom = {
# start = "${pkgs.libnotify}/bin/notify-send 'GameMode enabled' 'System optimizations activated'";
# end = "${pkgs.libnotify}/bin/notify-send 'GameMode disabled' 'System returned to normal'";
# };
# };
# };
ui.fonts.enable = true; ui.fonts.enable = true;
@ -112,15 +147,23 @@
# insertNameservers = ["1.1.1.1" "1.0.0.1"]; # insertNameservers = ["1.1.1.1" "1.0.0.1"];
}; };
boot.kernelPackages = pkgs.linuxPackages_zen; services.scx.enable = true;
boot.kernelPatches = [ services.scx.scheduler = "scx_rusty";
{ services.scx.package = pkgs.scx_git.full;
name = "bsb-patches";
patch = pkgs.fetchpatch { boot.kernelPackages = pkgs.linuxPackages_cachyos-lto;
url = "https://gist.githubusercontent.com/galister/08cddf10ac18929647d5fb6308df3e4b/raw/0f6417b6cb069f19d6c28b730499c07de06ec413/combined-bsb-6-10.patch"; # CachyOS-inspired kernel parameters for better desktop responsiveness and gaming
hash = "sha256-u8O4foBHhU+T3yYkguBZ14EyCKujPzHh1TwFRg6GMsA="; boot.kernelParams = [
}; "nowatchdog"
} "preempt=full"
"threadirqs"
"tsc=reliable"
"clocksource=tsc"
"futex.futex2_interface=1" # Better Wine/Proton compatibility
"NVreg_UsePageAttributeTable=1" # Improved GPU memory management
"io_uring.sqpoll=2" # Modern I/O scheduler polling
"transparent_hugepage=madvise" # Better memory management
"elevator=bfq" # Better I/O scheduling for gaming
]; ];
boot.supportedFilesystems = ["ntfs"]; boot.supportedFilesystems = ["ntfs"];
@ -145,9 +188,13 @@
environment.systemPackages = [ environment.systemPackages = [
pkgs.sbctl pkgs.sbctl
lib.custom.nixos-stable.vesktop
pkgs.mangohud pkgs.mangohud
pkgs.lutris (pkgs.lutris.override {
extraPkgs = pkgs: [
pkgs.wineWowPackages.stagingFull
pkgs.winetricks
];
})
pkgs.bottles pkgs.bottles
pkgs.file-roller pkgs.file-roller
pkgs.podman-tui pkgs.podman-tui
@ -158,90 +205,18 @@
pkgs.protonup-qt pkgs.protonup-qt
pkgs.restic pkgs.restic
pkgs.qt5.qtwayland pkgs.qt5.qtwayland
(inputs.umu.packages.${system}.umu.override { pkgs.vkBasalt # Vulkan post-processing layer for better visuals
version = inputs.umu.shortRev; pkgs.goverlay # MangoHud and vkBasalt GUI configurator
truststore = true; pkgs.cpupower-gui # CPU frequency control GUI
cbor2 = true; pkgs.ananicy-cpp # Process priority daemon
(inputs.umu.packages.${system}.umu-launcher.override {
withTruststore = true;
withDeltaUpdates = true;
}) })
inputs.agenix.packages.${system}.agenix inputs.agenix.packages.${system}.agenix
inputs.awsvpnclient.packages.${system}.awsvpnclient inputs.awsvpnclient.packages.${system}.awsvpnclient
pkgs.nautilus-python
(pkgs.writeTextFile {
name = "nautilus-open-kitty-here";
destination = "/share/nautilus-python/extensions/open-kitty-here.py";
text = ''
import os
import gi
gi.require_version('Nautilus', '3.0')
from gi.repository import Nautilus, GObject
class OpenKittyTerminalExtension(GObject.GObject, Nautilus.MenuProvider):
def __init__(self):
pass
def menu_activate_cb(self, menu, file):
if file.is_directory():
path = file.get_location().get_path()
else:
path = file.get_parent_location().get_path()
os.system(f'kitty --directory "{path}" &')
def get_file_items(self, window, files):
if len(files) != 1:
return
file = files[0]
item = Nautilus.MenuItem(
name='OpenKittyTerminalExtension::OpenKitty',
label='Open in Kitty',
tip='Opens Kitty terminal in this location'
)
item.connect('activate', self.menu_activate_cb, file)
return [item]
def get_background_items(self, window, file):
item = Nautilus.MenuItem(
name='OpenKittyTerminalExtension::OpenKitty',
label='Open in Kitty',
tip='Opens Kitty terminal in this location'
)
item.connect('activate', self.menu_activate_cb, file)
return [item]
'';
})
]; ];
# Create a custom monitors.xml for GDM
environment.etc."gdm/monitors.xml" = {
mode = "0644";
text = ''
<monitors version="2">
<configuration>
<logicalmonitor>
<x>0</x>
<y>0</y>
<primary>yes</primary>
<scale>1</scale>
<monitor>
<monitorspec>
<connector>DP-3</connector> <!-- Change to your actual connector -->
<vendor>YOUR_VENDOR</vendor> <!-- Optional, can be left as is -->
<product>YOUR_PRODUCT</product> <!-- Optional, can be left as is -->
<serial>YOUR_SERIAL</serial> <!-- Optional, can be left as is -->
</monitorspec>
<mode>
<width>2560</width>
<height>1440</height>
<rate>240</rate> <!-- 240Hz refresh rate -->
</mode>
</monitor>
</logicalmonitor>
</configuration>
</monitors>
'';
};
programs.zsh.enable = true; programs.zsh.enable = true;
programs.fuse.userAllowOther = true; programs.fuse.userAllowOther = true;
users.users.zoey = { users.users.zoey = {
@ -277,7 +252,7 @@
services.samba = { services.samba = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
shares = { settings = {
"SteamLibrary" = { "SteamLibrary" = {
path = "/mnt/bk"; # Update this path to your drive's mount point path = "/mnt/bk"; # Update this path to your drive's mount point
browseable = true; browseable = true;
@ -293,6 +268,18 @@
catppuccin.enable = true; catppuccin.enable = true;
programs.virt-manager.enable = true; programs.virt-manager.enable = true;
# Enable Ananicy for automatic process priority management
services.ananicy = {
enable = true;
package = pkgs.ananicy-cpp;
rulesProvider = pkgs.ananicy-rules-cachyos;
};
# CPU frequency governor always set to performance for desktop
powerManagement.cpuFreqGovernor = "performance";
systemd.services.NetworkManager-wait-online.enable = false;
sites.jellyfin.enable = true; sites.jellyfin.enable = true;
sites.mealie.enable = false; sites.mealie.enable = false;
@ -302,7 +289,6 @@
dockerCompat = true; dockerCompat = true;
defaultNetwork.settings.dns_enabled = true; defaultNetwork.settings.dns_enabled = true;
}; };
virtualisation.waydroid.enable = true;
hardware.gpu-passthru.enable = true; hardware.gpu-passthru.enable = true;
system.stateVersion = "24.05"; system.stateVersion = "24.05";