{ pkgs, lib, ... }: { imports = [ ./direnv.nix ]; environment.systemPackages = with pkgs; let programming_languages = [ odin ols libgcc gdb cmake gnumake valgrind libclang clang clang-tools lldb nixd python3 ruff typst tinymist rust-analyzer uiua-unstable uiua386 glsl_analyzer ]; in [ helix jujutsu pandoc zathura nushell carapace starship kanshi ] ++ programming_languages; programs.git.enable = true; programs.zoxide.enable = true; fonts.packages = with pkgs; [ monocraft ]; environment.sessionVariables.EDITOR = lib.mkForce "hx"; environment.shells = with pkgs; [ nushell bash ]; users.users.fredrikr.shell = pkgs.nushell; programs.bash.interactiveShellInit = '' if [ "$TERM" = "dumb" ]; then exec ${pkgs.bash}; fi if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "nu" && -z ''${BASH_EXECUTION_STRING} ]]; then shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" exec ${pkgs.nushell}/bin/nu $LOGIN_OPTION fi ''; programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; services.openssh.enable = true; services.gnome.gnome-keyring.enable = true; }