138 lines
3.1 KiB
Nix
138 lines
3.1 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
imports = [
|
|
./git.nix
|
|
./ssh.nix
|
|
./starship.nix
|
|
];
|
|
home = {
|
|
packages = with pkgs; [
|
|
rclone
|
|
git-sync
|
|
du-dust
|
|
];
|
|
shellAliases = {
|
|
protonup = "sudo wg-quick up protonvpn && sudo wg";
|
|
protondown = "sudo wg-quick down protonvpn";
|
|
};
|
|
};
|
|
programs = {
|
|
bash.enable = true;
|
|
carapace.enable = true;
|
|
fastfetch.enable = true;
|
|
fd.enable = true;
|
|
jq.enable = true;
|
|
nix-index.enable = true;
|
|
ripgrep.enable = true;
|
|
bat = {
|
|
enable = true;
|
|
config.style = "plain,numbers,changes";
|
|
};
|
|
bottom = {
|
|
enable = true;
|
|
settings = {
|
|
flags = {
|
|
group_processes = true;
|
|
temperature_type = "celsius";
|
|
battery = true;
|
|
enable_gpu = true;
|
|
enable_cache_memory = true;
|
|
};
|
|
colors =
|
|
let
|
|
rainbow = with config.lib.stylix.scheme.withHashtag; [
|
|
red
|
|
yellow
|
|
green
|
|
cyan
|
|
blue
|
|
magenta
|
|
];
|
|
in
|
|
{
|
|
cpu_core_colors = rainbow;
|
|
gpu_core_colors = rainbow;
|
|
};
|
|
};
|
|
};
|
|
direnv = {
|
|
enable = true;
|
|
nix-direnv.enable = true;
|
|
};
|
|
eza = {
|
|
enable = true;
|
|
git = true;
|
|
icons = true;
|
|
extraOptions = [ "--octal-permissions" ];
|
|
};
|
|
fzf = {
|
|
enable = true;
|
|
defaultCommand = "${pkgs.fd}/bin/fd --type f";
|
|
changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d";
|
|
fileWidgetCommand = "${pkgs.fd}/bin/fd --type f";
|
|
};
|
|
readline = {
|
|
enable = true;
|
|
variables = {
|
|
bell-style = "visible";
|
|
blink-matching-paren = "On";
|
|
colored-completion-prefix = "On";
|
|
colored-stats = "On";
|
|
completion-ignore-case = "On";
|
|
completion-map-case = "On";
|
|
editing-mode = "emacs";
|
|
expand-tilde = "On";
|
|
horizontal-scroll-mode = "On";
|
|
mark-directories = "On";
|
|
mark-symlinked-directories = "On";
|
|
visible-stats = "On";
|
|
};
|
|
};
|
|
zellij = {
|
|
enable = true;
|
|
settings = {
|
|
default_mode = "locked";
|
|
mouse_mode = true;
|
|
copy_command = lib.mkIf config.wayland.windowManager.sway.enable "wl-copy";
|
|
copy_on_select = true;
|
|
};
|
|
};
|
|
zsh = {
|
|
enable = true;
|
|
enableCompletion = true;
|
|
autocd = true;
|
|
autosuggestion.enable = true;
|
|
defaultKeymap = "emacs";
|
|
syntaxHighlighting = {
|
|
enable = true;
|
|
highlighters = [
|
|
"brackets"
|
|
"cursor"
|
|
];
|
|
};
|
|
historySubstringSearch.enable = true;
|
|
history = {
|
|
extended = true;
|
|
share = true;
|
|
ignoreDups = true;
|
|
ignoreAllDups = true;
|
|
ignoreSpace = true;
|
|
expireDuplicatesFirst = true;
|
|
};
|
|
initExtra = ''
|
|
## completion config and styling
|
|
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
|
zstyle ':completion:*' menu 'select=long-list'
|
|
|
|
## transient prompt
|
|
source ${./transient.zsh}
|
|
'';
|
|
};
|
|
};
|
|
}
|