55 lines
1.2 KiB
Nix
55 lines
1.2 KiB
Nix
{ 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;
|
|
}
|
|
|