65 lines
1.5 KiB
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";
|
|
}
|