added stuff

This commit is contained in:
vali 2024-04-09 23:11:33 +02:00
commit 236b8c2a6b
907 changed files with 70990 additions and 0 deletions

View file

@ -0,0 +1,7 @@
_: {
imports = [
./foot
./kitty
./wezterm
];
}

View file

@ -0,0 +1,75 @@
{
osConfig,
lib,
config,
pkgs,
inputs',
...
}: let
inherit (osConfig.modules.style.colorScheme) slug colors;
inherit (lib) mkIf;
dev = osConfig.modules.device;
acceptedTypes = ["laptop" "desktop" "hybrid" "lite"];
in {
config = mkIf (builtins.elem dev.type acceptedTypes) {
home.packages = with pkgs; [
libsixel # for displaying images
];
programs.foot = {
enable = true;
package = inputs'.nyxpkgs.packages.foot-transparent;
server.enable = true;
settings = {
main = {
# window settings
app-id = "foot";
title = "foot";
locked-title = "no";
term = "xterm-256color";
pad = "16x16 center";
shell = "zsh";
# notifications
notify = "notify-send -a \${app-id} -i \${app-id} \${title} \${body}";
selection-target = "clipboard";
# font and font rendering
dpi-aware = false; # this looks more readable on a laptop, but it's unreasonably large
font = "Iosevka Nerd Font:size=14";
font-bold = "Iosevka Nerd Font:size=14";
vertical-letter-offset = "-0.90";
};
scrollback = {
lines = 10000;
multiplier = 3;
};
tweak = {
font-monospace-warn = "no"; # reduces startup time
sixel = "yes";
};
cursor = {
style = "beam";
beam-thickness = 2;
};
mouse = {
hide-when-typing = "yes";
};
url = {
launch = "xdg-open \${url}";
label-letters = "sadfjklewcmpgh";
osc8-underline = "url-mode";
protocols = "http, https, ftp, ftps, file";
uri-characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+=\"'()[]";
};
colors = import ./presets/${slug}/colors.nix {inherit colors;} // {alpha = "0.85";};
};
};
};
}

View file

@ -0,0 +1,22 @@
{colors}: {
foreground = "${colors.base05}"; # Text
background = "${colors.base00}"; # Base
regular0 = "${colors.base03}"; # Surface 1
regular1 = "${colors.base08}"; # red
regular2 = "${colors.base0B}"; # green
regular3 = "${colors.base0A}"; # yellow
regular4 = "${colors.base0D}"; # blue
regular5 = "${colors.base0F}"; # pink
regular6 = "${colors.base0C}"; # teal
regular7 = "${colors.base06}"; # Subtext 0
# Subtext 1 ???
bright0 = "${colors.base04}"; # Surface 2
bright1 = "${colors.base08}"; # red
bright2 = "${colors.base0B}"; # green
bright3 = "${colors.base0A}"; # yellow
bright4 = "${colors.base0D}"; # blue
bright5 = "${colors.base0F}"; # pink
bright6 = "${colors.base0C}"; # teal
bright7 = "${colors.base07}"; # Subtext 0
}

View file

@ -0,0 +1,21 @@
{colors}: {
background = "${colors.base00}";
foreground = "${colors.base06}";
regular0 = "${colors.base01}";
regular1 = "${colors.base0C}";
regular2 = "${colors.base0D}";
regular3 = "${colors.base05}";
regular4 = "${colors.base0B}";
regular5 = "${colors.base0A}";
regular6 = "${colors.base08}";
regular7 = "${colors.base04}";
bright0 = "${colors.base02}";
bright1 = "${colors.base0C}";
bright2 = "${colors.base0D}";
bright3 = "${colors.base05}";
bright4 = "${colors.base0B}";
bright5 = "${colors.base0A}";
bright6 = "${colors.base08}";
bright7 = "${colors.base06}";
}

View file

