50 lines
1.2 KiB
Nix
50 lines
1.2 KiB
Nix
{ pkgs, lib, config, namespace, ... }:
|
|
let
|
|
inherit (lib) mkIf;
|
|
cfg = config.${namespace}.programs.ghostty;
|
|
in
|
|
{
|
|
options.${namespace}.programs.ghostty = {
|
|
enable = lib.mkEnableOption "Ghostty";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
programs.bash = {
|
|
enable = true;
|
|
shellAliases = {
|
|
grep = "grep --color";
|
|
ssh = "TERM=xterm-256color ssh";
|
|
flush_dns = "sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder";
|
|
};
|
|
profileExtra = ''
|
|
SHELL="$BASH"
|
|
PATH=~/.bin:$PATH
|
|
eval "$(thefuck --alias)"
|
|
set -o vi
|
|
bind "set show-mode-in-prompt on"
|
|
fastfetch
|
|
'';
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
# Pending Darwin @ https://github.com/NixOS/nixpkgs/pull/369788
|
|
# ghostty
|
|
thefuck
|
|
fastfetch
|
|
bashInteractive
|
|
(nerdfonts.override { fonts = [ "Meslo" ]; })
|
|
];
|
|
|
|
home.file.".config/fastfetch/config.jsonc".text = builtins.readFile ./config/fastfetch.jsonc;
|
|
home.file.".config/ghostty/config".text =
|
|
let
|
|
bashPath = "${pkgs.bashInteractive}/bin/bash";
|
|
in
|
|
builtins.replaceStrings
|
|
[ "@BASH_PATH@" ]
|
|
[ bashPath ]
|
|
(builtins.readFile ./config/ghostty.conf);
|
|
|
|
};
|
|
}
|