os/profiles/core/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

136 lines
2.8 KiB
Nix
Raw Permalink Normal View History

2020-07-31 04:17:28 +00:00
{
2023-01-28 21:27:52 +00:00
self,
config,
lib,
pkgs,
inputs,
...
}: let
inherit (lib) fileContents;
in {
# Sets nrdxp.cachix.org binary cache which just speeds up some builds
2023-01-28 21:27:52 +00:00
imports = [../cachix];
2021-05-30 19:10:28 +00:00
config = {
pub-solar.terminal-life.enable = true;
pub-solar.audio.enable = true;
pub-solar.crypto.enable = true;
pub-solar.devops.enable = true;
2022-01-31 11:16:36 +00:00
# This is just a representation of the nix default
2023-01-28 21:27:52 +00:00
nix.systemFeatures = ["nixos-test" "benchmark" "big-parallel" "kvm"];
2021-05-30 19:10:28 +00:00
environment = {
systemPackages = with pkgs; [
# Core unix utility packages
coreutils-full
progress
dnsutils
inetutils
2022-02-02 03:47:08 +00:00
mtr
2021-05-30 19:10:28 +00:00
pciutils
usbutils
2022-01-05 22:20:38 +00:00
gitFull
2021-05-30 19:10:28 +00:00
git-lfs
git-bug
wget
openssl
openssh
curl
htop
lsof
psmisc
xdg-utils
sysfsutils
renameutils
nfs-utils
moreutils
mailutils
keyutils
input-utils
elfutils
binutils
dateutils
diffutils
findutils
exfat
file
2021-05-30 19:10:28 +00:00
# zippit
zip
unzip
# Modern modern utilities
p7zip
croc
jq
# Nix specific utilities
niv
manix
nix-index
2022-01-05 22:20:38 +00:00
nix-tree
nixpkgs-review
2021-05-30 19:10:28 +00:00
# Build broken, python2.7-PyJWT-2.0.1.drv' failed
#nixops
psos
nvd
2021-05-30 19:10:28 +00:00
# Fun
neofetch
];
};
2021-05-30 19:10:28 +00:00
fonts = {
2023-01-28 21:27:52 +00:00
fonts = with pkgs; [powerline-fonts dejavu_fonts];
2021-05-30 19:10:28 +00:00
fontconfig.defaultFonts = {
2023-01-28 21:27:52 +00:00
monospace = ["DejaVu Sans Mono for Powerline"];
2023-01-28 21:27:52 +00:00
sansSerif = ["DejaVu Sans"];
2021-05-30 19:10:28 +00:00
};
};
2021-05-30 19:10:28 +00:00
nix = {
# use nix-dram, a patched nix command, see: https://github.com/dramforever/nix-dram
package = inputs.nix-dram.packages.${pkgs.system}.nix-dram;
# Improve nix store disk usage
2021-05-30 19:10:28 +00:00
autoOptimiseStore = true;
gc.automatic = true;
optimise.automatic = true;
# Prevents impurities in builds
2021-05-30 19:10:28 +00:00
useSandbox = true;
# give root and @wheel special privileges with nix
2023-01-28 21:27:52 +00:00
trustedUsers = ["root" "@wheel"];
# Generally useful nix option defaults
2021-05-30 19:10:28 +00:00
extraOptions = ''
min-free = 536870912
keep-outputs = true
keep-derivations = true
fallback = true
# used by nix-dram
default-flake = flake:nixpkgs
2021-05-30 19:10:28 +00:00
'';
};
# For rage encryption, all hosts need a ssh key pair
services.openssh = {
enable = true;
openFirewall = lib.mkDefault true;
passwordAuthentication = false;
};
# Service that makes Out of Memory Killer more effective
2021-06-09 16:42:56 +00:00
services.earlyoom.enable = true;
2022-02-02 03:47:08 +00:00
# Use latest LTS linux kernel by default
boot.kernelPackages = pkgs.linuxPackages_5_15;
2023-01-28 21:27:52 +00:00
boot.supportedFilesystems = ["ntfs"];
2021-05-30 19:10:28 +00:00
};
}