2023-12-12 01:14:35 +00:00
|
|
|
# My user shell of choice because I'm not a hipster.
|
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
|
|
|
|
let
|
|
|
|
userCfg = config.users.foo-dogsquared;
|
|
|
|
cfg = userCfg.programs.shell;
|
|
|
|
in
|
|
|
|
{
|
2023-12-15 05:27:12 +00:00
|
|
|
options.users.foo-dogsquared.programs.shell.enable =
|
|
|
|
lib.mkEnableOption "configuration of foo-dogsquared's shell of choice and its toolbelt";
|
2023-12-12 01:14:35 +00:00
|
|
|
|
|
|
|
config = lib.mkIf cfg.enable {
|
2023-12-18 10:04:13 +00:00
|
|
|
profiles.dev.shell.enable = lib.mkDefault true;
|
2023-12-12 01:14:35 +00:00
|
|
|
|
|
|
|
programs.bash = {
|
|
|
|
enable = true;
|
|
|
|
historyControl = [ "erasedups" "ignoredups" "ignorespace" ];
|
|
|
|
historyIgnore = [
|
|
|
|
"cd"
|
|
|
|
"exit"
|
|
|
|
"lf"
|
|
|
|
"ls"
|
|
|
|
"nvim"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2023-12-15 13:33:32 +00:00
|
|
|
programs.atuin = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
auto_sync = true;
|
|
|
|
sync_address = "http://atuin.plover.foodogsquared.one";
|
|
|
|
sync_frequency = "10m";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-12-12 01:14:35 +00:00
|
|
|
# Set up with these variables.
|
|
|
|
systemd.user.sessionVariables = {
|
|
|
|
PAGER = "moar";
|
|
|
|
MANPAGER = "nvim +Man!";
|
|
|
|
EDITOR = "nvim";
|
|
|
|
};
|
|
|
|
|
|
|
|
# Add it to the laundry list.
|
|
|
|
services.bleachbit.cleaners = [ "bash.history" ];
|
|
|
|
};
|
|
|
|
}
|