c56f402383
This adds my standard inputrc to my home-manager configuration, via the latter's readline module, and adds nix-shell detection to my bash prompt string. Additionally, nix-shell is wrapped in a shell function, so that entering a nix-shell environment automatically runs bash as a subprocess where appropriate, as the default environment spawned by nix-shell is not to my liking. Change-Id: Id5b1b9415a185ad9920f268c66de32d6ccc0b452 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2146 Reviewed-by: multi <depot@in-addr.xyz> Tested-by: BuildkiteCI
109 lines
2.4 KiB
Nix
109 lines
2.4 KiB
Nix
{ depot, pkgs, ... }:
|
|
|
|
let
|
|
nixpkgs = import pkgs.nixpkgsSrc {};
|
|
localpkgs = depot.users.multi.pkgs;
|
|
|
|
# use the depot checkout in my home directory, to make hacking around easier,
|
|
# instead of the depot checkout sitting in the nix stores
|
|
depotPath = "/home/multi/depot";
|
|
in
|
|
|
|
{
|
|
programs = {
|
|
home-manager = {
|
|
enable = true;
|
|
path = toString nixpkgs.home-manager.src;
|
|
};
|
|
|
|
bash = {
|
|
enable = true;
|
|
initExtra = ''
|
|
PS1="[\\u@\\h:\\w"
|
|
if [[ -n "$IN_NIX_SHELL" ]]; then
|
|
PS1="$PS1 (nix-shell)]\\\$ "
|
|
else
|
|
PS1="$PS1]\\\$ "
|
|
fi
|
|
|
|
nix-shell() {
|
|
local comarg=0
|
|
for i in "$@"; do
|
|
[[ "$i" == "--command" ]] && comarg=1
|
|
done
|
|
|
|
if (( commarg == 0 )); then
|
|
command nix-shell --command bash "$@"
|
|
else
|
|
command nix-shell "$@"
|
|
fi
|
|
}
|
|
|
|
_Z_CMD=d
|
|
source ~/.z.sh
|
|
'';
|
|
};
|
|
|
|
readline = {
|
|
enable = true;
|
|
bindings = {
|
|
"\\e[5~" = "history-search-backward";
|
|
"\\e[6~" = "history-search-forward";
|
|
"\\C-w" = "\"\\e\\C-h\"";
|
|
};
|
|
includeSystemConfig = false;
|
|
variables = {
|
|
expand-tilde = true;
|
|
colored-stats = true;
|
|
page-completions = false;
|
|
menu-complete-display-prefix = true;
|
|
colored-completion-prefix = true;
|
|
completion-query-items = 0;
|
|
completion-ignore-case = true;
|
|
revert-all-at-newline = true;
|
|
show-all-if-ambiguous = true;
|
|
skip-completed-text = true;
|
|
};
|
|
};
|
|
|
|
tmux = {
|
|
enable = true;
|
|
terminal = "tmux-256color";
|
|
escapeTime = 50;
|
|
extraConfig = ''
|
|
bind-key -n C-S-Left swap-window -t -1
|
|
bind-key -n C-S-Right swap-window -t +1
|
|
'';
|
|
};
|
|
|
|
vim = {
|
|
enable = true;
|
|
extraConfig = "set mouse=";
|
|
};
|
|
};
|
|
|
|
home.sessionVariables = {
|
|
NIX_PATH =
|
|
"nixpkgs=${pkgs.nixpkgsSrc}:" +
|
|
"depot=${depotPath}";
|
|
HOME_MANAGER_CONFIG = "${depotPath}/users/multi/home/home-manager.nix";
|
|
EDITOR = "vim";
|
|
};
|
|
|
|
home.packages = [
|
|
nixpkgs.lsof
|
|
nixpkgs.strace
|
|
nixpkgs.file
|
|
nixpkgs.pciutils
|
|
localpkgs.htop
|
|
];
|
|
|
|
home.file = {
|
|
z = {
|
|
source = builtins.fetchurl "https://raw.githubusercontent.com/rupa/z/9f76454b32c0007f20b0eae46d55d7a1488c9df9/z.sh";
|
|
target = ".z.sh";
|
|
};
|
|
};
|
|
|
|
home.stateVersion = "20.03";
|
|
}
|