added enable options to termina modules.
This commit is contained in:
parent
6f0e167087
commit
3eee4e105d
|
@ -4,10 +4,13 @@
|
|||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
settings = {
|
||||
vim_keys = true;
|
||||
options.user.btop.enable = lib.mkEnableOption "enable btop";
|
||||
config = lib.mkIf config.user.btop.enable {
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
settings = {
|
||||
vim_keys = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
22
modules/home-manager/terminal/default.nix
Normal file
22
modules/home-manager/terminal/default.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports=[
|
||||
./nushell
|
||||
./zellij
|
||||
./btop.nix
|
||||
./direnv.nix
|
||||
./git.nix
|
||||
./gpg.nix
|
||||
./irssi.nix
|
||||
./pass.nix
|
||||
./ssh-agent.nix
|
||||
./starship.nix
|
||||
./tiny-irc.nix
|
||||
./voice.nix
|
||||
./zsh.nix
|
||||
];
|
||||
}
|
|
@ -4,8 +4,11 @@
|
|||
lib,
|
||||
...
|
||||
}: {
|
||||
options.user.direnv.enable = lib.mkEnableOption "enable direnv";
|
||||
config= lib.mkIf config.user.direnv.enable{
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
}: {
|
||||
options = {
|
||||
user.git = {
|
||||
enable= lib.mkEnableOption "enable git";
|
||||
workProfile = {
|
||||
enable = lib.mkEnableOption "git work profile";
|
||||
email = lib.mkOption {
|
||||
|
@ -26,7 +27,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
config = lib.mkIf config.user.git.enable {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
aliases = {
|
||||
|
|
|
@ -4,11 +4,14 @@
|
|||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.gpg.enable = true;
|
||||
options.user.gpg.enable = lib.mkEnableOption "enable gpg";
|
||||
config = lib.mkIf config.user.gpg.enable {
|
||||
programs.gpg.enable = true;
|
||||
|
||||
services.gpg-agent = {
|
||||
enable = true;
|
||||
enableSshSupport = true;
|
||||
pinentryPackage = lib.mkDefault pkgs.pinentry-tty;
|
||||
services.gpg-agent = {
|
||||
enable = true;
|
||||
enableSshSupport = true;
|
||||
pinentryPackage = lib.mkDefault pkgs.pinentry-tty;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,33 +4,36 @@
|
|||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.irssi = {
|
||||
enable = true;
|
||||
networks = {
|
||||
liberachat = {
|
||||
nick = "toric";
|
||||
server = {
|
||||
address = "irc.libera.chat";
|
||||
port = 6697;
|
||||
autoConnect = true;
|
||||
ssl = {
|
||||
enable = true;
|
||||
certificateFile = "${config.home.homeDirectory}/keys/certs/irc.pem";
|
||||
verify = true;
|
||||
options.user.irssi.enable = lib.mkEnableOption "enable irssi";
|
||||
config = lib.mkIf config.user.irssi.enable {
|
||||
programs.irssi = {
|
||||
enable = true;
|
||||
networks = {
|
||||
liberachat = {
|
||||
nick = "toric";
|
||||
server = {
|
||||
address = "irc.libera.chat";
|
||||
port = 6697;
|
||||
autoConnect = true;
|
||||
ssl = {
|
||||
enable = true;
|
||||
certificateFile = "${config.home.homeDirectory}/keys/certs/irc.pem";
|
||||
verify = true;
|
||||
};
|
||||
};
|
||||
channels = {
|
||||
libera.autoJoin = true;
|
||||
linux.autoJoin = true;
|
||||
programming.autoJoin = true;
|
||||
rust.autoJoin = true;
|
||||
nixos.autoJoin = true;
|
||||
git.autoJoin = true;
|
||||
neovim.autoJoin = true;
|
||||
kernel.autoJoin = true;
|
||||
hardware.autoJoin = true;
|
||||
lobsters.autoJoin = true;
|
||||
gamingonlinux.autoJoin = true;
|
||||
};
|
||||
};
|
||||
channels = {
|
||||
libera.autoJoin = true;
|
||||
linux.autoJoin = true;
|
||||
programming.autoJoin = true;
|
||||
rust.autoJoin = true;
|
||||
nixos.autoJoin = true;
|
||||
git.autoJoin = true;
|
||||
neovim.autoJoin = true;
|
||||
kernel.autoJoin = true;
|
||||
hardware.autoJoin = true;
|
||||
lobsters.autoJoin = true;
|
||||
gamingonlinux.autoJoin = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,34 +1,42 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
#sessionVariables, sessionPath and shellAliases are not applied to nushell.
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
configFile.source = ./config.nu;
|
||||
envFile.source = ./env.nu;
|
||||
};
|
||||
options.user.nushell.enable = lib.mkEnableOption "enable nushell";
|
||||
config = lib.mkIf config.user.nushell.enable {
|
||||
home.file = {
|
||||
".config/nushell/completions".source = ./completions;
|
||||
};
|
||||
|
||||
home.file = {
|
||||
".config/nushell/completions".source = ./completions;
|
||||
};
|
||||
programs = {
|
||||
#sessionVariables, sessionPath and shellAliases are not applied to nushell.
|
||||
nushell = {
|
||||
enable = true;
|
||||
configFile.source = ./config.nu;
|
||||
envFile.source = ./env.nu;
|
||||
};
|
||||
|
||||
programs.yazi.enableNushellIntegration = true;
|
||||
programs.zoxide.enableNushellIntegration = true;
|
||||
programs.starship.enableNushellIntegration = true;
|
||||
programs.carapace = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
programs.direnv.enableNushellIntegration = true;
|
||||
services.gpg-agent.enableNushellIntegration = true;
|
||||
|
||||
services.pueue = {
|
||||
enable = true;
|
||||
settings = {
|
||||
daemon = {
|
||||
default_parallel_tasks = 5;
|
||||
yazi.enableNushellIntegration = true;
|
||||
zoxide.enableNushellIntegration = true;
|
||||
starship.enableNushellIntegration = true;
|
||||
eza.enableNushellIntegration = true;
|
||||
carapace = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
direnv.enableNushellIntegration = true;
|
||||
};
|
||||
services = {
|
||||
gpg-agent.enableNushellIntegration = true;
|
||||
pueue = {
|
||||
enable = true;
|
||||
settings = {
|
||||
daemon = {
|
||||
default_parallel_tasks = 5;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -4,14 +4,17 @@
|
|||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.password-store = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PASSWORD_STORE_DIR = "$HOME/keys/password-store";
|
||||
options.user.pass.enable = lib.mkEnableOption "enable pass password manager";
|
||||
config = lib.mkIf config.user.pass.enable {
|
||||
programs.password-store = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PASSWORD_STORE_DIR = "$HOME/keys/password-store";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.nushell.extraEnv = ''
|
||||
$env.PASSWORD_STORE_DIR = ($env.HOME | path join "keys" "password-store")
|
||||
'';
|
||||
programs.nushell.extraEnv = ''
|
||||
$env.PASSWORD_STORE_DIR = ($env.HOME | path join "keys" "password-store")
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,8 +4,11 @@
|
|||
lib,
|
||||
...
|
||||
}: {
|
||||
services.ssh-agent.enable = true;
|
||||
programs.nushell.extraEnv = ''
|
||||
$env.SSH_AUTH_SOCK = $"($env.XDG_RUNTIME_DIR)/ssh-agent"
|
||||
'';
|
||||
options.user.ssh-agent.enable = lib.mkEnableOption "enable ssh-agent";
|
||||
config = lib.mkIf config.user.ssh-agent.enable {
|
||||
services.ssh-agent.enable = true;
|
||||
programs.nushell.extraEnv = ''
|
||||
$env.SSH_AUTH_SOCK = $"($env.XDG_RUNTIME_DIR)/ssh-agent"
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,106 +4,109 @@
|
|||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
format = lib.concatStrings [
|
||||
"[](color_orange)"
|
||||
"$shell"
|
||||
"$username"
|
||||
"[@](bg:color_orange)"
|
||||
"$hostname"
|
||||
"[ ](bg:color_orange)"
|
||||
"[](bg:color_yellow fg:color_orange)"
|
||||
"$directory"
|
||||
"[](fg:color_yellow bg:color_aqua)"
|
||||
"$git_branch"
|
||||
"$git_status"
|
||||
"[](fg:color_aqua bg:color_blue)"
|
||||
"$git_metrics"
|
||||
"[](fg:color_blue bg:color_bg3)"
|
||||
"$git_commit"
|
||||
"[](fg:color_bg3 bg:color_bg1)"
|
||||
"$time"
|
||||
"[ ](fg:color_bg1)"
|
||||
"$line_break"
|
||||
"$character"
|
||||
];
|
||||
add_newline = false;
|
||||
palette = "gruvbox_dark";
|
||||
palettes.gruvbox_dark = {
|
||||
color_fg0 = "#fbf1c7";
|
||||
color_bg1 = "#3c3836";
|
||||
color_bg3 = "#665c54";
|
||||
color_blue = "#458588";
|
||||
color_aqua = "#689d6a";
|
||||
color_green = "#98971a";
|
||||
color_orange = "#d65d0e";
|
||||
color_purple = "#b16286";
|
||||
color_red = "#cc241d";
|
||||
color_yellow = "#d79921";
|
||||
options.user.starship.enable = lib.mkEnableOption "enable starship prompt";
|
||||
config = lib.mkIf config.user.starship.enable {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
format = lib.concatStrings [
|
||||
"[](color_orange)"
|
||||
"$shell"
|
||||
"$username"
|
||||
"[@](bg:color_orange)"
|
||||
"$hostname"
|
||||
"[ ](bg:color_orange)"
|
||||
"[](bg:color_yellow fg:color_orange)"
|
||||
"$directory"
|
||||
"[](fg:color_yellow bg:color_aqua)"
|
||||
"$git_branch"
|
||||
"$git_status"
|
||||
"[](fg:color_aqua bg:color_blue)"
|
||||
"$git_metrics"
|
||||
"[](fg:color_blue bg:color_bg3)"
|
||||
"$git_commit"
|
||||
"[](fg:color_bg3 bg:color_bg1)"
|
||||
"$time"
|
||||
"[ ](fg:color_bg1)"
|
||||
"$line_break"
|
||||
"$character"
|
||||
];
|
||||
add_newline = false;
|
||||
palette = "gruvbox_dark";
|
||||
palettes.gruvbox_dark = {
|
||||
color_fg0 = "#fbf1c7";
|
||||
color_bg1 = "#3c3836";
|
||||
color_bg3 = "#665c54";
|
||||
color_blue = "#458588";
|
||||
color_aqua = "#689d6a";
|
||||
color_green = "#98971a";
|
||||
color_orange = "#d65d0e";
|
||||
color_purple = "#b16286";
|
||||
color_red = "#cc241d";
|
||||
color_yellow = "#d79921";
|
||||
};
|
||||
hostname = {
|
||||
ssh_only = false;
|
||||
ssh_symbol = "🌐";
|
||||
format = "[$hostname $ssh_symbol]($style)";
|
||||
style = "bg:color_orange";
|
||||
};
|
||||
shell = {
|
||||
disabled = false;
|
||||
bash_indicator = "$";
|
||||
fish_indicator = "<><";
|
||||
zsh_indicator = "%";
|
||||
nu_indicator = ">";
|
||||
format = "[$indicator ]($style)";
|
||||
style = "bg:color_orange";
|
||||
};
|
||||
fill = {
|
||||
symbol = " ";
|
||||
style = "bg:color_bg3";
|
||||
};
|
||||
username = {
|
||||
show_always = true;
|
||||
style_user = "bg:color_orange fg:color_fg0";
|
||||
style_root = "bg:color_orange fg:color_fg0";
|
||||
format = "[$user]($style)";
|
||||
};
|
||||
directory = {
|
||||
style = "fg:color_fg0 bg:color_yellow";
|
||||
format = "[ $path ]($style)";
|
||||
fish_style_pwd_dir_length = 3;
|
||||
truncation_length = 4;
|
||||
truncation_symbol = "…/";
|
||||
};
|
||||
git_branch = {
|
||||
symbol = "";
|
||||
style = "bg:color_aqua";
|
||||
format = "[[ $symbol $branch ](fg:color_fg0 bg:color_aqua)]($style)";
|
||||
};
|
||||
git_status = {
|
||||
style = "bg:color_aqua";
|
||||
format = "[[($all_status$ahead_behind )](fg:color_fg0 bg:color_aqua)]($style)";
|
||||
};
|
||||
git_metrics = {
|
||||
disabled = false;
|
||||
added_style = "bg:color_blue fg:bold green";
|
||||
deleted_style = "bg:color_blue fg:bold red";
|
||||
format = "([ +$added ]($added_style))([-$deleted ]($deleted_style))";
|
||||
};
|
||||
git_commit = {
|
||||
only_detached = false;
|
||||
tag_disabled = false;
|
||||
format = "[($hash$tag)]($style)";
|
||||
style = "bg:color_bg3";
|
||||
};
|
||||
time = {
|
||||
disabled = false;
|
||||
time_format = "%R";
|
||||
style = "bg:color_bg1";
|
||||
format = "[[ $time ](fg:color_fg0 bg:color_bg1)]($style)";
|
||||
};
|
||||
line_break.disabled = false;
|
||||
character.disabled = false;
|
||||
};
|
||||
hostname = {
|
||||
ssh_only = false;
|
||||
ssh_symbol = "🌐";
|
||||
format = "[$hostname $ssh_symbol]($style)";
|
||||
style = "bg:color_orange";
|
||||
};
|
||||
shell = {
|
||||
disabled = false;
|
||||
bash_indicator = "$";
|
||||
fish_indicator = "<><";
|
||||
zsh_indicator = "%";
|
||||
nu_indicator = ">";
|
||||
format = "[$indicator ]($style)";
|
||||
style = "bg:color_orange";
|
||||
};
|
||||
fill = {
|
||||
symbol = " ";
|
||||
style = "bg:color_bg3";
|
||||
};
|
||||
username = {
|
||||
show_always = true;
|
||||
style_user = "bg:color_orange fg:color_fg0";
|
||||
style_root = "bg:color_orange fg:color_fg0";
|
||||
format = "[$user]($style)";
|
||||
};
|
||||
directory = {
|
||||
style = "fg:color_fg0 bg:color_yellow";
|
||||
format = "[ $path ]($style)";
|
||||
fish_style_pwd_dir_length = 3;
|
||||
truncation_length = 4;
|
||||
truncation_symbol = "…/";
|
||||
};
|
||||
git_branch = {
|
||||
symbol = "";
|
||||
style = "bg:color_aqua";
|
||||
format = "[[ $symbol $branch ](fg:color_fg0 bg:color_aqua)]($style)";
|
||||
};
|
||||
git_status = {
|
||||
style = "bg:color_aqua";
|
||||
format = "[[($all_status$ahead_behind )](fg:color_fg0 bg:color_aqua)]($style)";
|
||||
};
|
||||
git_metrics = {
|
||||
disabled = false;
|
||||
added_style = "bg:color_blue fg:bold green";
|
||||
deleted_style = "bg:color_blue fg:bold red";
|
||||
format = "([ +$added ]($added_style))([-$deleted ]($deleted_style))";
|
||||
};
|
||||
git_commit = {
|
||||
only_detached = false;
|
||||
tag_disabled = false;
|
||||
format = "[($hash$tag)]($style)";
|
||||
style = "bg:color_bg3";
|
||||
};
|
||||
time = {
|
||||
disabled = false;
|
||||
time_format = "%R";
|
||||
style = "bg:color_bg1";
|
||||
format = "[[ $time ](fg:color_fg0 bg:color_bg1)]($style)";
|
||||
};
|
||||
line_break.disabled = false;
|
||||
character.disabled = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
lib,
|
||||
...
|
||||
}: {
|
||||
options.user.tiny.enable=lib.mkEnableOption "enable tiny irc client";
|
||||
config=lib.mkIf config.user.tiny.enable {
|
||||
programs.tiny = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
@ -31,9 +33,6 @@
|
|||
];
|
||||
sasl = {
|
||||
username = "toric";
|
||||
# password = {
|
||||
# command = "pass show libera";
|
||||
# };
|
||||
pem = "${config.home.homeDirectory}/keys/certs/irc.pem";
|
||||
};
|
||||
}
|
||||
|
@ -47,4 +46,4 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
};}
|
||||
|
|
|
@ -4,21 +4,17 @@
|
|||
lib,
|
||||
...
|
||||
}: {
|
||||
options = {
|
||||
user.enable-speech = lib.mkEnableOption "espeak";
|
||||
};
|
||||
options.user.enable-speech = lib.mkEnableOption "espeak";
|
||||
|
||||
config =
|
||||
lib.mkIf config.user.enable-speech
|
||||
{
|
||||
home.shellAliases = {
|
||||
say = "espeak -p 10 -s 150 -a 200";
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
espeak
|
||||
];
|
||||
programs.nushell.extraConfig = ''
|
||||
alias say = espeak -p 10 -s 150 -a 200
|
||||
'';
|
||||
config = lib.mkIf config.user.enable-speech {
|
||||
home.shellAliases = {
|
||||
say = "espeak -p 10 -s 150 -a 200";
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
espeak
|
||||
];
|
||||
programs.nushell.extraConfig = ''
|
||||
alias say = espeak -p 10 -s 150 -a 200
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.zellij.enable = true;
|
||||
home.file = {
|
||||
".config/zellij/config.kdl".source = ./config.kdl;
|
||||
options.user.zellij.enable = lib.mkEnableOption "enable zellij";
|
||||
config = lib.mkIf config.user.zellij.enable {
|
||||
programs.zellij.enable = true;
|
||||
home.file = {
|
||||
".config/zellij/config.kdl".source = ./config.kdl;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,101 +4,107 @@
|
|||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.starship.enableZshIntegration = true;
|
||||
programs.fzf.enableZshIntegration = true;
|
||||
programs.zoxide.enableZshIntegration = true;
|
||||
programs.yazi.enableZshIntegration = true;
|
||||
programs.direnv.enableZshIntegration = true;
|
||||
programs.kitty.shellIntegration.enableZshIntegration = true;
|
||||
services.gpg-agent.enableZshIntegration = true;
|
||||
programs.carapace.enableZshIntegration = false;
|
||||
home.packages = with pkgs; [
|
||||
curl
|
||||
];
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
initExtra = lib.mkMerge [
|
||||
''
|
||||
#have the menu highlight while we cycle through options
|
||||
zstyle ':completion:*' menu select
|
||||
#case insensitive completion
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||||
#allow completion from midword
|
||||
setopt COMPLETE_IN_WORD
|
||||
#move cursor to end of word after completing
|
||||
setopt ALWAYS_TO_END
|
||||
#complete aliases as well
|
||||
setopt COMPLETE_ALIASES
|
||||
#select first item when you press tab the first time.
|
||||
setopt MENU_COMPLETE
|
||||
#case insensitive globbing
|
||||
setopt NO_CASE_GLOB
|
||||
#sort globs that expand to numbers by number rather than alphabeticly
|
||||
setopt NUMERIC_GLOB_SORT
|
||||
#allows for some neat globbing.
|
||||
setopt EXTENDED_GLOB
|
||||
#allow backspacing beyond the point you entered insert mode:
|
||||
bindkey -v '^?' backward-delete-char
|
||||
bindkey "^W" backward-kill-word
|
||||
options.user.zsh.enable = lib.mkEnableOption "enable zsh";
|
||||
config = lib.mkIf config.user.zsh.enable {
|
||||
programs = {
|
||||
starship.enableZshIntegration = true;
|
||||
fzf.enableZshIntegration = true;
|
||||
zoxide.enableZshIntegration = true;
|
||||
yazi.enableZshIntegration = true;
|
||||
eza.enableZshIntegration = true;
|
||||
direnv.enableZshIntegration = true;
|
||||
kitty.shellIntegration.enableZshIntegration = true;
|
||||
carapace.enableZshIntegration = false;
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
initExtra = lib.mkMerge [
|
||||
''
|
||||
#have the menu highlight while we cycle through options
|
||||
zstyle ':completion:*' menu select
|
||||
#case insensitive completion
|
||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||||
#allow completion from midword
|
||||
setopt COMPLETE_IN_WORD
|
||||
#move cursor to end of word after completing
|
||||
setopt ALWAYS_TO_END
|
||||
#complete aliases as well
|
||||
setopt COMPLETE_ALIASES
|
||||
#select first item when you press tab the first time.
|
||||
setopt MENU_COMPLETE
|
||||
#case insensitive globbing
|
||||
setopt NO_CASE_GLOB
|
||||
#sort globs that expand to numbers by number rather than alphabeticly
|
||||
setopt NUMERIC_GLOB_SORT
|
||||
#allows for some neat globbing.
|
||||
setopt EXTENDED_GLOB
|
||||
#allow backspacing beyond the point you entered insert mode:
|
||||
bindkey -v '^?' backward-delete-char
|
||||
bindkey "^W" backward-kill-word
|
||||
|
||||
#cheat.sh is a wonderful tool, the less typing needed the better.
|
||||
cheat(){
|
||||
for i in $*; do;
|
||||
curl cheat.sh/$i
|
||||
done
|
||||
}
|
||||
''
|
||||
(lib.mkIf (!config.programs.starship.enable) ''
|
||||
autoload -U promptinit
|
||||
promptinit
|
||||
autoload -U colors
|
||||
colors
|
||||
#cheat.sh is a wonderful tool, the less typing needed the better.
|
||||
cheat(){
|
||||
for i in $*; do;
|
||||
curl cheat.sh/$i
|
||||
done
|
||||
}
|
||||
''
|
||||
(lib.mkIf (!config.programs.starship.enable) ''
|
||||
autoload -U promptinit
|
||||
promptinit
|
||||
autoload -U colors
|
||||
colors
|
||||
|
||||
#stuff to show git things.
|
||||
autoload -Uz vcs_info
|
||||
setopt prompt_subst
|
||||
precmd_vcs() {vcs_info}
|
||||
#when not in a repo, show full path to current directory. when in one, show path from base direcory of the repo.
|
||||
zstyle ':vcs_info:*' nvcsformats '%~'
|
||||
zstyle ':vcs_info:*' formats '%r/%S %F{green}[%b]%f'
|
||||
zstyle ':vcs_info:*' actionformats '%r/%S %F{green}[%b] %F{red}<%a>%f'
|
||||
#stuff to show git things.
|
||||
autoload -Uz vcs_info
|
||||
setopt prompt_subst
|
||||
precmd_vcs() {vcs_info}
|
||||
#when not in a repo, show full path to current directory. when in one, show path from base direcory of the repo.
|
||||
zstyle ':vcs_info:*' nvcsformats '%~'
|
||||
zstyle ':vcs_info:*' formats '%r/%S %F{green}[%b]%f'
|
||||
zstyle ':vcs_info:*' actionformats '%r/%S %F{green}[%b] %F{red}<%a>%f'
|
||||
|
||||
#the precmd function, called just before printing the prompt.
|
||||
function precmd() {
|
||||
precmd_vcs
|
||||
}
|
||||
#the precmd function, called just before printing the prompt.
|
||||
function precmd() {
|
||||
precmd_vcs
|
||||
}
|
||||
|
||||
#Make the right prompt blank, just to be sure.
|
||||
RPROMPT=""
|
||||
#Make the right prompt blank, just to be sure.
|
||||
RPROMPT=""
|
||||
|
||||
#on the top line, show a whole bunch of info. botton line should be as minimal as possilbe (just a single char to input next to...)
|
||||
PROMPT=$'%F{cyan}[%n@%m]%f%F{red}├────┤%f$${vcs_info_msg_0_} %F{white}[%D %T]%f\n»'
|
||||
'')
|
||||
#on the top line, show a whole bunch of info. botton line should be as minimal as possilbe (just a single char to input next to...)
|
||||
PROMPT=$'%F{cyan}[%n@%m]%f%F{red}├────┤%f$${vcs_info_msg_0_} %F{white}[%D %T]%f\n»'
|
||||
'')
|
||||
];
|
||||
autocd = true;
|
||||
autosuggestion.enable = true;
|
||||
defaultKeymap = "viins";
|
||||
history = {
|
||||
ignoreAllDups = true;
|
||||
extended = true;
|
||||
};
|
||||
shellAliases = {
|
||||
ll = "ls -lh";
|
||||
la = "ls -lha";
|
||||
please = "sudo $(fc -ln -1)";
|
||||
pyactivate = "source ./.venv/bin/activate";
|
||||
};
|
||||
syntaxHighlighting = {
|
||||
enable = true;
|
||||
highlighters = [
|
||||
"main"
|
||||
"brackets"
|
||||
"pattern"
|
||||
"regexp"
|
||||
"root"
|
||||
"line"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
services.gpg-agent.enableZshIntegration = true;
|
||||
home.packages = with pkgs; [
|
||||
curl
|
||||
];
|
||||
autocd = true;
|
||||
autosuggestion.enable = true;
|
||||
defaultKeymap = "viins";
|
||||
history = {
|
||||
ignoreAllDups = true;
|
||||
extended = true;
|
||||
};
|
||||
shellAliases = {
|
||||
ll = "ls -lh";
|
||||
la = "ls -lha";
|
||||
please = "sudo $(fc -ln -1)";
|
||||
pyactivate = "source ./.venv/bin/activate";
|
||||
};
|
||||
syntaxHighlighting = {
|
||||
enable = true;
|
||||
highlighters = [
|
||||
"main"
|
||||
"brackets"
|
||||
"pattern"
|
||||
"regexp"
|
||||
"root"
|
||||
"line"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -5,16 +5,18 @@
|
|||
...
|
||||
}: {
|
||||
imports = [
|
||||
../../modules/home-manager/terminal/zsh.nix
|
||||
../../modules/home-manager/terminal/git.nix
|
||||
../../modules/home-manager/terminal/zellij
|
||||
../../modules/home-manager/terminal/ssh-agent.nix
|
||||
../../modules/home-manager/terminal/direnv.nix
|
||||
../../modules/home-manager/terminal/btop.nix
|
||||
../../modules/home-manager/terminal
|
||||
../../modules/home-manager/nvim
|
||||
];
|
||||
|
||||
user.nvim.enable = true;
|
||||
user = {
|
||||
btop.enable = true;
|
||||
direnv.enable = true;
|
||||
git.enable = true;
|
||||
ssh-agent.enable = true;
|
||||
zsh.enable = true;
|
||||
nvim.enable = true;
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
sshfs
|
||||
|
@ -44,6 +46,7 @@
|
|||
programs = {
|
||||
yazi.enable = true;
|
||||
fzf.enable = true;
|
||||
eza.enable = true;
|
||||
ripgrep.enable = true;
|
||||
bat.enable = true;
|
||||
man.enable = true;
|
||||
|
|
|
@ -11,9 +11,14 @@
|
|||
../../modules/home-manager/terminal/tiny-irc.nix
|
||||
];
|
||||
|
||||
user.nvim = {
|
||||
enable-lsp = true;
|
||||
enable-treesitter = true;
|
||||
user = {
|
||||
nushell.enable = true;
|
||||
starship.enable = true;
|
||||
tiny.enable = true;
|
||||
nvim = {
|
||||
enable-lsp = true;
|
||||
enable-treesitter = true;
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
|
@ -22,11 +27,6 @@
|
|||
hyperfine
|
||||
];
|
||||
|
||||
home.sessionVariables = {
|
||||
PIPENV_VENV_IN_PROJECT = 1;
|
||||
POETRY_VIRTUALENVS_IN_PROJECT = 1;
|
||||
};
|
||||
|
||||
programs = {
|
||||
zoxide.enable = true;
|
||||
tealdeer.enable = true;
|
||||
|
|
Loading…
Reference in a new issue