{ pkgs, inputs, system, ... }: { home.packages = with pkgs; [ bat fzf fd eza btop man-pages inputs.floatc.packages.${system}.default ]; home.sessionVariables = { PAGER = "bat -l man"; MANPAGER = "bat -l man"; }; programs.nushell = { enable = true; extraConfig = builtins.readFile ./config.nu; settings.show_banner = false; shellAliases = { cat = "bat -p -P"; nix-shell = "nix-shell --run nu"; garbage = " sudo nix-collect-garbage --delete-old"; c = "clear"; }; }; programs.zellij = { enable = true; enableBashIntegration = false; settings = { on_force_close = "quit"; simplified_ui = true; pane_frames = false; default_layout = "compact"; show_startup_tips = false; }; }; programs.starship = { enable = true; enableNushellIntegration = true; enableTransience = true; settings = { format = "\${custom.shell_nix}\${custom.shell_normal} $directory\n$character\n"; # Prompt character — nix-shell pink on error doubles as a hint, # but full conditional colouring isn't possible in the character module. character = { success_symbol = "[~>](#92D4FE)"; error_symbol = "[~>](#D81E5B)"; }; # Transient prompt (static colour — Starship can't conditionally # change it based on env vars without a full custom module) transient_prompt = { format = "[~> ](#92D4FE)"; }; directory = { # Leading icon + path + powerline closing arrow format = "[ $path ](bg:#303C68 fg:white)[](fg:#303C68)"; truncation_length = 1; truncate_to_repo = false; }; custom = { # Shown only inside a nix-shell shell_nix = { description = "Nix shell indicator"; command = "echo"; when = ''test -n "$IN_NIX_SHELL"''; format = "[ nix-shell ](bg:#D81E5B fg:white)[](fg:#D81E5B)"; shell = ["bash" "--noprofile" "--norc"]; }; # Shown when NOT in a nix-shell shell_normal = { description = "Current shell indicator"; command = "echo"; when = ''test -z "$IN_NIX_SHELL"''; format = "[ nu ](bg:#92D4FE fg:black)[](fg:#92D4FE)"; shell = ["bash" "--noprofile" "--norc"]; }; }; }; }; gtk.enable = true; qt.enable = true; programs = { btop.enable = true; bash.enable = true; fzf.enable = true; eza.enable = true; direnv = { enable = true; silent = true; nix-direnv .enable = true; }; git = { enable = true; package = pkgs.gitFull; settings = { user.name = "Jiří Maxmilián Stříbrný"; user.email = "max.stribrny@gmail.com"; init.defaultBranch = "main"; push.autoSetupRemote = true; github.user = "maxstrb"; credential.helper = "store"; }; }; }; }