2024-05-01 14:33:54 +00:00
|
|
|
# System configuration and packages for my personal NixOS setup
|
|
|
|
|
|
|
|
{ config, pkgs, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
imports = [
|
|
|
|
# include local machine/environment config
|
|
|
|
./local.nix
|
|
|
|
./programs
|
|
|
|
];
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
2024-05-01 16:03:18 +00:00
|
|
|
nix.settings.experimental-features = ["nix-command" "flakes" ];
|
|
|
|
|
2024-05-01 14:33:54 +00:00
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
fishPlugins.tide
|
|
|
|
neovim
|
|
|
|
wget
|
2024-05-01 16:03:18 +00:00
|
|
|
curl
|
2024-05-01 14:33:54 +00:00
|
|
|
git
|
|
|
|
htop
|
|
|
|
btop
|
|
|
|
dig
|
2024-05-01 15:13:32 +00:00
|
|
|
eza
|
2024-05-01 16:54:10 -04:00
|
|
|
traceroute
|
2024-05-01 14:33:54 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
environment.shellAliases = {
|
|
|
|
vi = "nvim";
|
|
|
|
vim = "nvim";
|
2024-05-01 15:13:32 +00:00
|
|
|
ll = "eza -alo --group-directories-first";
|
|
|
|
tree = "eza -lT";
|
2024-05-01 14:33:54 +00:00
|
|
|
};
|
|
|
|
|
2024-05-01 16:03:18 +00:00
|
|
|
services.openssh = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
X11Forwarding = true;
|
|
|
|
PermitRootLogin = "no";
|
|
|
|
};
|
|
|
|
openFirewall = true;
|
|
|
|
};
|
|
|
|
|
2024-05-01 14:33:54 +00:00
|
|
|
programs.direnv.enable = true;
|
|
|
|
users.defaultUserShell = pkgs.fish;
|
|
|
|
|
2024-05-03 12:12:22 -04:00
|
|
|
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}"
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
2024-05-01 14:33:54 +00:00
|
|
|
services.tailscale.enable = true;
|
|
|
|
services.tailscale.useRoutingFeatures = "client";
|
|
|
|
|
|
|
|
system.stateVersion = "23.05";
|
|
|
|
|
|
|
|
}
|