@ -0,0 +1,57 @@
{
osConfig,
lib,
...
}: let
inherit (lib) mkIf;
inherit (osConfig) modules;
inherit (modules.style.colorScheme) colors;
dev = modules.device;
acceptedTypes = ["laptop" "desktop" "hybrid"];
in {
config = mkIf (builtins.elem dev.type acceptedTypes) {
programs.kitty = {
enable = true;
settings = import ./settings.nix {inherit colors;};
keybindings = {
"ctrl+c" = "copy_or_interrupt";
"ctrl+alt+c" = "copy_to_clipboard";
"ctrl+alt+v" = "paste_from_clipboard";
"ctrl+shift+v" = "paste_from_clipboard";
"ctrl+shift+up" = "increase_font_size";
"ctrl+shift+down" = "decrease_font_size";
"ctrl+shift+backspace" = "restore_font_size";
"ctrl+shift+enter" = "new_window";
"ctrl+shift+n" = "new_os_window";
"ctrl+shift+w" = "close_window";
"ctrl+shift+]" = "next_window";
"ctrl+shift+[" = "previous_window";
"ctrl+shift+f" = "move_window_forward";
"ctrl+shift+b" = "move_window_backward";
"ctrl+shift+`" = "move_window_to_top";
"ctrl+shift+1" = "first_window";
"ctrl+shift+2" = "second_window";
"ctrl+shift+3" = "third_window";
"ctrl+shift+4" = "fourth_window";
"ctrl+shift+5" = "fifth_window";
"ctrl+shift+6" = "sixth_window";
"ctrl+shift+7" = "seventh_window";
"ctrl+shift+8" = "eighth_window";
"ctrl+shift+9" = "ninth_window";
"ctrl+shift+0" = "tenth_window";
"ctrl+shift+right" = "next_tab";
"ctrl+shift+left" = "previous_tab";
"ctrl+shift+t" = "new_tab";
"ctrl+shift+q" = "close_tab";
"ctrl+shift+l" = "next_layout";
"ctrl+shift+." = "move_tab_forward";
"ctrl+shift+," = "move_tab_backward";
"ctrl+shift+alt+t" = "set_tab_title";
};
};
};
}

View file

@ -0,0 +1,63 @@
{colors, ...}: {
# General
background_opacity = "0.85";
font_family = "monospace";
font_size = 14;
disable_ligatures = "never";
cursor_shape = "underline";
cursor_blink_interval = "0.5";
cursor_stop_blinking_after = "15.0";
scrollback_lines = 10000;
click_interval = "0.5";
select_by_word_characters = ":@-./_~?&=%+#";
remember_window_size = false;
allow_remote_control = true;
initial_window_width = 640;
initial_window_height = 400;
repaint_delay = 15;
input_delay = 3;
visual_bell_duration = "0.0";
url_style = "double";
open_url_with = "default";
confirm_os_window_close = 0;
enable_audio_bell = false;
window_padding_width = 15;
window_margin_width = 10;
# Colorscheme
foreground = "#${colors.base05}";
background = "#${colors.base00}";
selection_background = "#${colors.base05}";
selection_foreground = "#${colors.base00}";
url_color = "#${colors.base04}";
cursor = "#${colors.base05}";
active_border_color = "#${colors.base03}";
inactive_border_color = "#${colors.base01}";
active_tab_background = "#${colors.base00}";
active_tab_foreground = "#${colors.base05}";
inactive_tab_background = "#${colors.base01}";
inactive_tab_foreground = "#${colors.base04}";
tab_bar_background = "#${colors.base01}";
color0 = "#${colors.base00}";
color1 = "#${colors.base08}";
color2 = "#${colors.base0B}";
color3 = "#${colors.base0A}";
color4 = "#${colors.base0D}";
color5 = "#${colors.base0E}";
color6 = "#${colors.base0C}";
color7 = "#${colors.base05}";
color8 = "#${colors.base03}";
color9 = "#${colors.base08}";
color10 = "#${colors.base0B}";
color11 = "#${colors.base0A}";
color12 = "#${colors.base0D}";
color13 = "#${colors.base0E}";
color14 = "#${colors.base0C}";
color15 = "#${colors.base07}";
color16 = "#${colors.base09}";
color17 = "#${colors.base0F}";
color18 = "#${colors.base01}";
color19 = "#${colors.base02}";
color20 = "#${colors.base04}";
color21 = "#${colors.base06}";
}

