nix-configs/modules/presets/cli.nix
2025-04-11 15:34:25 +02:00

100 lines
2.2 KiB
Nix

{
config,
lib,
pkgs,
...
}:
let
cfg = config.xyno.presets.cli;
in
{
options.xyno.presets.cli.enable =
lib.mkEnableOption "enables xynos cli config with fish and helix and stuff";
config = lib.mkIf cfg.enable {
xyno.cli.fish.enable = true;
xyno.cli.starship.enable = true;
security.sudo.enable = false;
nix.settings = {
substituters = [
"https://cache.lix.systems"
"https://helix.cachix.org"
];
trusted-public-keys = [
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
"helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs="
];
trusted-users = lib.mkDefault [
"root"
"@wheel"
];
allowed-users = lib.mkDefault [
"root"
"@wheel"
];
auto-optimise-store = true;
};
nix.extraOptions = "experimental-features = nix-command flakes";
programs.nh.enable = true;
programs.direnv = {
enable = true;
nix-direnv.enable = true;
enableFishIntegration = true;
};
# https://github.com/NixOS/nixpkgs/issues/361592 needed for run0
security.pam.services.systemd-run0 = { };
programs.tmux.enable = true;
programs.yazi = {
enable = true;
};
environment.systemPackages = with pkgs; [
jq
fd
bottom
htop
imagemagick
bat
ffmpeg
poppler
w3m
curl
aria2
fzf
file
git
neofetch
ripgrep
pv
yt-dlp
moar
helix
lm_sensors
dig
(pkgs.writeShellScriptBin "sudo" "run0 $@")
];
programs.mosh.enable = true;
environment.variables.EDITOR = "hx";
environment.variables.VISUAL = "hx";
environment.variables.PAGER= "moar";
environment.shellAliases = {
l = "ls -alh";
n = "yazi";
gc = "git commit -v";
gpl = "git pull";
gd = "git diff";
ga = "git add";
gp = "git push";
gpf = "git push --force-with-lease";
gs = "git status -v";
gl = "git log --graph";
p = "cd ~/proj";
ytl = ''yt-dlp -f "bv*+mergeall[vcodec=none]" --audio-multistreams'';
sudo = "run0";
};
};
}