WIP cleanup
This commit is contained in:
parent
ed9d331f8d
commit
93173c3445
29 changed files with 0 additions and 1985 deletions
|
@ -1,5 +0,0 @@
|
||||||
{outputs, ...}: {
|
|
||||||
imports = with outputs.homeManagerModules; [
|
|
||||||
sway
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
{
|
|
||||||
# pkgs,
|
|
||||||
# colors,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.bat = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
theme = "ansi";
|
|
||||||
};
|
|
||||||
# themes = {
|
|
||||||
# "Catppuccin-mocha" = builtins.readFile (pkgs.fetchFromGitHub
|
|
||||||
# {
|
|
||||||
# owner = "catppuccin";
|
|
||||||
# repo = "bat";
|
|
||||||
# rev = "477622171ec0529505b0ca3cada68fc9433648c6";
|
|
||||||
# sha256 = "6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw=";
|
|
||||||
# }
|
|
||||||
# + "/Catppuccin-mocha.tmTheme");
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
|
|
||||||
home.shellAliases = {
|
|
||||||
cat = "bat";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,34 +0,0 @@
|
||||||
{colors, ...}: {
|
|
||||||
programs.broot = {
|
|
||||||
enable = true;
|
|
||||||
enableFishIntegration = true;
|
|
||||||
settings = {
|
|
||||||
modal = true; # vim mode?
|
|
||||||
|
|
||||||
verbs = [
|
|
||||||
{
|
|
||||||
invocation = "edit";
|
|
||||||
shortcut = "e";
|
|
||||||
execution = "$EDITOR {file}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
skin = with colors.withHashPrefix; {
|
|
||||||
status_normal_fg = fg;
|
|
||||||
status_normal_bg = bg;
|
|
||||||
status_error_fg = red;
|
|
||||||
status_error_bg = yellow;
|
|
||||||
tree_fg = red;
|
|
||||||
selected_line_bg = bg2;
|
|
||||||
permissions_fg = purple;
|
|
||||||
size_bar_full_bg = red;
|
|
||||||
size_bar_void_bg = bg;
|
|
||||||
directory_fg = yellow;
|
|
||||||
input_fg = blue;
|
|
||||||
flag_value_fg = yellow;
|
|
||||||
table_border_fg = red;
|
|
||||||
code_fg = yellow;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
{config, ...}: {
|
|
||||||
home.file."${config.home.homeDirectory}/.cargo/config.toml" = {
|
|
||||||
enable = true;
|
|
||||||
text = ''
|
|
||||||
[build]
|
|
||||||
rustdocflags = ["--default-theme=ayu"]
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# home.sessionVariables = {
|
|
||||||
# RUSTDOCFLAGS = "--default-theme=ayu";
|
|
||||||
# };
|
|
||||||
}
|
|
|
@ -1,112 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (pkgs) system;
|
|
||||||
in {
|
|
||||||
imports = with homeManagerModules; [
|
|
||||||
# nix-colors.homeManagerModules.default
|
|
||||||
fish
|
|
||||||
bat
|
|
||||||
helix
|
|
||||||
git
|
|
||||||
zellij
|
|
||||||
broot
|
|
||||||
nnn
|
|
||||||
htop
|
|
||||||
tmux
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
# services.ssh-agent.enable = true;
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = lib.mkDefault "lytedev";
|
|
||||||
homeDirectory = lib.mkDefault "/home/lytedev";
|
|
||||||
stateVersion = lib.mkDefault "23.11";
|
|
||||||
|
|
||||||
sessionVariables = {
|
|
||||||
EDITOR = "hx";
|
|
||||||
VISUAL = "hx";
|
|
||||||
PAGER = "less";
|
|
||||||
MANPAGER = "less";
|
|
||||||
};
|
|
||||||
|
|
||||||
packages = with pkgs; [
|
|
||||||
# tools I use when editing nix code
|
|
||||||
nil
|
|
||||||
alejandra
|
|
||||||
gnupg
|
|
||||||
(pkgs.buildEnv {
|
|
||||||
name = "my-common-scripts";
|
|
||||||
paths = [./scripts/common];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.direnv = {
|
|
||||||
enable = true;
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.eza = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.skim = {
|
|
||||||
# https://github.com/lotabout/skim/issues/494
|
|
||||||
enable = false;
|
|
||||||
enableFishIntegration = true;
|
|
||||||
defaultOptions = ["--no-clear-start" "--color=16"];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.atuin = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = config.programs.bash.enable;
|
|
||||||
enableFishIntegration = config.programs.fish.enable;
|
|
||||||
enableZshIntegration = config.programs.zsh.enable;
|
|
||||||
enableNushellIntegration = config.programs.nushell.enable;
|
|
||||||
|
|
||||||
flags = [
|
|
||||||
"--disable-up-arrow"
|
|
||||||
];
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
auto_sync = true;
|
|
||||||
sync_frequency = "1m";
|
|
||||||
sync_address = "https://atuin.h.lyte.dev";
|
|
||||||
keymap_mode = "vim-insert";
|
|
||||||
inline_height = 10;
|
|
||||||
show_preview = true;
|
|
||||||
|
|
||||||
sync = {
|
|
||||||
records = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
dotfiles = {
|
|
||||||
enabled = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.fzf = {
|
|
||||||
# using good ol' fzf until skim sucks less out of the box I guess
|
|
||||||
enable = true;
|
|
||||||
# enableFishIntegration = true;
|
|
||||||
# defaultCommand = "fd --type f";
|
|
||||||
# defaultOptions = ["--height 40%"];
|
|
||||||
# fileWidgetOptions = ["--preview 'head {}'"];
|
|
||||||
};
|
|
||||||
|
|
||||||
# TODO: regular cron or something?
|
|
||||||
programs.nix-index = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
enableBashIntegration = config.programs.bash.enable;
|
|
||||||
enableFishIntegration = config.programs.fish.enable;
|
|
||||||
enableZshIntegration = config.programs.zsh.enable;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,52 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
outputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = with outputs.homeManagerModules; [
|
|
||||||
kitty
|
|
||||||
wezterm
|
|
||||||
{
|
|
||||||
programs.gitui = {
|
|
||||||
enable = true;
|
|
||||||
theme = ''
|
|
||||||
(
|
|
||||||
selected_tab: Some(Reset),
|
|
||||||
command_fg: Some(Rgb(205, 214, 244)),
|
|
||||||
selection_bg: Some(Rgb(88, 91, 112)),
|
|
||||||
selection_fg: Some(Rgb(205, 214, 244)),
|
|
||||||
cmdbar_bg: Some(Rgb(24, 24, 37)),
|
|
||||||
cmdbar_extra_lines_bg: Some(Rgb(24, 24, 37)),
|
|
||||||
disabled_fg: Some(Rgb(127, 132, 156)),
|
|
||||||
diff_line_add: Some(Rgb(166, 227, 161)),
|
|
||||||
diff_line_delete: Some(Rgb(243, 139, 168)),
|
|
||||||
diff_file_added: Some(Rgb(249, 226, 175)),
|
|
||||||
diff_file_removed: Some(Rgb(235, 160, 172)),
|
|
||||||
diff_file_moved: Some(Rgb(203, 166, 247)),
|
|
||||||
diff_file_modified: Some(Rgb(250, 179, 135)),
|
|
||||||
commit_hash: Some(Rgb(180, 190, 254)),
|
|
||||||
commit_time: Some(Rgb(186, 194, 222)),
|
|
||||||
commit_author: Some(Rgb(116, 199, 236)),
|
|
||||||
danger_fg: Some(Rgb(243, 139, 168)),
|
|
||||||
push_gauge_bg: Some(Rgb(137, 180, 250)),
|
|
||||||
push_gauge_fg: Some(Rgb(30, 30, 46)),
|
|
||||||
tag_fg: Some(Rgb(245, 224, 220)),
|
|
||||||
branch_fg: Some(Rgb(148, 226, 213))
|
|
||||||
)
|
|
||||||
'';
|
|
||||||
# package = pkgs.gitui.overrideAttrs {
|
|
||||||
# version = "5b3e2c9ae3913855f5dbe463c5ae1c04430e7532";
|
|
||||||
|
|
||||||
# src = pkgs.fetchFromGitHub {
|
|
||||||
# owner = "extrawurst";
|
|
||||||
# repo = "gitui";
|
|
||||||
# rev = "5b3e2c9ae3913855f5dbe463c5ae1c04430e7532";
|
|
||||||
# hash = "sha256-Uf1hGvau6tdZGBHmmNnTd3p/Wlw5Eb3ASI2xaETWnF0=";
|
|
||||||
# };
|
|
||||||
|
|
||||||
# cargoSha256 = "";
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,46 +0,0 @@
|
||||||
{
|
|
||||||
# pkgs,
|
|
||||||
# outputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.gitui = {
|
|
||||||
enable = true;
|
|
||||||
theme = ''
|
|
||||||
(
|
|
||||||
selected_tab: Some(Reset),
|
|
||||||
command_fg: Some(Rgb(205, 214, 244)),
|
|
||||||
selection_bg: Some(Rgb(88, 91, 112)),
|
|
||||||
selection_fg: Some(Rgb(205, 214, 244)),
|
|
||||||
cmdbar_bg: Some(Rgb(24, 24, 37)),
|
|
||||||
cmdbar_extra_lines_bg: Some(Rgb(24, 24, 37)),
|
|
||||||
disabled_fg: Some(Rgb(127, 132, 156)),
|
|
||||||
diff_line_add: Some(Rgb(166, 227, 161)),
|
|
||||||
diff_line_delete: Some(Rgb(243, 139, 168)),
|
|
||||||
diff_file_added: Some(Rgb(249, 226, 175)),
|
|
||||||
diff_file_removed: Some(Rgb(235, 160, 172)),
|
|
||||||
diff_file_moved: Some(Rgb(203, 166, 247)),
|
|
||||||
diff_file_modified: Some(Rgb(250, 179, 135)),
|
|
||||||
commit_hash: Some(Rgb(180, 190, 254)),
|
|
||||||
commit_time: Some(Rgb(186, 194, 222)),
|
|
||||||
commit_author: Some(Rgb(116, 199, 236)),
|
|
||||||
danger_fg: Some(Rgb(243, 139, 168)),
|
|
||||||
push_gauge_bg: Some(Rgb(137, 180, 250)),
|
|
||||||
push_gauge_fg: Some(Rgb(30, 30, 46)),
|
|
||||||
tag_fg: Some(Rgb(245, 224, 220)),
|
|
||||||
branch_fg: Some(Rgb(148, 226, 213))
|
|
||||||
)
|
|
||||||
'';
|
|
||||||
# package = pkgs.gitui.overrideAttrs {
|
|
||||||
# version = "5b3e2c9ae3913855f5dbe463c5ae1c04430e7532";
|
|
||||||
|
|
||||||
# src = pkgs.fetchFromGitHub {
|
|
||||||
# owner = "extrawurst";
|
|
||||||
# repo = "gitui";
|
|
||||||
# rev = "5b3e2c9ae3913855f5dbe463c5ae1c04430e7532";
|
|
||||||
# hash = "sha256-Uf1hGvau6tdZGBHmmNnTd3p/Wlw5Eb3ASI2xaETWnF0=";
|
|
||||||
# };
|
|
||||||
|
|
||||||
# cargoSha256 = "";
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
{...}: {
|
|
||||||
programs.firefox = {
|
|
||||||
profiles = {
|
|
||||||
daniel = {
|
|
||||||
userChrome = ''
|
|
||||||
#TabsToolbar {
|
|
||||||
visibility: collapse;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar>.toolbar-items {
|
|
||||||
opacity: 0;
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#main-window:not([tabsintitlebar="true"]) #TabsToolbar {
|
|
||||||
visibility: collapse !important;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,40 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
programs.firefox = {
|
|
||||||
# TODO: this should be able to work on macos, no?
|
|
||||||
# TODO: enable dark theme by default
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
# TODO: uses nixpkgs.pass so pass otp doesn't work
|
|
||||||
package = pkgs.firefox.override {nativeMessagingHosts = [pkgs.passff-host];};
|
|
||||||
|
|
||||||
# extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
||||||
# ublock-origin
|
|
||||||
# ]; # TODO: would be nice to have _all_ my firefox stuff managed here instead of Firefox Sync maybe?
|
|
||||||
|
|
||||||
profiles = {
|
|
||||||
daniel = {
|
|
||||||
id = 0;
|
|
||||||
settings = {
|
|
||||||
"general.smoothScroll" = true;
|
|
||||||
"browser.zoom.siteSpecific" = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = ''
|
|
||||||
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
|
||||||
// user_pref("full-screen-api.ignore-widgets", true);
|
|
||||||
user_pref("media.ffmpeg.vaapi.enabled", true);
|
|
||||||
user_pref("media.rdd-vpx.enabled", true);
|
|
||||||
'';
|
|
||||||
|
|
||||||
userChrome = ''
|
|
||||||
#webrtcIndicator {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
|
|
||||||
# userContent = ''
|
|
||||||
# '';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{...}: {
|
|
||||||
home-manager = {
|
|
||||||
users.flanfam = {
|
|
||||||
imports = [./common.nix];
|
|
||||||
home = {
|
|
||||||
username = "flanfam";
|
|
||||||
homeDirectory = "/home/flanfam";
|
|
||||||
stateVersion = "23.11";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{...}: {
|
|
||||||
home-manager = {
|
|
||||||
users.flanfamkiosk = {
|
|
||||||
imports = [./common.nix];
|
|
||||||
home = {
|
|
||||||
username = "flanfamkiosk";
|
|
||||||
homeDirectory = "/home/flanfamkiosk";
|
|
||||||
stateVersion = "23.11";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,109 +0,0 @@
|
||||||
{lib, ...}: let
|
|
||||||
email = lib.mkDefault "daniel@lyte.dev";
|
|
||||||
in {
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
userName = lib.mkDefault "Daniel Flanagan";
|
|
||||||
userEmail = email;
|
|
||||||
|
|
||||||
delta = {
|
|
||||||
enable = true;
|
|
||||||
options = {};
|
|
||||||
};
|
|
||||||
|
|
||||||
lfs = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# signing = {
|
|
||||||
# signByDefault = false;
|
|
||||||
# key = ~/.ssh/personal-ed25519;
|
|
||||||
# };
|
|
||||||
|
|
||||||
aliases = {
|
|
||||||
a = "add -A";
|
|
||||||
ac = "commit -a";
|
|
||||||
acm = "commit -a -m";
|
|
||||||
c = "commit";
|
|
||||||
cm = "commit -m";
|
|
||||||
co = "checkout";
|
|
||||||
|
|
||||||
b = "rev-parse --symbolic-full-name HEAD";
|
|
||||||
cnv = "commit --no-verify";
|
|
||||||
cns = "commit --no-gpg-sign";
|
|
||||||
cnvs = "commit --no-verify --no-gpg-sign";
|
|
||||||
cnsv = "commit --no-verify --no-gpg-sign";
|
|
||||||
|
|
||||||
d = "diff";
|
|
||||||
ds = "diff --staged";
|
|
||||||
dt = "difftool";
|
|
||||||
|
|
||||||
f = "fetch";
|
|
||||||
fa = "fetch --all";
|
|
||||||
|
|
||||||
l = "log --graph --abbrev-commit --decorate --oneline --all";
|
|
||||||
plainlog = " log --pretty=format:'%h %ad%x09%an%x09%s' --date=short --decorate";
|
|
||||||
ls = "ls-files";
|
|
||||||
mm = "merge master";
|
|
||||||
p = "push";
|
|
||||||
pf = "push --force-with-lease";
|
|
||||||
pl = "pull";
|
|
||||||
rim = "rebase -i master";
|
|
||||||
s = "status";
|
|
||||||
};
|
|
||||||
|
|
||||||
# TODO: https://blog.scottlowe.org/2023/12/15/conditional-git-configuration/
|
|
||||||
extraConfig = {
|
|
||||||
commit = {
|
|
||||||
verbose = true;
|
|
||||||
# gpgSign = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
tag = {
|
|
||||||
# gpgSign = true;
|
|
||||||
sort = "version:refname";
|
|
||||||
};
|
|
||||||
|
|
||||||
# include.path = local.gitconfig
|
|
||||||
|
|
||||||
gpg.format = "ssh";
|
|
||||||
log.date = "local";
|
|
||||||
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
|
|
||||||
merge.conflictstyle = "zdiff3";
|
|
||||||
|
|
||||||
push.autoSetupRemote = true;
|
|
||||||
|
|
||||||
branch.autoSetupMerge = true;
|
|
||||||
|
|
||||||
sendemail = {
|
|
||||||
smtpserver = "smtp.mailgun.org";
|
|
||||||
smtpuser = email;
|
|
||||||
smtrpencryption = "tls";
|
|
||||||
smtpserverport = 587;
|
|
||||||
};
|
|
||||||
|
|
||||||
url = {
|
|
||||||
# TODO: how to have per-machine not-in-git configuration?
|
|
||||||
"git@git.hq.bill.com:" = {
|
|
||||||
insteadOf = "https://git.hq.bill.com";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.fish.functions = {
|
|
||||||
g = {
|
|
||||||
wraps = "git";
|
|
||||||
body = ''
|
|
||||||
if test (count $argv) -gt 0
|
|
||||||
git $argv
|
|
||||||
else
|
|
||||||
git status
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
{...}: {
|
|
||||||
dconf.settings = {
|
|
||||||
"org/gnome/mutter" = {
|
|
||||||
experimental-features = ["scale-monitor-framebuffer"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,529 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (pkgs) system;
|
|
||||||
in {
|
|
||||||
# helix rust debugger stuff
|
|
||||||
# https://github.com/helix-editor/helix/wiki/Debugger-Configurations
|
|
||||||
home.file."${config.xdg.configHome}/lldb_vscode_rustc_primer.py" = {
|
|
||||||
text = ''
|
|
||||||
import subprocess
|
|
||||||
import pathlib
|
|
||||||
import lldb
|
|
||||||
|
|
||||||
# Determine the sysroot for the active Rust interpreter
|
|
||||||
rustlib_etc = pathlib.Path(subprocess.getoutput('rustc --print sysroot')) / 'lib' / 'rustlib' / 'etc'
|
|
||||||
if not rustlib_etc.exists():
|
|
||||||
raise RuntimeError('Unable to determine rustc sysroot')
|
|
||||||
|
|
||||||
# Load lldb_lookup.py and execute lldb_commands with the correct path
|
|
||||||
lldb.debugger.HandleCommand(f"""command script import "{rustlib_etc / 'lldb_lookup.py'}" """)
|
|
||||||
lldb.debugger.HandleCommand(f"""command source -s 0 "{rustlib_etc / 'lldb_commands'}" """)
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# NOTE: Currently, helix crashes when editing markdown in certain scenarios,
|
|
||||||
# presumably due to an old markdown treesitter grammar
|
|
||||||
# https://github.com/helix-editor/helix/issues/9011
|
|
||||||
# https://github.com/helix-editor/helix/issues/8821
|
|
||||||
# https://github.com/tree-sitter-grammars/tree-sitter-markdown/issues/114
|
|
||||||
|
|
||||||
programs.helix = {
|
|
||||||
enable = true;
|
|
||||||
package = inputs.helix.packages.${system}.helix;
|
|
||||||
languages = {
|
|
||||||
language-server = {
|
|
||||||
lexical = {
|
|
||||||
command = "lexical";
|
|
||||||
args = ["start"];
|
|
||||||
};
|
|
||||||
|
|
||||||
# next-ls = {
|
|
||||||
# command = "next-ls";
|
|
||||||
# args = ["--stdout"];
|
|
||||||
# };
|
|
||||||
|
|
||||||
# deno = {
|
|
||||||
# command = "deno";
|
|
||||||
# args = ["lsp"];
|
|
||||||
# config = {
|
|
||||||
# enable = true;
|
|
||||||
# lint = true;
|
|
||||||
# unstable = true;
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
|
|
||||||
language = [
|
|
||||||
# {
|
|
||||||
# name = "heex";
|
|
||||||
# scope = "source.heex";
|
|
||||||
# injection-regex = "heex";
|
|
||||||
# language-servers = ["lexical"]; # "lexical" "next-ls" ?
|
|
||||||
# auto-format = true;
|
|
||||||
# file-types = ["heex"];
|
|
||||||
# roots = ["mix.exs" "mix.lock"];
|
|
||||||
# indent = {
|
|
||||||
# tab-width = 2;
|
|
||||||
# unit = " ";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# name = "elixir";
|
|
||||||
# language-servers = ["lexical"]; # "lexical" "next-ls" ?
|
|
||||||
# auto-format = true;
|
|
||||||
# }
|
|
||||||
{
|
|
||||||
name = "rust";
|
|
||||||
|
|
||||||
debugger = {
|
|
||||||
name = "lldb-vscode";
|
|
||||||
transport = "stdio";
|
|
||||||
command = "lldb-vscode";
|
|
||||||
templates = [
|
|
||||||
{
|
|
||||||
name = "binary";
|
|
||||||
request = "launch";
|
|
||||||
completion = [
|
|
||||||
{
|
|
||||||
name = "binary";
|
|
||||||
completion = "filename";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
args = {
|
|
||||||
program = "{0}";
|
|
||||||
initCommands = ["command script import ${config.xdg.configHome}/lldb_vscode_rustc_primer.py"];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "html";
|
|
||||||
file-types = ["html"];
|
|
||||||
scope = "source.html";
|
|
||||||
auto-format = false;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "nix";
|
|
||||||
file-types = ["nix"];
|
|
||||||
scope = "source.nix";
|
|
||||||
auto-format = true;
|
|
||||||
formatter = {
|
|
||||||
command = "alejandra";
|
|
||||||
args = ["-"];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "fish";
|
|
||||||
file-types = ["fish"];
|
|
||||||
scope = "source.fish";
|
|
||||||
auto-format = true;
|
|
||||||
indent = {
|
|
||||||
tab-width = 2;
|
|
||||||
unit = "\t";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
# {
|
|
||||||
# name = "javascript";
|
|
||||||
# language-id = "javascript";
|
|
||||||
# grammar = "javascript";
|
|
||||||
# scope = "source.js";
|
|
||||||
# injection-regex = "^(js|javascript)$";
|
|
||||||
# file-types = ["js" "mjs"];
|
|
||||||
# shebangs = ["deno"];
|
|
||||||
# language-servers = ["deno"];
|
|
||||||
# roots = ["deno.jsonc" "deno.json"];
|
|
||||||
# formatter = {
|
|
||||||
# command = "deno";
|
|
||||||
# args = ["fmt"];
|
|
||||||
# };
|
|
||||||
# auto-format = true;
|
|
||||||
# comment-token = "//";
|
|
||||||
# indent = {
|
|
||||||
# tab-width = 2;
|
|
||||||
# unit = "\t";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
|
|
||||||
# {
|
|
||||||
# name = "typescript";
|
|
||||||
# language-id = "typescript";
|
|
||||||
# grammar = "typescript";
|
|
||||||
# scope = "source.ts";
|
|
||||||
# injection-regex = "^(ts|typescript)$";
|
|
||||||
# file-types = ["ts"];
|
|
||||||
# shebangs = ["deno"];
|
|
||||||
# language-servers = ["deno"];
|
|
||||||
# roots = ["deno.jsonc" "deno.json"];
|
|
||||||
# formatter = {
|
|
||||||
# command = "deno";
|
|
||||||
# args = ["fmt"];
|
|
||||||
# };
|
|
||||||
# auto-format = true;
|
|
||||||
# comment-token = "//";
|
|
||||||
# indent = {
|
|
||||||
# tab-width = 2;
|
|
||||||
# unit = "\t";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
|
|
||||||
# {
|
|
||||||
# name = "jsonc";
|
|
||||||
# language-id = "json";
|
|
||||||
# grammar = "jsonc";
|
|
||||||
# scope = "source.jsonc";
|
|
||||||
# injection-regex = "^(jsonc)$";
|
|
||||||
# roots = ["deno.jsonc" "deno.json"];
|
|
||||||
# file-types = ["jsonc"];
|
|
||||||
# language-servers = ["deno"];
|
|
||||||
# indent = {
|
|
||||||
# tab-width = 2;
|
|
||||||
# unit = " ";
|
|
||||||
# };
|
|
||||||
# auto-format = true;
|
|
||||||
# }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
theme = "custom";
|
|
||||||
|
|
||||||
editor = {
|
|
||||||
soft-wrap.enable = true;
|
|
||||||
auto-pairs = false;
|
|
||||||
# auto-save = false;
|
|
||||||
# completion-trigger-len = 1;
|
|
||||||
# color-modes = false;
|
|
||||||
bufferline = "multiple";
|
|
||||||
# scrolloff = 8;
|
|
||||||
rulers = [81 121];
|
|
||||||
cursorline = true;
|
|
||||||
|
|
||||||
cursor-shape = {
|
|
||||||
normal = "block";
|
|
||||||
insert = "bar";
|
|
||||||
select = "underline";
|
|
||||||
};
|
|
||||||
|
|
||||||
file-picker.hidden = false;
|
|
||||||
indent-guides = {
|
|
||||||
render = true;
|
|
||||||
character = "▏";
|
|
||||||
};
|
|
||||||
|
|
||||||
lsp = {
|
|
||||||
display-messages = true;
|
|
||||||
# display-inlay-hints = true;
|
|
||||||
};
|
|
||||||
statusline = {
|
|
||||||
separator = " ";
|
|
||||||
mode = {
|
|
||||||
"normal" = "N";
|
|
||||||
"insert" = "I";
|
|
||||||
"select" = "S";
|
|
||||||
};
|
|
||||||
left = [
|
|
||||||
"file-name"
|
|
||||||
"mode"
|
|
||||||
# "selections"
|
|
||||||
# "primary-selection-length"
|
|
||||||
# "position"
|
|
||||||
# "position-percentage"
|
|
||||||
"spinner"
|
|
||||||
"diagnostics"
|
|
||||||
"workspace-diagnostics"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
# center = ["file-name"];
|
|
||||||
# right = ["version-control" "total-line-numbers" "file-encoding"];
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
keys = {
|
|
||||||
insert = {
|
|
||||||
j = {
|
|
||||||
k = "normal_mode";
|
|
||||||
j = "normal_mode";
|
|
||||||
K = "normal_mode";
|
|
||||||
J = "normal_mode";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
normal = {
|
|
||||||
"C-k" = "jump_view_up";
|
|
||||||
"C-j" = "jump_view_down";
|
|
||||||
"C-h" = "jump_view_left";
|
|
||||||
"C-l" = "jump_view_right";
|
|
||||||
"C-q" = ":quit-all!";
|
|
||||||
# "L" = "repeat_last_motion";
|
|
||||||
space = {
|
|
||||||
q = ":reflow 80";
|
|
||||||
Q = ":reflow 120";
|
|
||||||
C = ":bc!";
|
|
||||||
h = ":toggle lsp.display-inlay-hints";
|
|
||||||
# O = ["select_textobject_inner WORD", ":pipe-to xargs xdg-open"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
select = {
|
|
||||||
space = {
|
|
||||||
q = ":reflow 80";
|
|
||||||
Q = ":reflow 120";
|
|
||||||
};
|
|
||||||
# "L" = "repeat_last_motion";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
themes = with colors.withHashPrefix; {
|
|
||||||
custom = {
|
|
||||||
"type" = orange;
|
|
||||||
|
|
||||||
"constructor" = blue;
|
|
||||||
|
|
||||||
"constant" = orange;
|
|
||||||
"constant.builtin" = orange;
|
|
||||||
"constant.character" = yellow;
|
|
||||||
"constant.character.escape" = orange;
|
|
||||||
|
|
||||||
"string" = green;
|
|
||||||
"string.regexp" = orange;
|
|
||||||
"string.special" = blue;
|
|
||||||
|
|
||||||
"comment" = {
|
|
||||||
fg = fgdim;
|
|
||||||
modifiers = ["italic"];
|
|
||||||
};
|
|
||||||
|
|
||||||
"variable" = text;
|
|
||||||
"variable.parameter" = {
|
|
||||||
fg = red;
|
|
||||||
modifiers = ["italic"];
|
|
||||||
};
|
|
||||||
"variable.builtin" = red;
|
|
||||||
"variable.other.member" = text;
|
|
||||||
|
|
||||||
"label" = blue;
|
|
||||||
|
|
||||||
"punctuation" = fgdim;
|
|
||||||
"punctuation.special" = blue;
|
|
||||||
|
|
||||||
"keyword" = purple;
|
|
||||||
"keyword.storage.modifier.ref" = yellow;
|
|
||||||
"keyword.control.conditional" = {
|
|
||||||
fg = purple;
|
|
||||||
modifiers = ["italic"];
|
|
||||||
};
|
|
||||||
|
|
||||||
"operator" = blue;
|
|
||||||
|
|
||||||
"function" = blue;
|
|
||||||
"function.macro" = purple;
|
|
||||||
|
|
||||||
"tag" = purple;
|
|
||||||
"attribute" = blue;
|
|
||||||
|
|
||||||
"namespace" = {
|
|
||||||
fg = blue;
|
|
||||||
modifiers = ["italic"];
|
|
||||||
};
|
|
||||||
|
|
||||||
"special" = blue;
|
|
||||||
|
|
||||||
"markup.heading.marker" = {
|
|
||||||
fg = orange;
|
|
||||||
modifiers = ["bold"];
|
|
||||||
};
|
|
||||||
"markup.heading.1" = blue;
|
|
||||||
"markup.heading.2" = yellow;
|
|
||||||
"markup.heading.3" = green;
|
|
||||||
"markup.heading.4" = orange;
|
|
||||||
"markup.heading.5" = red;
|
|
||||||
"markup.heading.6" = fg3;
|
|
||||||
"markup.list" = purple;
|
|
||||||
"markup.bold" = {modifiers = ["bold"];};
|
|
||||||
"markup.italic" = {modifiers = ["italic"];};
|
|
||||||
"markup.strikethrough" = {modifiers = ["crossed_out"];};
|
|
||||||
"markup.link.url" = {
|
|
||||||
fg = red;
|
|
||||||
modifiers = ["underlined"];
|
|
||||||
};
|
|
||||||
"markup.link.text" = blue;
|
|
||||||
"markup.raw" = red;
|
|
||||||
|
|
||||||
"diff.plus" = green;
|
|
||||||
"diff.minus" = red;
|
|
||||||
"diff.delta" = blue;
|
|
||||||
|
|
||||||
"ui.linenr" = {fg = fgdim;};
|
|
||||||
"ui.linenr.selected" = {fg = fg2;};
|
|
||||||
|
|
||||||
"ui.statusline" = {
|
|
||||||
fg = fgdim;
|
|
||||||
bg = bg;
|
|
||||||
};
|
|
||||||
"ui.statusline.inactive" = {
|
|
||||||
fg = fg3;
|
|
||||||
bg = bg2;
|
|
||||||
};
|
|
||||||
"ui.statusline.normal" = {
|
|
||||||
fg = bg;
|
|
||||||
bg = purple;
|
|
||||||
modifiers = ["bold"];
|
|
||||||
};
|
|
||||||
"ui.statusline.insert" = {
|
|
||||||
fg = bg;
|
|
||||||
bg = green;
|
|
||||||
modifiers = ["bold"];
|
|
||||||
};
|
|
||||||
"ui.statusline.select" = {
|
|
||||||
fg = bg;
|
|
||||||
bg = red;
|
|
||||||
modifiers = ["bold"];
|
|
||||||
};
|
|
||||||
|
|
||||||
"ui.popup" = {
|
|
||||||
fg = text;
|
|
||||||
bg = bg2;
|
|
||||||
};
|
|
||||||
"ui.window" = {fg = fgdim;};
|
|
||||||
"ui.help" = {
|
|
||||||
fg = fg2;
|
|
||||||
bg = bg2;
|
|
||||||
};
|
|
||||||
|
|
||||||
"ui.bufferline" = {
|
|
||||||
fg = fgdim;
|
|
||||||
bg = bg2;
|
|
||||||
};
|
|
||||||
"ui.bufferline.background" = {bg = bg2;};
|
|
||||||
|
|
||||||
"ui.text" = text;
|
|
||||||
"ui.text.focus" = {
|
|
||||||
fg = text;
|
|
||||||
bg = bg3;
|
|
||||||
modifiers = ["bold"];
|
|
||||||
};
|
|
||||||
"ui.text.inactive" = {fg = fg2;};
|
|
||||||
|
|
||||||
"ui.virtual" = fg2;
|
|
||||||
"ui.virtual.ruler" = {bg = bg3;};
|
|
||||||
"ui.virtual.indent-guide" = bg3;
|
|
||||||
"ui.virtual.inlay-hint" = {
|
|
||||||
fg = bg3;
|
|
||||||
bg = bg;
|
|
||||||
};
|
|
||||||
|
|
||||||
"ui.selection" = {bg = bg5;};
|
|
||||||
|
|
||||||
"ui.cursor" = {
|
|
||||||
fg = bg;
|
|
||||||
bg = text;
|
|
||||||
};
|
|
||||||
"ui.cursor.primary" = {
|
|
||||||
fg = bg;
|
|
||||||
bg = red;
|
|
||||||
};
|
|
||||||
"ui.cursor.match" = {
|
|
||||||
fg = orange;
|
|
||||||
modifiers = ["bold"];
|
|
||||||
};
|
|
||||||
|
|
||||||
"ui.cursor.primary.normal" = {
|
|
||||||
fg = bg;
|
|
||||||
bg = text;
|
|
||||||
};
|
|
||||||
"ui.cursor.primary.insert" = {
|
|
||||||
fg = bg;
|
|
||||||
bg = text;
|
|
||||||
};
|
|
||||||
"ui.cursor.primary.select" = {
|
|
||||||
fg = bg;
|
|
||||||
bg = text;
|
|
||||||
};
|
|
||||||
|
|
||||||
"ui.cursor.normal" = {
|
|
||||||
fg = bg;
|
|
||||||
bg = fg;
|
|
||||||
};
|
|
||||||
"ui.cursor.insert" = {
|
|
||||||
fg = bg;
|
|
||||||
bg = fg;
|
|
||||||
};
|
|
||||||
"ui.cursor.select" = {
|
|
||||||
fg = bg;
|
|
||||||
bg = fg;
|
|
||||||
};
|
|
||||||
|
|
||||||
"ui.cursorline.primary" = {bg = bg3;};
|
|
||||||
|
|
||||||
"ui.highlight" = {
|
|
||||||
bg = bg3;
|
|
||||||
fg = bg;
|
|
||||||
modifiers = ["bold"];
|
|
||||||
};
|
|
||||||
|
|
||||||
"ui.menu" = {
|
|
||||||
fg = fg3;
|
|
||||||
bg = bg2;
|
|
||||||
};
|
|
||||||
"ui.menu.selected" = {
|
|
||||||
fg = text;
|
|
||||||
bg = bg3;
|
|
||||||
modifiers = ["bold"];
|
|
||||||
};
|
|
||||||
|
|
||||||
"diagnostic.error" = {
|
|
||||||
underline = {
|
|
||||||
color = red;
|
|
||||||
style = "curl";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"diagnostic.warning" = {
|
|
||||||
underline = {
|
|
||||||
color = orange;
|
|
||||||
style = "curl";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"diagnostic.info" = {
|
|
||||||
underline = {
|
|
||||||
color = blue;
|
|
||||||
style = "curl";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"diagnostic.hint" = {
|
|
||||||
underline = {
|
|
||||||
color = blue;
|
|
||||||
style = "curl";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
error = red;
|
|
||||||
warning = orange;
|
|
||||||
info = blue;
|
|
||||||
hint = yellow;
|
|
||||||
"ui.background" = {
|
|
||||||
bg = bg;
|
|
||||||
fg = fgdim;
|
|
||||||
};
|
|
||||||
|
|
||||||
# "ui.cursorline.primary" = { bg = "default" }
|
|
||||||
# "ui.cursorline.secondary" = { bg = "default" }
|
|
||||||
"ui.cursorcolumn.primary" = {bg = bg3;};
|
|
||||||
"ui.cursorcolumn.secondary" = {bg = bg3;};
|
|
||||||
|
|
||||||
"ui.bufferline.active" = {
|
|
||||||
fg = primary;
|
|
||||||
bg = bg3;
|
|
||||||
underline = {
|
|
||||||
color = primary;
|
|
||||||
style = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,74 +0,0 @@
|
||||||
{
|
|
||||||
programs.htop = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
# hide_kernel_threads = 1;
|
|
||||||
# hide_userland_threads = 1;
|
|
||||||
# show_program_path = 0;
|
|
||||||
# header_margin = 0;
|
|
||||||
# show_cpu_frequency = 1;
|
|
||||||
# highlight_base_name = 1;
|
|
||||||
# tree_view = 0;
|
|
||||||
# htop_version = "3.2.2";
|
|
||||||
# config_reader_min_version = 3;
|
|
||||||
fields = "0 48 17 18 38 39 40 2 46 47 49 1";
|
|
||||||
hide_kernel_threads = 1;
|
|
||||||
hide_userland_threads = 1;
|
|
||||||
show_program_path = 0;
|
|
||||||
header_margin = 0;
|
|
||||||
show_cpu_frequency = 1;
|
|
||||||
highlight_base_name = 1;
|
|
||||||
tree_view = 0;
|
|
||||||
hide_running_in_container = 0;
|
|
||||||
shadow_other_users = 0;
|
|
||||||
show_thread_names = 0;
|
|
||||||
highlight_deleted_exe = 1;
|
|
||||||
shadow_distribution_path_prefix = 0;
|
|
||||||
highlight_megabytes = 1;
|
|
||||||
highlight_threads = 1;
|
|
||||||
highlight_changes = 0;
|
|
||||||
highlight_changes_delay_secs = 5;
|
|
||||||
find_comm_in_cmdline = 1;
|
|
||||||
strip_exe_from_cmdline = 1;
|
|
||||||
show_merged_command = 0;
|
|
||||||
screen_tabs = 1;
|
|
||||||
detailed_cpu_time = 0;
|
|
||||||
cpu_count_from_one = 0;
|
|
||||||
show_cpu_usage = 1;
|
|
||||||
show_cpu_temperature = 0;
|
|
||||||
degree_fahrenheit = 0;
|
|
||||||
update_process_names = 0;
|
|
||||||
account_guest_in_cpu_meter = 0;
|
|
||||||
enable_mouse = 1;
|
|
||||||
delay = 15;
|
|
||||||
hide_function_bar = 0;
|
|
||||||
header_layout = "two_50_50";
|
|
||||||
column_meters_0 = "LeftCPUs Memory Swap";
|
|
||||||
column_meter_modes_0 = "1 1 1";
|
|
||||||
column_meters_1 = "RightCPUs Tasks LoadAverage Uptime";
|
|
||||||
column_meter_modes_1 = "1 2 2 2";
|
|
||||||
sort_key = 47;
|
|
||||||
tree_sort_key = 0;
|
|
||||||
sort_direction = -1;
|
|
||||||
tree_sort_direction = 1;
|
|
||||||
tree_view_always_by_pid = 0;
|
|
||||||
all_branches_collapsed = 0;
|
|
||||||
# screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command
|
|
||||||
# .sort_key=PERCENT_MEM
|
|
||||||
# .tree_sort_key=PID
|
|
||||||
# .tree_view=0
|
|
||||||
# .tree_view_always_by_pid=0
|
|
||||||
# .sort_direction=-1
|
|
||||||
# .tree_sort_direction=1
|
|
||||||
# .all_branches_collapsed=0
|
|
||||||
# screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE Command
|
|
||||||
# .sort_key=IO_RATE
|
|
||||||
# .tree_sort_key=PID
|
|
||||||
# .tree_view=0
|
|
||||||
# .tree_view_always_by_pid=0
|
|
||||||
# .sort_direction=-1
|
|
||||||
# .tree_sort_direction=1
|
|
||||||
# .all_branches_collapsed=0
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
{
|
|
||||||
home.file.".iex.exs" = {
|
|
||||||
enable = true;
|
|
||||||
text = ''
|
|
||||||
Application.put_env(:elixir, :ansi_enabled, true)
|
|
||||||
|
|
||||||
# PROTIP: to break, `#iex:break`
|
|
||||||
|
|
||||||
IEx.configure(
|
|
||||||
colors: [enabled: true],
|
|
||||||
inspect: [
|
|
||||||
pretty: true,
|
|
||||||
printable_limit: :infinity,
|
|
||||||
limit: :infinity,
|
|
||||||
charlists: :as_lists
|
|
||||||
],
|
|
||||||
default_prompt: [
|
|
||||||
# ANSI CHA, move cursor to column 1
|
|
||||||
# "\e[G",
|
|
||||||
:magenta,
|
|
||||||
# IEx prompt variable
|
|
||||||
"%prefix",
|
|
||||||
"#",
|
|
||||||
# IEx prompt variable
|
|
||||||
"%counter",
|
|
||||||
# plain string
|
|
||||||
">",
|
|
||||||
:reset
|
|
||||||
]
|
|
||||||
|> IO.ANSI.format()
|
|
||||||
|> IO.chardata_to_string()
|
|
||||||
)
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
services.kdeconnect = {
|
|
||||||
enable = true;
|
|
||||||
indicator = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,29 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
outputs,
|
|
||||||
# font,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = with outputs.homeManagerModules; [
|
|
||||||
linux
|
|
||||||
desktop
|
|
||||||
firefox
|
|
||||||
];
|
|
||||||
|
|
||||||
gtk.theme = {
|
|
||||||
name = "Catppuccin-Mocha-Compact-Sapphire-Dark";
|
|
||||||
package = pkgs.catppuccin-gtk.override {
|
|
||||||
accents = ["sapphire"];
|
|
||||||
size = "compact";
|
|
||||||
tweaks = ["rimless"];
|
|
||||||
variant = "mocha";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.pointerCursor = {
|
|
||||||
name = "Bibata-Modern-Classic";
|
|
||||||
package = pkgs.bibata-cursors;
|
|
||||||
size = 40; # TODO: this doesn't seem to work -- at least in Sway
|
|
||||||
# some icons are also missing (hand2?)
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,34 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
home = {
|
|
||||||
sessionVariables = {
|
|
||||||
MOZ_ENABLE_WAYLAND = "1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.fish = {
|
|
||||||
shellAliases = {
|
|
||||||
disks = "df -h && lsblk";
|
|
||||||
sctl = "sudo systemctl";
|
|
||||||
bt = "bluetoothctl";
|
|
||||||
pa = "pulsemixer";
|
|
||||||
sctlu = "systemctl --user";
|
|
||||||
};
|
|
||||||
|
|
||||||
functions = {
|
|
||||||
pp = ''
|
|
||||||
if test (count $argv) -gt 0
|
|
||||||
while true; ping -O -i 1 -w 5 -c 10000000 $argv; sleep 1; end
|
|
||||||
else
|
|
||||||
while true; ping -O -i 1 -w 5 -c 10000000 1.1.1.1; sleep 1; end
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = [
|
|
||||||
(pkgs.buildEnv {
|
|
||||||
name = "my-linux-scripts";
|
|
||||||
paths = [./scripts/linux];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{outputs, ...}: {
|
|
||||||
imports = with outputs.homeManagerModules; [
|
|
||||||
desktop
|
|
||||||
pass
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
{inputs, ...}: {
|
|
||||||
imports = [
|
|
||||||
inputs.slippi.homeManagerModules.default
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
{...}: {
|
|
||||||
programs.nnn = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
programs.password-store = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.pass.withExtensions (exts: [exts.pass-otp]);
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
{config, ...}: {
|
|
||||||
programs.senpai = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
address = "irc+insecure://beefcake:6667";
|
|
||||||
nickname = "lytedev";
|
|
||||||
password-cmd = ["pass" "soju"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file."${config.xdg.configHome}/senpai/senpai.scfg" = {
|
|
||||||
enable = true;
|
|
||||||
text = ''
|
|
||||||
address irc+insecure://beefcake:6667
|
|
||||||
nickname lytedev
|
|
||||||
password-cmd pass soju
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
{outputs, ...}: {
|
|
||||||
imports = with outputs.homeManagerModules; [
|
|
||||||
sway
|
|
||||||
sway-laptop
|
|
||||||
hyprland
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,126 +0,0 @@
|
||||||
{
|
|
||||||
# colors,
|
|
||||||
# font,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.tmux = {
|
|
||||||
enable = true;
|
|
||||||
baseIndex = 1;
|
|
||||||
clock24 = true;
|
|
||||||
extraConfig = ''
|
|
||||||
unbind C-b
|
|
||||||
set -g prefix C-s
|
|
||||||
|
|
||||||
# enable tmux to support helix colors
|
|
||||||
set -g default-terminal "tmux-256color"
|
|
||||||
set -g terminal-overrides ",xterm-256color:RGB"
|
|
||||||
|
|
||||||
set -g update-environment "WAYLAND_DISPLAY DISPLAY"
|
|
||||||
|
|
||||||
bind R source-file "$HOME/.tmux.conf" \; display-message "Reloaded $HOME/.tmux.conf"
|
|
||||||
bind o display-message "Saved pane output to #(tmux-save-buffer '#S')"
|
|
||||||
bind O run "tmux-edit-buffer"
|
|
||||||
|
|
||||||
bind D attach-session -t . -c '#{pane_current_path}' \; display-message "Set session path to #{pane_current_path}"
|
|
||||||
|
|
||||||
bind H set -s status # toggle status bar
|
|
||||||
|
|
||||||
bind v split-window -h -c "#{pane_current_path}"
|
|
||||||
bind b split-window -c "#{pane_current_path}"
|
|
||||||
bind h split-window -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
bind -n C-l select-pane -R
|
|
||||||
bind -n C-k select-pane -U
|
|
||||||
|
|
||||||
bind -n C-j select-pane -D
|
|
||||||
# enabling a ^J hotkey causes breakage when pasting anything that start with a newline, since it triggers the hotkey and some weird interaction with bracketed paste causes the pane to enter a broken state
|
|
||||||
|
|
||||||
bind -n C-h select-pane -L
|
|
||||||
|
|
||||||
bind -n C-M-l split-window -h -c "#{pane_current_path}"
|
|
||||||
bind -n C-M-j split-window -v -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
# tab creation
|
|
||||||
bind -n C-t new-window
|
|
||||||
|
|
||||||
# tab nav is the default p and n binds
|
|
||||||
# window and session switcher is the default w bind
|
|
||||||
|
|
||||||
set -g mouse on
|
|
||||||
set -g escape-time 0
|
|
||||||
|
|
||||||
set -g monitor-activity on
|
|
||||||
set -g visual-bell off
|
|
||||||
set -g bell-action other
|
|
||||||
set -g activity-action none
|
|
||||||
|
|
||||||
set -g mode-keys vi
|
|
||||||
set -g history-limit 1000000
|
|
||||||
|
|
||||||
set -g status on
|
|
||||||
set -g status-position bottom
|
|
||||||
set -g status-style "fg=colour8 bg=default"
|
|
||||||
set -g status-interval 5
|
|
||||||
set -g status-left-length 50
|
|
||||||
set -g window-status-style "fg=colour8 bg=default"
|
|
||||||
set -g window-status-format "#W"
|
|
||||||
set -g window-status-separator " "
|
|
||||||
set -g window-status-activity-style "fg=colour7 bg=default"
|
|
||||||
set -g window-status-bell-style "fg=colour1 bg=default"
|
|
||||||
set -g window-status-current-style "fg=colour4 bg=default"
|
|
||||||
set -g window-status-current-format " #W "
|
|
||||||
set -g status-left "#{client_user}@#h:#S "
|
|
||||||
set -g status-right "#(kubeline && printf ' ')"
|
|
||||||
set -g status-left-length 1000
|
|
||||||
|
|
||||||
set -g message-style "fg=colour7 bg=default"
|
|
||||||
set -g pane-active-border-style fg=blue
|
|
||||||
set -g pane-border-style fg=colour0
|
|
||||||
set -g clock-mode-colour colour8
|
|
||||||
set -g base-index 1
|
|
||||||
set -g pane-base-index 1
|
|
||||||
|
|
||||||
set -g window-status-current-format "#W"
|
|
||||||
|
|
||||||
# present a menu of urls to open from the visible pane
|
|
||||||
# TODO: fuzzy search this
|
|
||||||
# bind u capture-pane \;\
|
|
||||||
# save-buffer /tmp/tmux-buffer \;\
|
|
||||||
# split-window -l 10 "urlscan /tmp/tmux-buffer"
|
|
||||||
|
|
||||||
bind -T copy-mode-vi "y" send-keys -X copy-pipe-no-clear 'clip' \; display-message 'Copied to clipboard!'
|
|
||||||
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-no-clear 'clip' \; display-message 'Copied to clipboard!'
|
|
||||||
|
|
||||||
bind K kill-pane
|
|
||||||
bind C-S-k kill-window
|
|
||||||
|
|
||||||
# Activate OFF mode
|
|
||||||
bind -n M-o \
|
|
||||||
set prefix None \;\
|
|
||||||
set key-table off \;\
|
|
||||||
set -ag status-right " OFF"
|
|
||||||
|
|
||||||
# Disable OFF mode
|
|
||||||
bind -T off M-O \
|
|
||||||
set -u prefix \;\
|
|
||||||
set -u key-table \;\
|
|
||||||
source-file "$HOME/.config/tmux/tmux.conf"
|
|
||||||
|
|
||||||
# set -g @plugin 'tmux-plugins/tpm'
|
|
||||||
# set -g @plugin 'tmux-plugins/tmux-resurrect'
|
|
||||||
# set -g @plugin 'tmux-plugins/tmux-continuum'
|
|
||||||
|
|
||||||
# set -g @resurrect-capture-pane-contents 'on'
|
|
||||||
# set -g @resurrect-processes 'helix hx vi vim nvim emacs man less more tail top htop btm irssi weechat mutt "git log" iex mix deno watchexec mosh-client ssh senpai broot nnn iex mix'
|
|
||||||
|
|
||||||
# bind A run-shell "#{@resurrect-save-script-path}"
|
|
||||||
# bind L run-shell "#{@resurrect-restore-script-path}"
|
|
||||||
|
|
||||||
# set -g @continuum-restore 'on'
|
|
||||||
# set -g @continuum-save-interval '120'
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
home.shellAliases = {
|
|
||||||
t = "tmux";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
systemd.user.services.variety = {
|
|
||||||
Unit = {
|
|
||||||
Description = "Wallapaper downloader and changer";
|
|
||||||
After = ["graphical-session.target"];
|
|
||||||
};
|
|
||||||
Install.WantedBy = ["graphical-session.target"];
|
|
||||||
Service = {
|
|
||||||
Environment = [
|
|
||||||
"PATH=${lib.makeBinPath (with pkgs; [
|
|
||||||
variety
|
|
||||||
dbus
|
|
||||||
(lib.getBin pkgs.plasma5Packages.qttools)
|
|
||||||
libsForQt5.kdialog
|
|
||||||
])}"
|
|
||||||
];
|
|
||||||
ExecStart = ''
|
|
||||||
${pkgs.variety}/bin/variety
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,75 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
# font,
|
|
||||||
colors,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# docs: https://wezfurlong.org/wezterm/config/appearance.html#defining-your-own-colors
|
|
||||||
programs.wezterm = with colors.withHashPrefix; {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = builtins.readFile ./wezterm/config.lua;
|
|
||||||
colorSchemes = {
|
|
||||||
catppuccin-mocha-sapphire = {
|
|
||||||
ansi = map (x: colors.withHashPrefix.${toString x}) (pkgs.lib.lists.range 0 7);
|
|
||||||
brights = map (x: colors.withHashPrefix.${toString (x + 8)}) (pkgs.lib.lists.range 0 7);
|
|
||||||
|
|
||||||
foreground = fg;
|
|
||||||
background = bg;
|
|
||||||
|
|
||||||
cursor_fg = bg;
|
|
||||||
cursor_bg = text;
|
|
||||||
cursor_border = text;
|
|
||||||
|
|
||||||
selection_fg = bg;
|
|
||||||
selection_bg = yellow;
|
|
||||||
|
|
||||||
scrollbar_thumb = bg2;
|
|
||||||
|
|
||||||
split = bg5;
|
|
||||||
|
|
||||||
# indexed = { [136] = '#af8700' },
|
|
||||||
tab_bar = {
|
|
||||||
background = bg3;
|
|
||||||
|
|
||||||
active_tab = {
|
|
||||||
bg_color = primary;
|
|
||||||
fg_color = bg;
|
|
||||||
italic = false;
|
|
||||||
};
|
|
||||||
inactive_tab = {
|
|
||||||
bg_color = bg2;
|
|
||||||
fg_color = fgdim;
|
|
||||||
italic = false;
|
|
||||||
};
|
|
||||||
inactive_tab_hover = {
|
|
||||||
bg_color = bg3;
|
|
||||||
fg_color = primary;
|
|
||||||
italic = false;
|
|
||||||
};
|
|
||||||
new_tab = {
|
|
||||||
bg_color = bg2;
|
|
||||||
fg_color = fgdim;
|
|
||||||
italic = false;
|
|
||||||
};
|
|
||||||
new_tab_hover = {
|
|
||||||
bg_color = bg3;
|
|
||||||
fg_color = primary;
|
|
||||||
italic = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
compose_cursor = orange;
|
|
||||||
|
|
||||||
# copy_mode_active_highlight_bg = { Color = '#000000' },
|
|
||||||
# copy_mode_active_highlight_fg = { AnsiColor = 'Black' },
|
|
||||||
# copy_mode_inactive_highlight_bg = { Color = '#52ad70' },
|
|
||||||
# copy_mode_inactive_highlight_fg = { AnsiColor = 'White' },
|
|
||||||
|
|
||||||
# quick_select_label_bg = { Color = 'peru' },
|
|
||||||
# quick_select_label_fg = { Color = '#ffffff' },
|
|
||||||
# quick_select_match_bg = { AnsiColor = 'Navy' },
|
|
||||||
# quick_select_match_fg = { Color = '#ffffff' },
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,513 +0,0 @@
|
||||||
{
|
|
||||||
colors,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# zellij does not support modern terminal keyboard input:
|
|
||||||
# https://github.com/zellij-org/zellij/issues/735
|
|
||||||
programs.zellij = {
|
|
||||||
# uses home manager's toKDL generator
|
|
||||||
enable = true;
|
|
||||||
# enableFishIntegration = true;
|
|
||||||
settings = {
|
|
||||||
pane_frames = false;
|
|
||||||
simplified_ui = true;
|
|
||||||
default_mode = "locked";
|
|
||||||
mouse_mode = true;
|
|
||||||
copy_clipboard = "primary";
|
|
||||||
copy_on_select = true;
|
|
||||||
mirror_session = false;
|
|
||||||
|
|
||||||
keybinds = with builtins; let
|
|
||||||
binder = bind: let
|
|
||||||
keys = elemAt bind 0;
|
|
||||||
action = elemAt bind 1;
|
|
||||||
argKeys = map (k: "\"${k}\"") (lib.lists.flatten [keys]);
|
|
||||||
in {
|
|
||||||
name = "bind ${concatStringsSep " " argKeys}";
|
|
||||||
value = action;
|
|
||||||
};
|
|
||||||
layer = binds: (listToAttrs (map binder binds));
|
|
||||||
in {
|
|
||||||
# _props = {clear-defaults = true;};
|
|
||||||
normal = {};
|
|
||||||
locked = layer [
|
|
||||||
[["Ctrl g"] {SwitchToMode = "Normal";}]
|
|
||||||
[["Ctrl L"] {NewPane = "Right";}]
|
|
||||||
[["Ctrl Z"] {NewPane = "Right";}]
|
|
||||||
[["Ctrl J"] {NewPane = "Down";}]
|
|
||||||
[["Ctrl h"] {MoveFocus = "Left";}]
|
|
||||||
[["Ctrl l"] {MoveFocus = "Right";}]
|
|
||||||
[["Ctrl j"] {MoveFocus = "Down";}]
|
|
||||||
[["Ctrl k"] {MoveFocus = "Up";}]
|
|
||||||
];
|
|
||||||
resize = layer [
|
|
||||||
[["Ctrl n"] {SwitchToMode = "Normal";}]
|
|
||||||
[["h" "Left"] {Resize = "Increase Left";}]
|
|
||||||
[["j" "Down"] {Resize = "Increase Down";}]
|
|
||||||
[["k" "Up"] {Resize = "Increase Up";}]
|
|
||||||
[["l" "Right"] {Resize = "Increase Right";}]
|
|
||||||
[["H"] {Resize = "Decrease Left";}]
|
|
||||||
[["J"] {Resize = "Decrease Down";}]
|
|
||||||
[["K"] {Resize = "Decrease Up";}]
|
|
||||||
[["L"] {Resize = "Decrease Right";}]
|
|
||||||
[["=" "+"] {Resize = "Increase";}]
|
|
||||||
[["-"] {Resize = "Decrease";}]
|
|
||||||
];
|
|
||||||
pane = layer [
|
|
||||||
[["Ctrl p"] {SwitchToMode = "Normal";}]
|
|
||||||
[["h" "Left"] {MoveFocus = "Left";}]
|
|
||||||
[["l" "Right"] {MoveFocus = "Right";}]
|
|
||||||
[["j" "Down"] {MoveFocus = "Down";}]
|
|
||||||
[["k" "Up"] {MoveFocus = "Up";}]
|
|
||||||
[["p"] {SwitchFocus = [];}]
|
|
||||||
[
|
|
||||||
["n"]
|
|
||||||
{
|
|
||||||
NewPane = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["d"]
|
|
||||||
{
|
|
||||||
NewPane = "Down";
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["r"]
|
|
||||||
{
|
|
||||||
NewPane = "Right";
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["x"]
|
|
||||||
{
|
|
||||||
CloseFocus = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["f"]
|
|
||||||
{
|
|
||||||
ToggleFocusFullscreen = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["z"]
|
|
||||||
{
|
|
||||||
TogglePaneFrames = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["w"]
|
|
||||||
{
|
|
||||||
ToggleFloatingPanes = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["e"]
|
|
||||||
{
|
|
||||||
TogglePaneEmbedOrFloating = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["c"]
|
|
||||||
{
|
|
||||||
SwitchToMode = "RenamePane";
|
|
||||||
PaneNameInput = 0;
|
|
||||||
}
|
|
||||||
]
|
|
||||||
];
|
|
||||||
move = layer [
|
|
||||||
[["Ctrl h"] {SwitchToMode = "Normal";}]
|
|
||||||
[["n" "Tab"] {MovePane = [];}]
|
|
||||||
[["p"] {MovePaneBackwards = [];}]
|
|
||||||
[["h" "Left"] {MovePane = "Left";}]
|
|
||||||
[["j" "Down"] {MovePane = "Down";}]
|
|
||||||
[["k" "Up"] {MovePane = "Up";}]
|
|
||||||
[["l" "Right"] {MovePane = "Right";}]
|
|
||||||
];
|
|
||||||
tab = layer [
|
|
||||||
[["Ctrl t"] {SwitchToMode = "Normal";}]
|
|
||||||
[
|
|
||||||
["r"]
|
|
||||||
{
|
|
||||||
SwitchToMode = "RenameTab";
|
|
||||||
TabNameInput = 0;
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[["h" "Left" "Up" "k"] {GoToPreviousTab = [];}]
|
|
||||||
[["l" "Right" "Down" "j"] {GoToNextTab = [];}]
|
|
||||||
[
|
|
||||||
["n"]
|
|
||||||
{
|
|
||||||
NewTab = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["x"]
|
|
||||||
{
|
|
||||||
CloseTab = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["s"]
|
|
||||||
{
|
|
||||||
ToggleActiveSyncTab = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["1"]
|
|
||||||
{
|
|
||||||
GoToTab = 1;
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["2"]
|
|
||||||
{
|
|
||||||
GoToTab = 2;
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["3"]
|
|
||||||
{
|
|
||||||
GoToTab = 3;
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["4"]
|
|
||||||
{
|
|
||||||
GoToTab = 4;
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["5"]
|
|
||||||
{
|
|
||||||
GoToTab = 5;
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["6"]
|
|
||||||
{
|
|
||||||
GoToTab = 6;
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["7"]
|
|
||||||
{
|
|
||||||
GoToTab = 7;
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["8"]
|
|
||||||
{
|
|
||||||
GoToTab = 8;
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["9"]
|
|
||||||
{
|
|
||||||
GoToTab = 9;
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[["Tab"] {ToggleTab = [];}]
|
|
||||||
];
|
|
||||||
scroll = layer [
|
|
||||||
[["Ctrl s"] {SwitchToMode = "Normal";}]
|
|
||||||
[
|
|
||||||
["e"]
|
|
||||||
{
|
|
||||||
EditScrollback = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["s"]
|
|
||||||
{
|
|
||||||
SwitchToMode = "EnterSearch";
|
|
||||||
SearchInput = 0;
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["Ctrl c"]
|
|
||||||
{
|
|
||||||
ScrollToBottom = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[["j" "Down"] {ScrollDown = [];}]
|
|
||||||
[["k" "Up"] {ScrollUp = [];}]
|
|
||||||
[["Ctrl f" "PageDown" "Right" "l"] {PageScrollDown = [];}]
|
|
||||||
[["Ctrl b" "PageUp" "Left" "h"] {PageScrollUp = [];}]
|
|
||||||
[["d"] {HalfPageScrollDown = [];}]
|
|
||||||
[["u"] {HalfPageScrollUp = [];}]
|
|
||||||
# uncomment this and adjust key if using copy_on_select=false
|
|
||||||
# bind "Alt c" { Copy; }
|
|
||||||
];
|
|
||||||
search = layer [
|
|
||||||
[["Ctrl s"] {SwitchToMode = "Normal";}]
|
|
||||||
[
|
|
||||||
["Ctrl c"]
|
|
||||||
{
|
|
||||||
ScrollToBottom = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[["j" "Down"] {ScrollDown = [];}]
|
|
||||||
[["k" "Up"] {ScrollUp = [];}]
|
|
||||||
[["Ctrl f" "PageDown" "Right" "l"] {PageScrollDown = [];}]
|
|
||||||
[["Ctrl b" "PageUp" "Left" "h"] {PageScrollUp = [];}]
|
|
||||||
[["d"] {HalfPageScrollDown = [];}]
|
|
||||||
[["u"] {HalfPageScrollUp = [];}]
|
|
||||||
[["n"] {Search = "down";}]
|
|
||||||
[["p"] {Search = "up";}]
|
|
||||||
[["c"] {SearchToggleOption = "CaseSensitivity";}]
|
|
||||||
[["w"] {SearchToggleOption = "Wrap";}]
|
|
||||||
[["o"] {SearchToggleOption = "WholeWord";}]
|
|
||||||
];
|
|
||||||
entersearch = layer [
|
|
||||||
[["Ctrl c" "Esc"] {SwitchToMode = "Scroll";}]
|
|
||||||
[["Enter"] {SwitchToMode = "Search";}]
|
|
||||||
];
|
|
||||||
renametab = layer [
|
|
||||||
[["Ctrl c"] {SwitchToMode = "Normal";}]
|
|
||||||
[
|
|
||||||
["Esc"]
|
|
||||||
{
|
|
||||||
UndoRenameTab = [];
|
|
||||||
SwitchToMode = "Tab";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
];
|
|
||||||
renamepane = layer [
|
|
||||||
[["Ctrl c"] {SwitchToMode = "Normal";}]
|
|
||||||
[
|
|
||||||
["Esc"]
|
|
||||||
{
|
|
||||||
UndoRenamePane = [];
|
|
||||||
SwitchToMode = "Pane";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
];
|
|
||||||
session = layer [
|
|
||||||
[["Ctrl o"] {SwitchToMode = "Normal";}]
|
|
||||||
[["Ctrl s"] {SwitchToMode = "Scroll";}]
|
|
||||||
[["d"] {Detach = [];}]
|
|
||||||
];
|
|
||||||
tmux = layer [
|
|
||||||
[["["] {SwitchToMode = "Scroll";}]
|
|
||||||
[
|
|
||||||
["Ctrl b"]
|
|
||||||
{
|
|
||||||
Write = 2;
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["\\\""]
|
|
||||||
{
|
|
||||||
NewPane = "Down";
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["%"]
|
|
||||||
{
|
|
||||||
NewPane = "Right";
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["z"]
|
|
||||||
{
|
|
||||||
ToggleFocusFullscreen = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["c"]
|
|
||||||
{
|
|
||||||
NewTab = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[[","] {SwitchToMode = "RenameTab";}]
|
|
||||||
[
|
|
||||||
["p"]
|
|
||||||
{
|
|
||||||
GoToPreviousTab = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["n"]
|
|
||||||
{
|
|
||||||
GoToNextTab = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["Left"]
|
|
||||||
{
|
|
||||||
MoveFocus = "Left";
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["Right"]
|
|
||||||
{
|
|
||||||
MoveFocus = "Right";
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["Down"]
|
|
||||||
{
|
|
||||||
MoveFocus = "Down";
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["Up"]
|
|
||||||
{
|
|
||||||
MoveFocus = "Up";
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["h"]
|
|
||||||
{
|
|
||||||
MoveFocus = "Left";
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["l"]
|
|
||||||
{
|
|
||||||
MoveFocus = "Right";
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["j"]
|
|
||||||
{
|
|
||||||
MoveFocus = "Down";
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[
|
|
||||||
["k"]
|
|
||||||
{
|
|
||||||
MoveFocus = "Up";
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
[["o"] {FocusNextPane = [];}]
|
|
||||||
[["d"] {Detach = [];}]
|
|
||||||
[["Space"] {NextSwapLayout = [];}]
|
|
||||||
[
|
|
||||||
["x"]
|
|
||||||
{
|
|
||||||
CloseFocus = [];
|
|
||||||
SwitchToMode = "Normal";
|
|
||||||
}
|
|
||||||
]
|
|
||||||
];
|
|
||||||
"shared_except \"locked\"" = layer [
|
|
||||||
[["Ctrl g"] {SwitchToMode = "Locked";}]
|
|
||||||
[["Ctrl q"] {Quit = [];}]
|
|
||||||
[["Alt n"] {NewPane = [];}]
|
|
||||||
[["Alt h" "Alt Left"] {MoveFocusOrTab = "Left";}]
|
|
||||||
[["Alt l" "Alt Right"] {MoveFocusOrTab = "Right";}]
|
|
||||||
[["Alt j" "Alt Down"] {MoveFocus = "Down";}]
|
|
||||||
[["Alt k" "Alt Up"] {MoveFocus = "Up";}]
|
|
||||||
[["Alt ]" "Alt +"] {Resize = "Increase";}]
|
|
||||||
[["Alt -"] {Resize = "Decrease";}]
|
|
||||||
[["Alt ["] {PreviousSwapLayout = [];}]
|
|
||||||
[["Alt ]"] {NextSwapLayout = [];}]
|
|
||||||
];
|
|
||||||
"shared_except \"normal\" \"locked\"" = layer [
|
|
||||||
[["Enter" "Esc"] {SwitchToMode = "Normal";}]
|
|
||||||
];
|
|
||||||
"shared_except \"pane\" \"locked\"" = layer [
|
|
||||||
[["Ctrl p"] {SwitchToMode = "Pane";}]
|
|
||||||
];
|
|
||||||
"shared_except \"resize\" \"locked\"" = layer [
|
|
||||||
[["Ctrl n"] {SwitchToMode = "Resize";}]
|
|
||||||
];
|
|
||||||
"shared_except \"scroll\" \"locked\"" = layer [
|
|
||||||
[["Ctrl s"] {SwitchToMode = "Scroll";}]
|
|
||||||
];
|
|
||||||
"shared_except \"session\" \"locked\"" = layer [
|
|
||||||
[["Ctrl o"] {SwitchToMode = "Session";}]
|
|
||||||
];
|
|
||||||
"shared_except \"tab\" \"locked\"" = layer [
|
|
||||||
[["Ctrl t"] {SwitchToMode = "Tab";}]
|
|
||||||
];
|
|
||||||
"shared_except \"move\" \"locked\"" = layer [
|
|
||||||
[["Ctrl h"] {SwitchToMode = "Move";}]
|
|
||||||
];
|
|
||||||
"shared_except \"tmux\" \"locked\"" = layer [
|
|
||||||
[["Ctrl b"] {SwitchToMode = "Tmux";}]
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
default_layout = "compact";
|
|
||||||
theme = "match";
|
|
||||||
|
|
||||||
themes = {
|
|
||||||
match = with colors.withHashPrefix; {
|
|
||||||
fg = fg;
|
|
||||||
bg = bg;
|
|
||||||
|
|
||||||
black = bg;
|
|
||||||
white = fg;
|
|
||||||
|
|
||||||
red = red;
|
|
||||||
green = green;
|
|
||||||
yellow = yellow;
|
|
||||||
blue = blue;
|
|
||||||
magenta = purple;
|
|
||||||
cyan = blue;
|
|
||||||
orange = orange;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# TODO: port config
|
|
||||||
|
|
||||||
plugins = {
|
|
||||||
# tab-bar = {path = "tab-bar";};
|
|
||||||
# compact-bar = {path = "compact-bar";};
|
|
||||||
};
|
|
||||||
|
|
||||||
ui = {
|
|
||||||
pane_frames = {
|
|
||||||
rounded_corners = true;
|
|
||||||
hide_session_name = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.shellAliases = {
|
|
||||||
z = "zellij";
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in a new issue