[Nix-dev] How do I add Firefox extensions?

Bill Trost trost at cloud.rain.com
Fri Dec 14 06:22:27 CET 2012


I've spent a good part of an evening trying to figure out how to convince
the Firefox that came with the Nixos install that it should use
extensions other than Shockwave flash. This is a 686 machine, so I should
be able to use most anything, but I can't figure out what incantation I
should put in nixos.conf to make the miracle happen.

Below is my current nixos.conf. I'd appreciate any suggestions.

Thanks,
Bill


{config, pkgs, ...}:

{
  require =
    [ # Include the results of the hardware scan.
      ./hardware-configuration.nix
    ];

  hardware.bluetooth.enable = true;
  # hardware.enableAllFirmware = true;    # include Debian firmware
  hardware.pulseaudio.enable = true;
  
  boot.initrd.kernelModules = [
      # Specify all kernel modules that are necessary for mounting the root
      # filesystem.
      "xfs" "ata_piix"
    ];
    
  # Use the GRUB 2 boot loader.
  boot.loader.grub.enable = true;
  boot.loader.grub.version = 2;

  # Define on which hard drive you want to install Grub.
  boot.loader.grub.device = "/dev/sda";

  networking.hostName = "fog"; # Define your hostname.
  networking.wireless.enable = true;  # Enables Wireless.
  networking.enableB43Firmware = true;

  # Add filesystem entries for each partition that you want to see
  # mounted at boot time.  This should include at least the root
  # filesystem.
  fileSystems =
    [  { mountPoint = "/"; label = "root"; }
       { mountPoint = "/boot"; label = "boot"; }
    ];

  # List swap partitions activated at boot time.
  swapDevices = [{ label = "swap"; }];

  # Select internationalisation properties.
  i18n = {
    # consoleFont = "lat9w-16";
    consoleKeyMap = "us";
    defaultLocale = "en_US.UTF-8";
  };
  
  nix.maxJobs = 4;

  services.avahi = {
    enable = true;
    ipv6 = true;
    nssmdns = true;
  };

  # Enable the OpenSSH daemon.
  services.openssh.enable = true;
  services.openssh.permitRootLogin = "no";

  # Enable CUPS to print documents.
  services.printing.enable = true;

  # Enable the X11 windowing system.
  services.xserver = {
    enable = true;
    layout = "us(dvorak)";
    desktopManager.default = "xfce";
    desktopManager.xfce.enable = true;
    resolutions = [{x = 1024; y = 768;}];
    multitouch.enable = true;
    synaptics = {
      enable = true;
      twoFingerScroll = true;
      vertEdgeScroll = false;
    };
    xkbOptions = "ctrl:nocaps";
  };
  
  environment.systemPackages = with pkgs; [
    calibre
    evince
    gdb
    git
    gnuplot
    lsof
    mtr
    p7zip
    pidgin
    plan9port
    pmutils
    pv
    python
    thunderbird
    vlc
    wicd
    xscreensaver
    yasm
  ];

  nixpkgs.config.firefox = {
    allExtensions = true;
    enableGnash = true;
    enableMPlayer = true;
  };

  time.timeZone = "America/Los_Angeles";
}


More information about the nix-dev mailing list