mirror of
https://github.com/itme-brain/nixos.git
synced 2026-03-23 16:29:42 -04:00
101 lines
2 KiB
Nix
101 lines
2 KiB
Nix
{ pkgs, lib, ... }:
|
|
|
|
{ system.stateVersion = "22.11";
|
|
environment.defaultPackages = [ ];
|
|
|
|
# Nix
|
|
nix = {
|
|
package = pkgs.nixFlakes;
|
|
extraOptions = "experimental-features = nix-command flakes";
|
|
settings = {
|
|
auto-optimise-store = true;
|
|
trusted-users = [ "bryan" ];
|
|
};
|
|
gc = {
|
|
automatic = true;
|
|
dates = "weekly";
|
|
options = "--delete-older-than 30d";
|
|
};
|
|
};
|
|
environment.systemPackages = with pkgs; [ nix-init pavucontrol ];
|
|
|
|
# Audio
|
|
services.pipewire = {
|
|
enable = true;
|
|
audio.enable = true;
|
|
|
|
wireplumber.enable = true;
|
|
|
|
pulse.enable = true;
|
|
jack.enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
};
|
|
|
|
# Users
|
|
users.users.bryan = {
|
|
isNormalUser = true;
|
|
extraGroups = [ "wheel" "networkmanager" "home-manager" "input" "video" "audio" "kvm" "libvirtd" "docker" ];
|
|
openssh.authorizedKeys.keyFiles = [ /home/bryan/.ssh/authorized_keys ];
|
|
};
|
|
|
|
security.sudo = {
|
|
wheelNeedsPassword = false;
|
|
execWheelOnly = true;
|
|
};
|
|
|
|
# System Services
|
|
services = {
|
|
trezord.enable = true;
|
|
|
|
cron = {
|
|
enable = true;
|
|
systemCronJobs = [
|
|
"0 0 * * * bryan /home/bryan/Documents/scripts/lnbackup_script.sh"
|
|
];
|
|
};
|
|
};
|
|
|
|
# Locale
|
|
time = {
|
|
timeZone = "America/New_York";
|
|
};
|
|
|
|
services.timesyncd = {
|
|
enable = true;
|
|
servers = [
|
|
"0.pool.ntp.org"
|
|
"1.pool.ntp.org"
|
|
"2.pool.ntp.org"
|
|
"3.pool.ntp.org"
|
|
];
|
|
};
|
|
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
|
|
console = {
|
|
font = "Lat2-Terminus16";
|
|
useXkbConfig = true;
|
|
};
|
|
|
|
# Networking
|
|
networking = {
|
|
hostName = "socrates";
|
|
useDHCP = lib.mkDefault true;
|
|
networkmanager.enable = true;
|
|
firewall = {
|
|
enable = true;
|
|
allowedTCPPorts = [ 22 80 443 ];
|
|
};
|
|
};
|
|
|
|
services.openssh = {
|
|
enable = true;
|
|
startWhenNeeded = true;
|
|
settings = {
|
|
# permitRootLogin = false;
|
|
X11Forwarding = true;
|
|
PasswordAuthentication = false;
|
|
};
|
|
};
|
|
}
|