os/modules/profiles/core.nix
Timothy DeHerrera 79181e103f
setup configurations API
NixOS file, configurations/<name>.nix, will be easily installable
via `nixos-rebuild --flake ".#<name>"`.
2019-12-05 01:58:40 -07:00

130 lines
1.9 KiB
Nix

{ config, lib, pkgs, ... }:
{
imports = [
./locale.nix
../../local/file-systems.nix
];
boot = {
kernelPackages = pkgs.linuxPackages_latest;
tmpOnTmpfs = true;
kernel.sysctl."kernel.sysrq" = 1;
};
environment = {
systemPackages = with pkgs; [
binutils
coreutils
curl
dnsutils
fd
git
iputils
manpages
moreutils
ripgrep
stdmanpages
utillinux
];
shellAliases = let
ifSudo = string: lib.mkIf config.security.sudo.enable string;
in
{
# quick cd
".." = "cd ..";
"..." = "cd ../..";
"...." = "cd ../../..";
"....." = "cd ../../../..";
# internet ip
myip = "dig +short myip.opendns.com @208.67.222.222 2>&1";
# sudo
si = ifSudo "env sudo -i";
sudo = ifSudo "sudo -E ";
se = ifSudo "sudoedit";
# systemd
ctl = "systemctl";
stl = ifSudo "sudo systemctl";
utl = "systemctl --user";
ut = "systemctl --user start";
un = "systemctl --user stop";
up = ifSudo "sudo systemctl start";
dn = ifSudo "sudo systemctl stop";
jctl = "journalctl";
};
};
fonts = {
fonts = with pkgs; [
powerline-fonts
dejavu_fonts
];
fontconfig.defaultFonts = {
monospace = [ "DejaVu Sans Mono for Powerline" ];
sansSerif = [ "DejaVu Sans" ];
};
};
nix = {
autoOptimiseStore = true;
gc.automatic = true;
optimise.automatic = true;
useSandbox = true;
allowedUsers = [ "@wheel" ];
trustedUsers = [ "root" "@wheel" ];
extraOptions = ''
experimental-features = nix-command flakes
'';
};
nixpkgs.config.allowUnfree = true;
programs.mtr.enable = true;
security = {
hideProcessInformation = true;
protectKernelImage = true;
};
services.earlyoom.enable = true;
users.mutableUsers = false;
}