2021-05-11 18:40:37 +00:00
|
|
|
{ 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
|
|
|
|
{
|
2021-04-19 02:43:37 +00:00
|
|
|
imports = [ ../cachix ];
|
2019-12-05 05:36:36 +00:00
|
|
|
|
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
|
|
|
|
];
|
|
|
|
};
|
2019-12-05 05:36:36 +00:00
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
fonts = {
|
|
|
|
fonts = with pkgs; [ powerline-fonts dejavu_fonts ];
|
2019-12-05 05:36:36 +00:00
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
fontconfig.defaultFonts = {
|
2019-12-05 05:36:36 +00:00
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
monospace = [ "DejaVu Sans Mono for Powerline" ];
|
2019-12-05 05:36:36 +00:00
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
sansSerif = [ "DejaVu Sans" ];
|
2019-12-05 05:36:36 +00:00
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
};
|
2019-12-05 05:36:36 +00:00
|
|
|
};
|
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
nix = {
|
|
|
|
package = pkgs.nix-dram;
|
2019-12-05 05:36:36 +00:00
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
autoOptimiseStore = true;
|
2019-12-05 05:36:36 +00:00
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
gc.automatic = true;
|
2019-12-05 05:36:36 +00:00
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
optimise.automatic = true;
|
2019-12-05 05:36:36 +00:00
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
useSandbox = true;
|
2019-12-05 05:36:36 +00:00
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
allowedUsers = [ "@wheel" ];
|
2019-12-05 05:36:36 +00:00
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
trustedUsers = [ "root" "@wheel" ];
|
2019-12-05 05:36:36 +00:00
|
|
|
|
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
|
|
|
|
'';
|
2019-12-05 05:36:36 +00:00
|
|
|
|
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";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2019-12-05 05:36:36 +00:00
|
|
|
|
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-05-13 18:04:15 +00:00
|
|
|
|
2021-06-09 16:42:56 +00:00
|
|
|
services.earlyoom.enable = true;
|
2019-12-05 05:36:36 +00:00
|
|
|
|
2021-05-30 19:10:28 +00:00
|
|
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
|
|
boot.supportedFilesystems = [ "ntfs" ];
|
|
|
|
};
|
2019-12-05 05:36:36 +00:00
|
|
|
}
|