2024-01-04 19:52:46 -07:00
|
|
|
{ config, pkgs, forEachUser, makeEnable, realUsers, ... }:
|
2023-08-20 04:25:58 -06:00
|
|
|
makeEnable config "modules.base" true {
|
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"
|
2023-10-01 21:17:36 -06:00
|
|
|
"electron-19.1.9"
|
2023-12-21 16:21:32 -07:00
|
|
|
"openssl-1.1.1w"
|
2024-03-12 00:10:11 -06:00
|
|
|
"nix-2.16.2"
|
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;
|
2022-05-30 14:25:07 -06:00
|
|
|
systemd.services.systemd-user-sessions.enable = false;
|
2021-07-10 15:26:55 -06:00
|
|
|
|
|
|
|
# Security
|
2023-08-03 20:47:12 -06:00
|
|
|
programs.gnupg = {
|
|
|
|
agent = {
|
|
|
|
enable = true;
|
|
|
|
enableSSHSupport = true;
|
|
|
|
};
|
|
|
|
};
|
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-14 20:42:35 -06:00
|
|
|
|
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;
|
2023-05-14 15:16:03 -06:00
|
|
|
plugins = [ pkgs.networkmanager-l2tp pkgs.networkmanager-openvpn ];
|
2021-07-10 17:12:39 -06:00
|
|
|
};
|
|
|
|
|
2021-07-10 15:26:55 -06:00
|
|
|
# Audio
|
|
|
|
hardware.pulseaudio.enable = true;
|
|
|
|
|
|
|
|
# Bluetooth
|
|
|
|
hardware.bluetooth.enable = true;
|
|
|
|
services.blueman.enable = true;
|
|
|
|
|
2022-09-16 16:31:28 -06:00
|
|
|
# Printing
|
2023-08-05 21:02:01 -06:00
|
|
|
# services.printing.enable = true;
|
2022-09-16 16:31:28 -06:00
|
|
|
|
2021-07-19 22:01: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.
|
2021-07-10 17:12:39 -06:00
|
|
|
services.locate.enable = true;
|
|
|
|
|
|
|
|
virtualisation.docker.enable = true;
|
2024-09-26 11:14:04 -06:00
|
|
|
virtualisation.docker.enableNvidia = true;
|
2021-07-10 17:12:39 -06:00
|
|
|
|
|
|
|
hardware.keyboard.zsa.enable = true;
|
|
|
|
|
2022-09-16 16:31:28 -06:00
|
|
|
services.logind.extraConfig = "RuntimeDirectorySize=5G";
|
|
|
|
|
2023-09-01 07:40:51 -06:00
|
|
|
# For supporting gnome stuff
|
2022-09-16 16:31:28 -06:00
|
|
|
services.dbus.packages = [ pkgs.gcr ];
|
2023-09-01 07:40:51 -06:00
|
|
|
|
|
|
|
programs.dconf.enable = true;
|
2024-01-04 19:52:46 -07:00
|
|
|
|
|
|
|
home-manager.users = forEachUser (import ./home-manager.nix);
|
|
|
|
nix.settings.trusted-users = realUsers;
|
2021-07-10 15:26:55 -06:00
|
|
|
}
|