130 lines
3.2 KiB
Nix
130 lines
3.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;
|
|
|
|
# Opitionally
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
# i18n.extraLocales = ["de_DE.UTF-8"];
|
|
i18n.extraLocaleSettings = {
|
|
LC_CTYPE = "en_US.UTF8";
|
|
LC_ADDRESS = "de_DE.UTF-8";
|
|
LC_MEASUREMENT = "de_DE.UTF-8";
|
|
LC_MESSAGES = "en_US.UTF-8";
|
|
LC_MONETARY = "de_DE.UTF-8";
|
|
LC_NAME = "de_DE.UTF-8";
|
|
LC_NUMERIC = "en_US.UTF-8";
|
|
LC_PAPER = "de_DE.UTF-8";
|
|
LC_TELEPHONE = "de_DE.UTF-8";
|
|
LC_TIME = "de_DE.UTF-8";
|
|
LC_COLLATE = "de_DE.UTF-8";
|
|
};
|
|
home-manager.users.xyno.home.sessionVariables.LOCALE_ARCHIVE_2_27 =
|
|
lib.mkForce "/run/current-system/sw/lib/locale/locale-archive";
|
|
home-manager.users.xyno.systemd.user.sessionVariables.LOCALE_ARCHIVE_2_27 =
|
|
lib.mkForce "/run/current-system/sw/lib/locale/locale-archive";
|
|
|
|
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;
|
|
};
|
|
|
|
services.pcscd.enable = true;
|
|
programs.gnupg.agent = {
|
|
enable = true;
|
|
# pinentrywlavor = "curses";
|
|
# enableSSHSupport = true;
|
|
};
|
|
services.udev.packages = [ pkgs.yubikey-personalization ]; # needed for yubikeys to be used as smartcards
|
|
|
|
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
|
|
nix-output-monitor
|
|
(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";
|
|
};
|
|
};
|
|
}
|