dotfiles/config/shared.nix

65 lines
1.5 KiB
Nix

{ config, pkgs, inputs, ... }: {
# Enable experimental nix features.
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# General setup
time.timeZone = "America/Los_Angeles";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Change default shell to zsh.
users.defaultUserShell = pkgs.zsh;
programs.zsh = {
enable = true;
autosuggestions.enable = true;
syntaxHighlighting.enable = true;
};
# List packages installed in system profile.
environment.systemPackages = with pkgs; [
git
vim
screen
killall
# Create a "fhs" package for running binaries
(let base = pkgs.appimageTools.defaultFhsEnvArgs; in
pkgs.buildFHSUserEnv (base // {
name = "fhs";
targetPkgs = pkgs:
(base.targetPkgs pkgs) ++ (with pkgs; [
pkg-config
libxml2
ncurses
]
);
profile = "export FHS=1";
runScript = "bash";
extraOutputsToInstall = ["dev"];
}))
];
# Enable services.
services.openssh.enable = true;
services.tailscale.enable = true;
# Enable docker service.
virtualisation.docker.enable = true;
system.stateVersion = "24.05";
}