nix-config/users/desktops/common/programs.nix
2023-08-20 21:41:32 -03:00

157 lines
4.4 KiB
Nix

{ config, pkgs, lib, ... }:
{
fonts.fontconfig.enable = true;
gtk = {
enable = true;
font = {
name = "Inter";
size = 10;
};
theme = {
package = pkgs.breeze-gtk;
name = "Breeze";
};
iconTheme = {
package = pkgs.breeze-icons;
name = "Breeze";
};
};
programs = {
password-store.package = pkgs.pass-wayland;
mangohud = {
enable = true;
enableSessionWide = true;
settings = {
control = "mangohud";
legacy_layout = 0;
text_color = "ffffff";
ram_color = "ffffff";
vram_color = "ffffff";
frametime_color = "ffffff";
media_player_color = "ffffff";
io_color = "ffffff";
engine_color = "ffffff";
background_alpha = 0;
offset_y = 4;
offset_x = 4;
position = "top-left";
toggle_hud = "Shift_R+F12";
horizontal = true;
time = true;
time_format = "%H:%M";
battery_icon = true;
gamepad_battery_icon = true;
gpu_stats = true;
gpu_temp = true;
gpu_load_change = true;
gpu_load_value = "50,90";
gpu_text = "GPU";
gpu_color = "ffffff";
gpu_load_color = "FFFFFF,FFAA7F,CC0000";
cpu_stats = true;
cpu_temp = true;
cpu_load_change = true;
core_load_change = true;
cpu_load_value = "50,90";
cpu_text = "CPU";
cpu_color = "ffffff";
cpu_load_color = "FFFFFF,FFAA7F,CC0000";
vram = true;
ram = true;
fps = true;
frame_timing = true;
table_columns = 20;
horizontal_stretch = 0;
};
};
obs-studio = {
enable = true;
plugins = [
pkgs.obs-studio-plugins.obs-vkcapture
pkgs.obs-studio-plugins.obs-backgroundremoval
pkgs.obs-studio-plugins.obs-pipewire-audio-capture
];
};
fish = {
functions = {
rebuild =
"sudo nixos-rebuild switch --flake '/home/user/Projects/personal/nix-config#'";
rebuild-boot =
"sudo nixos-rebuild boot --flake '/home/user/Projects/personal/nix-config#'";
update =
"nix flake update --commit-lock-file /home/user/Projects/personal/nix-config";
hm-rebuild =
"rm ~/.gtkrc-2.0; nix run '/home/user/Projects/personal/nix-config#homeConfigurations.desktop.activationPackage'";
};
};
wezterm = {
enable = true;
extraConfig = ''
local act = wezterm.action
function scheme_for_appearance(appearance)
if appearance:find "Dark" then
return "Catppuccin Mocha"
else
return "Catppuccin Macchiato"
end
end
local config = {}
if wezterm.config_builder then config = wezterm.config_builder() end
config.color_scheme = "Catppuccin Mocha"
config.font = wezterm.font_with_fallback ({
{family = "Hack Nerd Font", scale = 1},
{family = "Noto Color Emoji", scale = 1},
})
config.initial_cols = 108
config.initial_rows = 32
config.enable_scroll_bar = true
config.inactive_pane_hsb = {
saturation = 0.7,
brightness = 0.5
}
config.show_new_tab_button_in_tab_bar = false
wezterm.plugin.require("https://github.com/nekowinston/wezterm-bar").apply_to_config(config, {
position = "bottom",
max_width = 32,
dividers = "slant_right", -- "slant_right", "slant_left", "arrows", "rounded", false
indicator = {
leader = {
enabled = false,
off = " ",
on = " ",
},
mode = {
enabled = false,
names = {
resize_mode = "RESIZE",
copy_mode = "VISUAL",
search_mode = "SEARCH",
},
},
},
tabs = {
numerals = "roman", -- "roman", "arabic"
pane_count = false, -- "superscript", "subscript", false
brackets = {
active = { "", ":" },
inactive = { "", ":" },
},
},
clock = { -- note that this overrides the whole set_right_status
enabled = false,
format = "%H:%M", -- use https://wezfurlong.org/wezterm/config/lua/wezterm.time/Time/format.html
},
})
return config
'';
};
};
}