etc/nixos/universal.nix
2025-04-02 10:21:41 +11:00

71 lines
1.2 KiB
Nix

{
config,
pkgs,
unstable,
inputs,
nix-your-shell,
...
}:
{
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Set your time zone.
time.timeZone = "Australia/Melbourne";
fonts = {
fontDir.enable = true;
enableGhostscriptFonts = true;
packages = with pkgs; [
nerdfonts
# berkeley-mono-typeface
];
};
environment.systemPackages =
with pkgs;
with unstable;
[
unstable.waypipe
# === nix related ===
comma
nh
# === nix related ===
unstable.nix-your-shell
];
programs.firefox.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
programs.fish = {
enable = true;
interactiveShellInit = ''
nix-your-shell fish | source
'';
};
programs.bash = {
interactiveShellInit = ''
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
fi
'';
};
}