{ config, lib, pkgs, ... }: { imports = [ ./git.nix ./ssh.nix ./starship.nix ]; home.shellAliases = { sync-all = "sync-emacs; sync-git; vdirsyncer sync; mbsync -a"; sync-and-shutdown = "sync-all && shutdown now"; protonup = "sudo wg-quick up protonvpn && sudo wg"; protondown = "sudo wg-quick down protonvpn"; }; programs = { # Shells bash.enable = true; nushell.enable = true; # CLI programs and utilities btop.enable = true; carapace.enable = true; fd.enable = true; jq.enable = true; ripgrep.enable = true; bat = { enable = true; config.style = "plain,numbers,changes"; }; cava = { enable = true; settings = { color = with config.lib.stylix.colors.withHashtag; { gradient = 1; gradient_count = 6; gradient_color_1 = "'${red}'"; gradient_color_2 = "'${yellow}'"; gradient_color_3 = "'${green}'"; gradient_color_4 = "'${cyan}'"; gradient_color_5 = "'${blue}'"; gradient_color_6 = "'${magenta}'"; }; }; }; direnv = { enable = true; nix-direnv.enable = true; }; eza = { enable = true; git = true; icons = "auto"; extraOptions = [ "--header" "--time-style=iso" ]; }; fzf = { enable = true; defaultCommand = "${pkgs.fd}/bin/fd --type f"; changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d"; fileWidgetCommand = "${pkgs.fd}/bin/fd --type f"; colors = { bg = lib.mkForce "-1"; "bg+" = lib.mkForce "-1"; }; }; hyfetch = { enable = true; settings = { preset = "rainbow"; mode = "rgb"; light_dark = config.lib.stylix.scheme.variant; lightness = 0.4; color_align = { mode = "horizontal"; }; }; }; 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"; mark-directories = "On"; mark-symlinked-directories = "On"; visible-stats = "On"; }; }; }; }