summary refs log tree commit diff stats
path: root/user/settings/development/web.nix
blob: 77b3e01d6cca765206c99df4da63d0155bd2a08a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
{ config
, pkgs
, lib
, ...
}: {
  home.packages = with pkgs.nodePackages; [
    vscode-css-languageserver-bin
    vscode-html-languageserver-bin
    csslint
    stylelint
  ] ++ (with pkgs; [
    flyctl
    prettierd
    personal.htmlformat
    nodePackages.vercel
  ]);
  home.shellAliases = {
    # 0.2.25 current completion command only affects `flyctl`, although `fly` is a link to `flyctl`
    fly = "flyctl";
  };
  programs.chromium = lib.mkIf pkgs.stdenv.isLinux {
    enable = true;
    package = pkgs.ungoogled-chromium;
    extensions = [
      # # uBlock origin
      { id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; }
      {
        id = "ocaahdebbfolfmndjeplogmgcagdmblk";
        updateUrl = "https://raw.githubusercontent.com/NeverDecaf/chromium-web-store/master/updates.xml";
      }
    ];
    dictionaries = with pkgs.hunspellDictsChromium; [
      en-gb
      de-de
    ];
  };
  programs.firefox = {
    enable = pkgs.stdenv.isLinux;
    package = pkgs.firefox-devedition;
    profiles.dev-edition-default = {
      search.default = "DuckDuckGo";
      extensions = with pkgs.nur.repos.rycee.firefox-addons; [
        a11ycss
        disable-javascript
        laboratory-by-mozilla
        side-view
        ublock-origin
      ];
      settings = {
        "browser.aboutConfig.showWarning" = false;
        "browser.theme.content-theme" = 1;
        "browser.theme.toolbar-theme" = 1;
        "browser.tabs.firefox-view" = false;
        "extensions.activeThemeID" = "firefox-compact-light@mozilla.org";
      };
    };
    policies = {
      AutoFillCreditCardEnabled = false;
      CaptivePortal = false;
      Cookies = {
        Behavior = "reject-foreign";
      };
      SanitizeOnShutdown = {
        Cache = true;
        Cookies = true;
        FormData = true;
      };
      DisableFirefoxAccounts = true;
      DisableFirefoxScreenShots = true;
      DisableFirefoxStudies = true;
      DisableMasterPasswordCreation = true;
      DisablePasswordReveal = true;
      DisablePocket = true;
      DisableTelemetry = true;
      DNSOverHTTPS.Enabled = false;
      DontCheckDefaultBrowser = true;
      EnableTrackingProtection = true;
      GoToIntranetSiteForSingleWordEntryInAddressBar = true;
      Homepage.URL = "http://localhost:7331";
      NewTabPage = false;
      NoDefaultBookmarks = true;
      OfferToSaveLogins = false;
      OverrideFirstRunPage = "";
      OverridePostUpdatePage = "";
      PasswordManagerEnabled = false;
      PrintingEnabled = false;
      SearchBar = "separate";
      ShowHomeButton = true;
      UserMessaging = {
        ExtensionRecommendations = false;
        FeatureRecommendations = false;
        UrlbarInterventions = false;
        SkipOnboarding = true;
        MoreFromMozilla = false;
      };
    };
  };
  programs.emacs.extraPackages = epkgs: (with epkgs; [
    caddyfile-mode
    emmet-mode
    nginx-mode
    web-mode
  ]);
  programs.neovim.plugins = with pkgs.vimPlugins; [
    coc-css
    coc-html
  ];
}