nixos/configuration.nix
2024-08-22 17:53:33 -04:00

66 lines
1.3 KiB
Nix

# System configuration and packages for my personal NixOS setup
{ config, pkgs, ... }:
{
imports = [
# include local machine/environment config
./local.nix
./programs
];
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = ["nix-command" "flakes" ];
environment.systemPackages = with pkgs; [
fishPlugins.tide
neovim
wget
curl
git
htop
btop
dig
eza
inetutils
mosh
traceroute
fastfetch
age
];
environment.shellAliases = {
vi = "nvim";
vim = "nvim";
ll = "eza -alo --group-directories-first";
tree = "eza -lT";
};
services.openssh = {
enable = true;
settings = {
X11Forwarding = true;
PermitRootLogin = "no";
};
openFirewall = true;
};
programs.direnv.enable = true;
users.defaultUserShell = pkgs.fish;
programs.tmux = {
enable = true;
shortcut = "a"; # changes default shortcut to ctrl-a from ctrl-b
extraConfig = ''
set-option -g mouse on
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"
'';
};
services.tailscale.enable = true;
services.tailscale.useRoutingFeatures = "client";
system.stateVersion = "23.05";
}