53 lines
1.7 KiB
Nix

{ config, lib, pkgs, user, ... }:
let cfg = config.modules.programs.firefox;
in {
options.modules.programs.firefox.enable = lib.mkEnableOption "firefox";
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
opensc # Open source smart card tools and middleware
pcsc-tools # Tools are used to test a PC/SC drivers
pkcs11helper # Library that simplifies the interaction with PKCS#11
];
# Add DoD CA certs to trusted source
security.pki.certificateFiles = [
../../../resources/dod_certs/DoDWCFInterCA1.crt
../../../resources/dod_certs/DoDRootCA3.crt
../../../resources/dod_certs/DoDRootCA4.crt
../../../resources/dod_certs/DoDRootCA5.crt
../../../resources/dod_certs/DoDRootCA6.crt
../../../resources/dod_certs/DoDInteroperabilityRootCA2.crt
../../../resources/dod_certs/USDoDCCEBInteroperabilityRootCA2.crt
];
home-manager.users.${user} = {
programs.firefox = {
enable = true;
policies = {
SecurityDevices = {
Add = {
#
"NIPR" = "${pkgs.opensc}/lib/opensc-pkcs11.so";
};
};
};
profiles.default = {
isDefault = true;
name = "default";
settings = {
"browser.bookmarks.addedImportButton" = false;
"browser.toolbars.bookmarks.visibility" = "always";
"browser.newtabpage.activity-stream.feeds.topsites" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.pinned" = [];
"browser.tabs.drawInTitlebar" = true;
"browser.tabs.inTitlebar" = 1;
};
};
};
};
};
}