nixfleet/hmModules/shell/default.nix
Andrea Ciceri cba0555c38
Some checks failed
EVAL aarch64-linux.sisko
BUILD aarch64-linux.sisko
UPLOAD aarch64-linux.sisko
DOWNLOAD aarch64-linux.sisko
CACHIX aarch64-linux.sisko
ATTIC aarch64-linux.sisko
/ test (push) Successful in 1m17s
{host}.fleet -> {host}.wg.aciceri.dev
2025-03-14 16:07:32 +01:00

126 lines
2.3 KiB
Nix

{
lib,
pkgs,
age,
hostname,
config,
username,
...
}:
{
programs.bat.enable = true;
programs.ranger = {
enable = true;
settings = {
"preview_images" = true;
"preview_images_method" = "sixel";
};
};
programs.fzf.enable = true;
programs.ripgrep.enable = true;
programs.fd.enable = true;
programs.direnv = {
enable = true;
config = {
warn_timeout = "60s"; # default was 5s
};
nix-direnv.enable = true;
};
programs.lsd = {
enable = true;
enableAliases = true;
};
programs.vim.enable = true;
programs.ssh = {
enable = true;
controlMaster = "auto";
};
systemd.user.services.atuind = {
Unit.Description = "Atuin daemon";
Install = {
WantedBy = [ "default.target" ];
};
Service = {
ExecStartPre = "${lib.getExe' pkgs.toybox "rm"} -f ${config.programs.atuin.settings.daemon.socket_path}";
ExecStart = "${lib.getExe pkgs.atuin} daemon";
};
};
programs.atuin = {
enable = true;
settings = {
daemon = {
enabled = true;
socket_path = "/home/${username}/.local/share/atuin/atuin.sock"; # FIXME using ~ or $HOME doesn't work: https://github.com/atuinsh/atuin/issues/2289
};
auto_sync = true;
sync_frequency = "5m";
sync_address = "http://sisko.wg.aciceri.dev:8889";
search_mode = "fuzzy";
style = "compact";
};
};
programs.fish = {
enable = true;
plugins = [
# {
# name = "fifc";
# src = pkgs.fishPlugins.fifc.src;
# }
{
name = "z";
src = pkgs.fishPlugins.z.src;
}
];
shellInit =
''
# fish_vi_key_bindings
fish_default_key_bindings
''
+ lib.optionalString (builtins.hasAttr "cachix-personal-token" age.secrets) ''
export CACHIX_AUTH_TOKEN=$(cat ${age.secrets.cachix-personal-token.path})
'';
shellAliases = {
"cat" = "bat";
};
};
home.packages =
with pkgs;
[
thefuck
dig.dnsutils
lsof
comma
ffmpeg-headless
jless
nix-melt
nurl
jq
yq-go
procs
chafa
hexyl
broot
file
]
++ (lib.optionals
(builtins.elem hostname [
"kirk"
"picard"
])
[
cntr # TODO probably not best place
]
);
}