nix-dotfiles/systems/configuration.nix

134 lines
2.6 KiB
Nix
Raw Normal View History

2023-12-24 18:48:52 +01:00
{ pkgs, ... }:
{
2023-12-23 06:49:01 +01:00
i18n = {
defaultLocale = "en_US.utf8";
2023-12-25 03:39:20 +01:00
supportedLocales = [ "en_US.UTF-8/UTF-8" ];
2023-12-23 06:49:01 +01:00
};
2023-12-24 20:09:35 +01:00
boot = {
default = true;
};
2023-12-25 03:39:20 +01:00
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
};
2023-12-23 06:49:01 +01:00
networking.firewall.allowedTCPPorts = [ 22 ];
services = {
openssh = {
enable = true;
fixPermissions = true;
extraConfig = ''StreamLocalBindUnlink yes'';
settings = {
PermitRootLogin = "no";
PasswordAuthentication = false;
};
};
};
nixpkgs.config.allowUnfree = true;
programs = {
git = {
enable = true;
config = {
interactive.singlekey = true;
pull.rebase = true;
rebase.autoStash = true;
safe.directory = "/etc/nixos";
};
};
2023-12-25 03:39:20 +01:00
neovim = {
enable = true;
defaultEditor = true;
configure = {
customRC = ''
set undofile " save undo file after quit
set undolevels=1000 " number of steps to save
set undoreload=10000 " number of lines to save
" Save Cursor Position
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
'';
};
};
2023-12-23 06:49:01 +01:00
zsh = {
enable = true;
autosuggestions = {
enable = true;
strategy = [ "completion" ];
async = true;
};
syntaxHighlighting.enable = true;
zsh-autoenv.enable = true;
enableCompletion = true;
enableBashCompletion = true;
ohMyZsh = {
enable = true;
};
};
nix-ld = {
enable = true;
libraries = with pkgs; [
acl
attr
bzip2
curl
glib
libglvnd
libmysqlclient
libsodium
libssh
libxml2
openssl
stdenv.cc.cc
systemd
util-linux
xz
zlib
zstd
];
};
};
systemd.watchdog = {
device = "/dev/watchdog";
2023-12-24 20:09:35 +01:00
runtimeTime = "30s";
2023-12-23 06:49:01 +01:00
rebootTime = "5m";
};
nix = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
keep-outputs = true;
builders-use-substitutes = true;
connect-timeout = 20;
};
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
2023-12-23 06:49:01 +01:00
};
2023-12-24 18:48:52 +01:00
diffSystem = true;
2023-12-23 06:49:01 +01:00
};
system = {
autoUpgrade = {
enable = true;
randomizedDelaySec = "1h";
persistent = true;
# Running this since this is private right now.
# Need to set up a ssh-key for github for autoUpgrade
flake = "git+ssh://git@github.com/RAD-Development/nix-dotfiles";
2023-12-23 06:49:01 +01:00
};
};
}