forked from colonelpanic/dotfiles
103 lines
2.1 KiB
Nix
103 lines
2.1 KiB
Nix
{ config, pkgs, options, inputs, ... }:
|
|
{
|
|
imports = [
|
|
./nix.nix
|
|
./users.nix
|
|
./essential.nix
|
|
./environment.nix
|
|
];
|
|
|
|
nixpkgs.config.permittedInsecurePackages = [
|
|
"openssl-1.0.2u"
|
|
"electron-12.2.3"
|
|
"etcher"
|
|
];
|
|
|
|
boot.loader.systemd-boot.configurationLimit = 7;
|
|
|
|
# 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;
|
|
|
|
# Security
|
|
programs.gnupg = {
|
|
agent = {
|
|
enable = true;
|
|
enableSSHSupport = true;
|
|
};
|
|
package = pkgs.gnupg_2_4_0;
|
|
};
|
|
services.pcscd.enable = true;
|
|
|
|
# Networking
|
|
environment.etc."ipsec.secrets".text = ''
|
|
include ipsec.d/ipsec.nm-l2tp.secrets
|
|
'';
|
|
|
|
networking.firewall.enable = false;
|
|
networking.networkmanager = {
|
|
enable = true;
|
|
enableStrongSwan = true;
|
|
plugins = [ pkgs.networkmanager-l2tp pkgs.networkmanager-openvpn ];
|
|
extraConfig = ''
|
|
[main]
|
|
rc-manager=resolvconf
|
|
'';
|
|
};
|
|
|
|
services.avahi = {
|
|
enable = true;
|
|
nssmdns = true;
|
|
publish = {
|
|
enable = true;
|
|
domain = true;
|
|
workstation = true;
|
|
userServices = true;
|
|
addresses = true;
|
|
hinfo = true;
|
|
};
|
|
extraServiceFiles = {
|
|
ssh = "''${pkgs.avahi}/etc/avahi/services/ssh.service";
|
|
};
|
|
};
|
|
|
|
# Audio
|
|
sound.enable = true;
|
|
hardware.pulseaudio.enable = true;
|
|
|
|
# Bluetooth
|
|
hardware.bluetooth.enable = true;
|
|
services.blueman.enable = true;
|
|
|
|
# Printing
|
|
services.printing.enable = true;
|
|
|
|
# Keyboard/Keymap
|
|
console.keyMap = "us";
|
|
|
|
i18n = {
|
|
defaultLocale = "en_US.UTF-8";
|
|
};
|
|
|
|
# Update timezone automatically
|
|
services.tzupdate.enable = true;
|
|
|
|
# TODO: Add a comment explaining what this does.
|
|
services.gnome.at-spi2-core.enable = true;
|
|
|
|
services.gnome.gnome-keyring.enable = true;
|
|
|
|
services.openssh.enable = true;
|
|
|
|
services.locate.enable = true;
|
|
|
|
virtualisation.docker.enable = true;
|
|
|
|
hardware.keyboard.zsa.enable = true;
|
|
|
|
services.logind.extraConfig = "RuntimeDirectorySize=5G";
|
|
|
|
services.dbus.packages = [ pkgs.gcr ];
|
|
}
|