forked from pub-solar/os
teutat3s
aabfc4a0dd
home: follow release-22.05 branch Fixes for upstream changes: ag renamed to silver-searcher, extfat-utils is now exfat, lot's of overrides no longer needed, as they're now in the release branch, services.caddy.config split up into globalConfig and extraConfig
133 lines
2.8 KiB
Nix
133 lines
2.8 KiB
Nix
{ self, config, lib, pkgs, inputs, ... }:
|
|
let inherit (lib) fileContents;
|
|
in
|
|
{
|
|
# Sets nrdxp.cachix.org binary cache which just speeds up some builds
|
|
imports = [ ../cachix ];
|
|
|
|
config = {
|
|
pub-solar.terminal-life.enable = true;
|
|
pub-solar.audio.enable = true;
|
|
pub-solar.crypto.enable = true;
|
|
pub-solar.devops.enable = true;
|
|
|
|
# This is just a representation of the nix default
|
|
nix.systemFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
|
|
|
|
environment = {
|
|
|
|
systemPackages = with pkgs; [
|
|
# Core unix utility packages
|
|
coreutils-full
|
|
progress
|
|
dnsutils
|
|
inetutils
|
|
mtr
|
|
pciutils
|
|
usbutils
|
|
gitFull
|
|
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
|
|
|
|
# zippit
|
|
zip
|
|
unzip
|
|
|
|
# Modern modern utilities
|
|
p7zip
|
|
croc
|
|
jq
|
|
jless
|
|
|
|
# Nix specific utilities
|
|
niv
|
|
manix
|
|
nix-index
|
|
nix-tree
|
|
nixpkgs-review
|
|
# Build broken, python2.7-PyJWT-2.0.1.drv' failed
|
|
#nixops
|
|
psos
|
|
nvd
|
|
|
|
# Fun
|
|
neofetch
|
|
];
|
|
};
|
|
|
|
fonts = {
|
|
fonts = with pkgs; [ powerline-fonts dejavu_fonts ];
|
|
|
|
fontconfig.defaultFonts = {
|
|
|
|
monospace = [ "DejaVu Sans Mono for Powerline" ];
|
|
|
|
sansSerif = [ "DejaVu Sans" ];
|
|
|
|
};
|
|
};
|
|
|
|
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
|
|
autoOptimiseStore = true;
|
|
gc.automatic = true;
|
|
optimise.automatic = true;
|
|
|
|
# Prevents impurities in builds
|
|
useSandbox = true;
|
|
|
|
# give root and @wheel special privileges with nix
|
|
trustedUsers = [ "root" "@wheel" ];
|
|
|
|
# Generally useful nix option defaults
|
|
extraOptions = ''
|
|
min-free = 536870912
|
|
keep-outputs = true
|
|
keep-derivations = true
|
|
fallback = true
|
|
# used by nix-dram
|
|
default-flake = flake:nixpkgs
|
|
'';
|
|
};
|
|
|
|
# For rage encryption, all hosts need a ssh key pair
|
|
services.openssh = {
|
|
enable = true;
|
|
openFirewall = lib.mkDefault false;
|
|
};
|
|
|
|
# Service that makes Out of Memory Killer more effective
|
|
services.earlyoom.enable = true;
|
|
|
|
# Use latest LTS linux kernel by default
|
|
boot.kernelPackages = pkgs.linuxPackages_5_15;
|
|
|
|
boot.supportedFilesystems = [ "ntfs" ];
|
|
};
|
|
}
|