zsh :3
This commit is contained in:
parent
8ef63b0d86
commit
fd3f4a7a64
|
@ -1,32 +1,41 @@
|
||||||
{ common, ... }:
|
{ pkgs, common, ... }:
|
||||||
{
|
{
|
||||||
programs.bash = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = false; # manage completions ourself
|
||||||
historyFile = "/dev/null";
|
dotDir = ".config/zsh";
|
||||||
sessionVariables = {
|
|
||||||
PS1 ="\\033[1m\\u\\033[0m@\\033[1m\\h\\033[0m: \\w\nλ ";
|
|
||||||
BROWSER = "firefox";
|
|
||||||
XINITRC = "${common.homeDir}/bin/xinitrc";
|
|
||||||
XAUTHORITY = "${common.homeDir}/.local/share/Xauthority";
|
|
||||||
PASH_KEYID = "3E4A909C8FEF6E3783699C79DFC26EF8EDAD6D71";
|
|
||||||
QT_AUTO_SCREEN_FACTOR = 1;
|
|
||||||
PATH = "${common.homeDir}/bin:$PATH";
|
|
||||||
};
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
x = "startx";
|
x = "startx";
|
||||||
rm = "rm -i";
|
rm = "rm -i";
|
||||||
cal = "cal -m";
|
cal = "cal -m";
|
||||||
};
|
};
|
||||||
|
envExtra = ''
|
||||||
|
export PS1=$'%B%n%b@%B%m%b: %~\nλ '
|
||||||
|
export BROWSER=firefox
|
||||||
|
export XINITRC="${common.homeDir}/bin/xinitrc"
|
||||||
|
export XAUTHORITY="${common.homeDir}/.local/share/Xauthority"
|
||||||
|
export PASH_KEYID="3E4A909C8FEF6E3783699C79DFC26EF8EDAD6D71"
|
||||||
|
export QT_AUTO_SCREEN_FACTOR=1
|
||||||
|
export PATH="${common.homeDir}/bin:$PATH"
|
||||||
|
'';
|
||||||
initExtra = ''
|
initExtra = ''
|
||||||
source ~/.profile
|
autoload -Uz compinit
|
||||||
set -o vi
|
|
||||||
|
compinit -C
|
||||||
|
(exec compinit &)
|
||||||
|
|
||||||
|
_comp_options+=(globdots)
|
||||||
|
|
||||||
|
setopt autocd
|
||||||
|
setopt noautomenu
|
||||||
|
setopt nomenucomplete
|
||||||
|
|
||||||
run() {
|
run() {
|
||||||
pkg="$1"
|
pkg="$1"
|
||||||
[ "$pkg" = "''${pkg##*#}" ] && pkg="nixpkgs#$pkg"
|
[ "$pkg" = "''${pkg##*#}" ] && pkg="nixpkgs#$pkg"
|
||||||
export NIXPKGS_ALLOW_UNFREE=1 NIXPKGS_ALLOW_BROKEN=1
|
export NIXPKGS_ALLOW_UNFREE=1 NIXPKGS_ALLOW_BROKEN=1
|
||||||
nix run --impure "$pkg"
|
shift
|
||||||
|
nix run --impure "$pkg" -- "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
shell() {
|
shell() {
|
||||||
|
@ -42,7 +51,26 @@
|
||||||
nix shell --impure "$@"
|
nix shell --impure "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# vi mode options
|
||||||
|
KEYTIMEOUT=1
|
||||||
|
MODE_INDICATOR_VICMD='%K{10}%F{8}%B NORMAL %k%f%b'
|
||||||
|
MODE_INDICATOR_REPLACE='%K{9}%F{8}%B REPLACE %k%f%b'
|
||||||
|
MODE_INDICATOR_SEARCH='%K{13}%F{8}%B SEARCH %k%f%b'
|
||||||
|
MODE_INDICATOR_VISUAL='%K{12}%F{8}%B VISUAL %k%f%b'
|
||||||
|
MODE_INDICATOR_VLINE='%K{12}%F{8}%B V-LINE %k%f%b'
|
||||||
'';
|
'';
|
||||||
|
plugins = [
|
||||||
|
{
|
||||||
|
name = "zsh-vim-mode";
|
||||||
|
file = "zsh-vim-mode.plugin.zsh";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "softmoth";
|
||||||
|
repo = "zsh-vim-mode";
|
||||||
|
rev = "1f9953b7d6f2f0a8d2cb8e8977baa48278a31eab";
|
||||||
|
sha256 = "sha256-a+6EWMRY1c1HQpNtJf5InCzU7/RphZjimLdXIXbO6cQ=";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -88,6 +88,8 @@
|
||||||
# [USER]
|
# [USER]
|
||||||
users.users.rachel = {
|
users.users.rachel = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
ignoreShellProgramCheck = true;
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"wheel"
|
"wheel"
|
||||||
"networkmanager"
|
"networkmanager"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user