pub-solar-os/profiles/core/default.nix

142 lines
2.8 KiB
Nix
Raw Normal View History

{ self, config, lib, pkgs, ... }:
2020-01-04 05:06:31 +00:00
let inherit (lib) fileContents;
2020-07-31 04:17:28 +00:00
in
{
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;
pub-solar.docker.enable = true;
pub-solar.nextcloud.enable = true;
pub-solar.office.enable = true;
# pub-solar.printing.enable = true; # this is enabled automatically if office is enabled
pub-solar.server.enable = true;
pub-solar.printing.enable = true;
nix.systemFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
environment = {
systemPackages = with pkgs; [
# Core unix utility packages
coreutils-full
progress
dnsutils
inetutils
pciutils
usbutils
git
git-lfs
git-bug
git-crypt
wget
openssl
openssh
curl
htop
lsof
psmisc
xdg-utils
sysfsutils
renameutils
nfs-utils
moreutils
mailutils
keyutils
input-utils
elfutils
binutils
dateutils
diffutils
findutils
exfat-utils
# zippit
zip
unzip
# Modern modern utilities
p7zip
croc
jq
# Nix specific utilities
niv
manix
nix-index
# Build broken, python2.7-PyJWT-2.0.1.drv' failed
#nixops
psos
# Fun
neofetch
];
};
2021-05-30 19:10:28 +00:00
fonts = {
fonts = with pkgs; [ powerline-fonts dejavu_fonts ];
2021-05-30 19:10:28 +00:00
fontconfig.defaultFonts = {
2021-05-30 19:10:28 +00:00
monospace = [ "DejaVu Sans Mono for Powerline" ];
2021-05-30 19:10:28 +00:00
sansSerif = [ "DejaVu Sans" ];
2021-05-30 19:10:28 +00:00
};
};
2021-05-30 19:10:28 +00:00
nix = {
package = pkgs.nix-dram;
2021-05-30 19:10:28 +00:00
autoOptimiseStore = true;
2021-05-30 19:10:28 +00:00
gc.automatic = true;
2021-05-30 19:10:28 +00:00
optimise.automatic = true;
2021-05-30 19:10:28 +00:00
useSandbox = true;
2021-05-30 19:10:28 +00:00
allowedUsers = [ "@wheel" ];
2021-05-30 19:10:28 +00:00
trustedUsers = [ "root" "@wheel" ];
2021-05-30 19:10:28 +00:00
extraOptions = ''
min-free = 536870912
keep-outputs = true
keep-derivations = true
fallback = true
experimental-features = nix-command flakes
'';
2021-05-30 19:10:28 +00:00
registry.default = {
to = {
type = "github";
owner = "NixOS";
repo = "nixpkgs";
ref = "nixos-unstable";
};
from = {
type = "indirect";
id = "default";
};
};
};
2021-05-30 19:10:28 +00:00
system.autoUpgrade.enable = true;
2020-07-27 04:24:28 +00:00
2021-06-09 16:42:56 +00:00
# For rage encryption, all hosts need a ssh key pair
services.openssh = {
enable = true;
openFirewall = lib.mkDefault false;
};
2021-06-09 16:42:56 +00:00
services.earlyoom.enable = true;
2021-05-30 19:10:28 +00:00
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.supportedFilesystems = [ "ntfs" ];
};
}