View file

@ -0,0 +1,71 @@
{colors}:
with colors; {
followSystem = {
# basic colors
background = "#${base00}";
foreground = "#${base05}";
cursor_border = "#${base05}";
cursor_bg = "#${base05}";
cursor_fg = "#${base08}";
selection_bg = "#${base0E}";
selection_fg = "#${base00}";
split = "#${base01}";
# base16
ansi = [
"#${base03}"
"#${base08}"
"#${base0B}"
"#${base0A}"
"#${base0D}"
"#${base0F}"
"#${base0C}"
"#${base06}"
];
brights = [
"#${base04}"
"#${base08}"
"#${base0B}"
"#${base0A}"
"#${base0D}"
"#${base0F}"
"#${base0C}"
"#${base07}"
];
# tabbar
tab_bar = {
background = "#${base08}";
active_tab = {
bg_color = "#${base00}";
fg_color = "#${base05}";
};
inactive_tab = {
bg_color = "#${base08}";
fg_color = "#${base05}";
};
inactive_tab_hover = {
bg_color = "#${base00}";
fg_color = "#${base05}";
};
inactive_tab_edge = "#${base00}";
new_tab = {
bg_color = "#${base08}";
fg_color = "#${base07}";
};
new_tab_hover = {
bg_color = "#${base00}";
fg_color = "#${base05}";
};
};
};
}

View file

@ -0,0 +1,77 @@
{
osConfig,
pkgs,
lib,
...
}: let
inherit (lib) mkIf;
inherit (osConfig) modules;
inherit (modules.style.colorScheme) colors;
dev = modules.device;
acceptedTypes = ["laptop" "desktop" "hybrid"];
in {
config = mkIf (builtins.elem dev.type acceptedTypes) {
programs.wezterm = {
enable = true;
package = pkgs.wezterm;
colorSchemes = import ./colorSchemes.nix {inherit colors;};
extraConfig = ''
local wez = require("wezterm")
local act = wezterm.action
local baseConfig = {
-- general
check_for_updates = false, -- nix has updates covered, I don't care about updates
exit_behavior = "CloseOnCleanExit",
enable_scroll_bar = false,
audible_bell = "Disabled", -- annoying
warn_about_missing_glyphs = false,
-- anims
animation_fps = 1,
-- term window settings
adjust_window_size_when_changing_font_size = false,
window_background_opacity = 0.85,
window_padding = { left = 12, right = 12, top = 12, bottom = 12, },
window_close_confirmation = "NeverPrompt",
inactive_pane_hsb = {
saturation = 1.0,
brightness = 0.8
},
-- cursor
default_cursor_style = "SteadyBar",
cursor_blink_rate = 700,
cursor_blink_ease_in = 'Constant',
cursor_blink_ease_out = 'Constant',
-- tab bar
enable_tab_bar = true, -- no observable performance impact
use_fancy_tab_bar = false,
hide_tab_bar_if_only_one_tab = true,
show_tab_index_in_tab_bar = false,
-- font config
font_size = 14.0,
font = wezterm.font_with_fallback {
{ family = "Iosevka Nerd Font", weight = "Regular" },
{ family = "Symbols Nerd Font", weight = "Regular" }
},
-- perf
front_end = "WebGpu",
enable_wayland = true,
scrollback_lines = 10000,
-- colors
-- the followSystem theme is defined in colorSchemes.nix
-- as per my base16 theming options
color_scheme = "followSystem",
}
return baseConfig
'';
};
};
}