{ lib, inputs, pkgs, modulesPath, ... }: let nvim = inputs.nvim.packages."x86_64-linux".default; toilet = inputs.toilet.packages."x86_64-linux".default; install-script = pkgs.writeShellScriptBin "movcfg-install" (builtins.readFile ./movcfg-install.sh); in { imports = [ "${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix" ]; nixpkgs.hostPlatform = "x86_64-linux"; system.stateVersion = "24.05"; nix = { settings = { experimental-features = ["nix-command" "flakes"]; }; }; networking = { wireless.enable = false; networkmanager.enable = true; }; environment.systemPackages = with pkgs; [ nix-output-monitor nh nvd lolcat curl wget coreutils findutils zip unzip util-linux git btrfs-progs dosfstools parted bc pciutils usbutils toilet install-script nvim ]; services = { openssh.enable = true; dbus.enable = true; }; programs.zsh = { enable = true; ohMyZsh = { enable = true; plugins = ["git" "fzf"]; }; enableCompletion = true; histFile = "$HOME/.zsh_history"; histSize = 10000; autosuggestions = { enable = true; highlightStyle = "fg=#4C566A,underline"; }; shellAliases = { grep = "grep --color=auto"; vi = "nvim"; mv = "mv -v"; cp = "cp -vr"; ".." = "cd .."; psg = "ps aux | grep -v grep | grep -i -e VSZ -e"; mkdir = "mkdir -p"; pk = "pkill -9 -f"; svc = "sudo systemctl"; }; promptInit = '' bindkey -v type starship_zle-keymap-select >/dev/null || \ { eval "$(starship init zsh)" } ''; setOptions = [ "APPEND_HISTORY" "INC_APPEND_HISTORY" "SHARE_HISTORY" "CORRECT" "NO_NOMATCH" "LIST_PACKED" "ALWAYS_TO_END" "GLOB_COMPLETE" "COMPLETE_ALIASES" "COMPLETE_IN_WORD" "AUTO_CD" "AUTO_CONTINUE" "LONG_LIST_JOBS" "HIST_VERIFY" "SHARE_HISTORY" "HIST_IGNORE_SPACE" "HIST_SAVE_NO_DUPS" "HIST_IGNORE_ALL_DUPS" "EXTENDED_GLOB" "TRANSIENT_RPROMPT" "INTERACTIVE_COMMENTS" ]; shellInit = '' export EDITOR="nvim" export SUDO_EDITOR="nvim" export VISUAL="nvim" export LANG="en_US.UTF-8" unalias ls ls() { eza -1 --group-directories-first --icons "$@" } y() { local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" yazi "$@" --cwd-file="$tmp" if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then builtin cd -- "$cwd" fi rm -f -- "$tmp" } cd() { export SOUNDS_ENABLED=0 eza -1 --group-directories-first --icons "$@" builtin cd "$@" || exit export SOUNDS_ENABLED=1 } if [ ! -e $HOME/.zsh_history ]; then touch $HOME/.zsh_history chmod 600 $HOME/.zsh_history fi autoload -U compinit # completion autoload -U terminfo # terminfo keys zmodload -i zsh/complist # menu completion autoload -U promptinit # prompt autoload -U up-line-or-beginning-search; zle -N up-line-or-beginning-search autoload -U down-line-or-beginning-search; zle -N down-line-or-beginning-search unalias ls clear ''; }; programs.starship = { enable = true; settings = { add_newline = true; right_format = "($custom)"; format = lib.concatStrings [ "($username)(bold white)($cmd_duration)($character)" "($git_branch)($git_status)($rust)($nix-shell)" "($directory)" "$line_break[ > ](bold #89b4fa)" ]; username = { show_always = true; style_user = "bold white"; format = "[$user]($style)"; }; directory = { format = "\n[$path](bold cyan)[/](bold green) "; style = "bold #b4befe"; }; character = { success_symbol = "[ -> ](bold green)"; error_symbol = "[ -> ✗](bold red)"; # error_symbol = "[ ](bold #89dceb)[ ✗](bold red)"; }; cmd_duration = { format = "[ 󰔛 $duration]($style)"; disabled = false; style = "bg:none fg:#f9e2af"; show_notifications = false; min_time_to_notify = 60000; }; git_branch = { format = "\non [$symbol$branch](bold purple)"; symbol = " "; truncation_length = 15; style = "bold purple"; }; custom.shellver = { command = "zsh --version"; when = ''test $SHELL = "/run/current-system/sw/bin/zsh"''; symbol = ""; style = "bold magenta"; }; }; }; }