nix-configs/systems/sovereign.nix
2023-03-13 13:25:29 +00:00

134 lines
3.2 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
# ./unstable.nix
./stoners-space.nix
];
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelParams = [ "console=ttyS0,19200n8" ];
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
nix.settings.extra-platforms = [ "aarch64-linux" ];
nix.settings.auto-optimise-store = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.buildMachines = [{
hostName = "localhost";
systems = ["x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"];
supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"];
maxJobs = 8;
}];
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
# Use the GRUB 2 boot loader.
boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
boot.loader.grub.extraConfig = ''
serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1;
terminal_input serial;
terminal_output serial
'';
boot.loader.grub.device = "nodev"; # or "nodev" for efi only
boot.loader.timeout = 10;
networking.firewall = {
enable = true;
allowedTCPPorts = [ 80 443 ];
};
networking.extraHosts =
''
23.32.241.51 r3.o.lencr.org
'';
# services.hydra = {
# enable = true;
# hydraURL = "localhost:3000";
# notificationSender = "hydra@localhost";
#buildMachinesFiles = [];
# useSubstitutes = true;
# };
security.acme.acceptTerms = true;
security.acme.defaults.email = "aaronhoneycutt@proton.me";
networking.hostName = "sovereign";
# Set your time zone.
# time.timeZone = "Europe/Amsterdam";
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Define a user account. Don't forget to set a password with passwd.
users.users.aaronh = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ]; # Enable sudo for the user.
packages = with pkgs; [
cargo
flatpak
git
git-lfs
just
];
};
users.users.builder = {
isNormalUser = true;
extraGroups = [ "wheel" ];
packages = with pkgs; [
neofetch
];
};
environment.systemPackages = with pkgs; [
acme-sh
# bundler
git
inetutils
jekyll
mtr
neofetch
# ruby_3_1
rubyPackages_3_1.jekyll
# rubyPackages_3_1.jekyll-feed
# rubyPackages_3_1.jekyll-redirect-from
# rubyPackages_3_1.webrick
# rubyPackages.webrick
sysstat
toybox
tree
wget
];
# Enable the OpenSSH daemon.
services.openssh = {
enable = true;
# permitRootLogin = "yes";
};
networking.usePredictableInterfaceNames = false;
networking.useDHCP = false;
networking.interfaces.eth0.useDHCP = true;
system.stateVersion = "22.11"; # Did you read the comment?
}