dotfiles/nixos/base.nix

103 lines
2.1 KiB
Nix
Raw Normal View History

2021-08-20 19:28:51 -06:00
{ config, pkgs, options, inputs, ... }:
2021-07-10 15:26:55 -06:00
{
imports = [
./nix.nix
2021-07-10 15:26:55 -06:00
./users.nix
2021-07-11 04:19:34 -06:00
./essential.nix
2021-08-02 05:18:07 -06:00
./environment.nix
2021-07-10 15:26:55 -06:00
];
nixpkgs.config.permittedInsecurePackages = [
"openssl-1.0.2u"
2023-08-01 20:15:25 -06:00
"electron-12.2.3"
2023-08-01 19:51:13 -06:00
"etcher"
2021-07-10 15:26:55 -06:00
];
boot.loader.systemd-boot.configurationLimit = 7;
2021-07-10 15:26:55 -06:00
# Disabling these waits disables the stuck on boot up issue
systemd.services.systemd-udev-settle.enable = false;
systemd.services.NetworkManager-wait-online.enable = false;
systemd.services.systemd-user-sessions.enable = false;
2021-07-10 15:26:55 -06:00
# Security
programs.gnupg = {
agent = {
enable = true;
enableSSHSupport = true;
};
package = pkgs.gnupg_2_4_0;
};
2021-07-10 15:26:55 -06:00
services.pcscd.enable = true;
# Networking
environment.etc."ipsec.secrets".text = ''
include ipsec.d/ipsec.nm-l2tp.secrets
'';
2021-07-25 16:03:59 -06:00
networking.firewall.enable = false;
2021-07-10 15:26:55 -06:00
networking.networkmanager = {
enable = true;
2021-07-10 17:12:39 -06:00
enableStrongSwan = true;
plugins = [ pkgs.networkmanager-l2tp pkgs.networkmanager-openvpn ];
2021-07-10 17:12:39 -06:00
extraConfig = ''
[main]
rc-manager=resolvconf
'';
};
services.avahi = {
enable = true;
nssmdns = true;
publish = {
enable = true;
domain = true;
2023-08-01 20:15:25 -06:00
workstation = true;
2021-07-10 17:12:39 -06:00
userServices = true;
2023-08-01 20:15:25 -06:00
addresses = true;
hinfo = true;
};
extraServiceFiles = {
ssh = "''${pkgs.avahi}/etc/avahi/services/ssh.service";
2021-07-10 17:12:39 -06:00
};
2021-07-10 15:26:55 -06:00
};
# Audio
sound.enable = true;
hardware.pulseaudio.enable = true;
# Bluetooth
hardware.bluetooth.enable = true;
services.blueman.enable = true;
2022-09-16 16:31:28 -06:00
# Printing
services.printing.enable = true;
2022-09-16 16:31:28 -06:00
# Keyboard/Keymap
console.keyMap = "us";
2021-07-10 17:12:39 -06:00
i18n = {
defaultLocale = "en_US.UTF-8";
};
2021-07-10 15:26:55 -06:00
# Update timezone automatically
services.tzupdate.enable = true;
# TODO: Add a comment explaining what this does.
services.gnome.at-spi2-core.enable = true;
2022-09-16 16:31:28 -06:00
services.gnome.gnome-keyring.enable = true;
2021-07-10 17:12:39 -06:00
services.openssh.enable = true;
services.locate.enable = true;
virtualisation.docker.enable = true;
hardware.keyboard.zsa.enable = true;
2022-09-16 16:31:28 -06:00
services.logind.extraConfig = "RuntimeDirectorySize=5G";
services.dbus.packages = [ pkgs.gcr ];
2021-07-10 15:26:55 -06:00
}