{ 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"; }; }; }