• 1 Post
  • 20 Comments
Joined 6 months ago
cake
Cake day: March 26th, 2024

help-circle



  • sunstoned@lemmus.orgtoMemes@lemmy.mlWish me luck at this critical milestone
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    1
    ·
    edit-2
    1 month ago

    I’m a big fan of buying power tools twice. I happen to go Ryobi for the first round but Harbor Freight / Northern Tool are probably similar.

    If you can stand the fuss, buy corded tools and skip the brand loyalty that comes with batteries.

    The biggest killer of cheaper power tools is generally heat. There are plastic components in the drive train. They hold up great to short jobs, but heat is their kryptonite. If you let a Ryobi tool cool down whenever you notice it getting warm to the touch it’ll last a long time. If you need to run a tool for hours at a time then skip the fuss and go straight to a more brand with a good reputation like DeWalt, Makita, Bosch, or Milwaukee.















  • Try this, friend

    Tap for spoiler
    { config, pkgs, ... }:
    
      let
        lock-false = {
          Value = false;
          Status = "locked";
        };
        lock-true = {
          Value = true;
          Status = "locked";
        };
      in
    {
      /* 
      ** ffextid
      ** Usage: `ffextid [install_url]`
      ** Description: simple script to find the extension id from an extension's manifest
      **              using the url found by right clicking the install add-on button and 
      **              selecting "copy link"
      */
      home.packages = with pkgs; [
        (pkgs.writeShellScriptBin "ffextid" ''
        #!/usr/bin/env bash 
        $(curl $1 > /tmp/ffext.xpi) 1> /dev/null
        $(unzip /tmp/ffext.xpi -d /tmp/ffext) 1> /dev/null
        
        # If ripgrep exists, use that. Otherwise default to grep
        if ! command -v rg &> /dev/null; 
        then
          rg id /tmp/ffext/manifest.json
        else
          grep id /tmp/ffext/manifest.json
        fi
        
        rm -rf /tmp/ffext*
        '')
      ]; 
      programs = {
        firefox = {
          enable = true;
          package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
            extraPolicies = {
              DisableTelemetry = true;
              # add policies here...
    
              /* ---- EXTENSIONS ---- */
              ExtensionSettings = {
                "*".installation_mode = "blocked"; # blocks all addons except the ones specified below
                /*
                Format: 
                "[Manifest id]" = {
                  installation_mode = "force_installed" # will install the extension for you!
                  install_url = "[url]" # found by right clicking the install button on the add-on page
                };
                */
                # uBlock Origin:
                "uBlock0@raymondhill.net" = {
                  installation_mode = "force_installed";
                  install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
                };
                # Privacy Badger:
                "jid1-MnnxcxisBPnSXQ@jetpack" = {
                  install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
                  installation_mode = "force_installed";
                };
                # Bitwarden
                "{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
                  installation_mode = "force_installed";
                  install_url = "https://addons.mozilla.org/firefox/downloads/file/4225453/bitwarden_password_manager-2024.1.1.xpi";
                };
                # XBrowserSync
                "{019b606a-6f61-4d01-af2a-cea528f606da}" = {
                  installation_mode = "force_installed";
                  install_url = "https://addons.mozilla.org/firefox/downloads/file/3546070/xbs-1.5.2.xpi";
                };
                # Decentraleyes
                "{jid1-BoFifL9Vbdl2zQ@jetpack}" = {
                  installation_mode = "force_installed";
                  install_url = "https://addons.mozilla.org/firefox/downloads/file/4158232/decentraleyes-2.0.18.xpi";
                };
                # Clear URLs
                "{74145f27-f039-47ce-a470-a662b129930a}" = {
                  installation_mode = "force_installed";
                  install_url = "https://addons.mozilla.org/firefox/downloads/file/4064884/clearurls-1.26.1.xpi";
                };
                #Dark Reader 
                "addon@darkreader.org" = {
                  installation_mode = "force_installed";
                  install_url = "https://addons.mozilla.org/firefox/downloads/file/4223104/darkreader-4.9.76.xpi";
                };
                # Cookie AutoDelete
                "CookieAutoDelete@kennydo.com" = {
                  installation_mode = "force_installed";
                  install_url = "https://addons.mozilla.org/firefox/downloads/file/4040738/cookie_autodelete-3.8.2.xpi";
                };
                # I don't care about cookies
                "jid1-KKzOGWgsW3Ao4Q@jetpack" = {
                  installation_mode = "force_installed";
                  install_url = "https://addons.mozilla.org/firefox/downloads/file/4202634/i_dont_care_about_cookies-3.5.0.xpi";
                };
                # Youtube Sponsor Block
                "sponsorBlocker@ajay.app" = {
                  installation_mode = "force_installed";
                  install_url = "https://addons.mozilla.org/firefox/downloads/file/4229442/sponsorblock-5.5.4.xpi";
                };
                # add extensions here...
                /*
                "" = {
                  installation_mode = "force_installed";
                  install_url = "";
                };
                */
              };
      
              /* ---- PREFERENCES ---- */
              # Set preferences shared by all profiles.
              Preferences = {
                "browser.contentblocking.category" = { Value = "strict"; Status = "locked"; };
    
                ### BOOLEANS
                "extensions.pocket.enabled" = lock-false;
                "extensions.screenshots.disabled" = lock-true;
                "privacy.donottrack.heater.enable" = lock-true;
                "browser.compactmode.show" = lock-true;
                # add global preferences here...
              };
            };
          };
    
          /* ---- PROFILES ---- */
          # Switch profiles via about:profiles page.
          # For options that are available in Home-Manager see
          # https://nix-community.github.io/home-manager/options.html#opt-programs.firefox.profiles
          profiles ={
            sunstoned = {                 # choose a profile name; directory is /home/<user>/.mozilla/firefox/profile_0
              id = 0;               # 0 is the default profile; see also option "isDefault"
              name = "sunstoned";         # name as listed in about:profiles
              isDefault = true;     # can be omitted; true if profile ID is 0
              settings = {          # specify profile-specific preferences here; check about:config for options
                "browser.newtabpage.activity-stream.feeds.section.highlights" = false;
                "browser.startup.homepage" = "https://nixos.org";
                "browser.newtabpage.pinned" = [{
                  title = "NixOS";
                  url = "https://nixos.org";
                }];
                # add preferences for profile_0 here...
              };
            };
          # add profiles here...
          };
        };
      };
    }