It’s not about the destination, it’s about the journey.

  • HouseWolf@lemm.ee
    link
    fedilink
    English
    arrow-up
    17
    ·
    7 months ago

    I might just be basic but the only annoying part of reinstalling for me is setting up my browser again.

      • HouseWolf@lemm.ee
        link
        fedilink
        English
        arrow-up
        10
        arrow-down
        1
        ·
        7 months ago

        I’ve used Firefox for over a decade but still wouldn’t trust them to keep all my account info on their servers, Especially not nowadays.

        I already started using KeypassXC to locally store my passwords, just importing bookmarks and add-ons I’ve left to do.

        • otacon239@feddit.de
          link
          fedilink
          arrow-up
          8
          ·
          edit-2
          7 months ago

          I only use Sync for extensions, history and bookmarks. I use an alternative pw manager for the same reason.

        • JovialSodium@lemmy.sdf.org
          link
          fedilink
          arrow-up
          2
          ·
          7 months ago

          I use file syncing (Syncthing) and symlinks to keep configs for some apps synced between devices. I don’t for Firefox, but it might work.

          • HouseWolf@lemm.ee
            link
            fedilink
            English
            arrow-up
            2
            ·
            7 months ago

            I’m still a newbie Linux user so haven’t fully delved into Symlinks…besides bricking a VM trying it once when following a guide.

            Can I for instance link a folder where emulators or offline games store save data on my main SSD and have it automatically copied to a folder on my large HDD?

            • JovialSodium@lemmy.sdf.org
              link
              fedilink
              arrow-up
              6
              ·
              edit-2
              7 months ago

              It doesn’t copy data, no. Symlink is short for symbolic link. So it’s a pointer to another location. But it might be useful for you. Taking a guess at your goal, here’s a relevant example.

              Say you moved all of your emulation stuff stored under /media/largehdd/retroarch. You could then symlink that directory to ~/.config/retroarch like so:

              ln -s /media/largehdd/retroarch ~/.config/retroarch

              That data is still stored on the large drive but will now also show under that symlinked directory.

            • amotio@lemmy.world
              link
              fedilink
              arrow-up
              3
              ·
              edit-2
              7 months ago

              Yes you can, although this might be better done with rsync - and periodically runnind the syncing command.

              But syncthing does basically the same thing plus you can sync between multiple devices on the same network.

              I sync my laptop config with work pc this way.

              Edit: typos, damn mobile

          • maiskanzler@feddit.de
            link
            fedilink
            arrow-up
            2
            ·
            7 months ago

            Exactly. I’ve had 0 issues with it. Sadly they stopped development of their own password manager, so now I am using Bitwaren+Vaultwarden. The UI is better, but the app still feels cumbersome and slow, just like Mozilla’s experiment. For some reason Bitwarden is also really inconsistent & slow in when it shows the Autofill Popup on my keyboard.

            • Damage@slrpnk.net
              link
              fedilink
              arrow-up
              2
              ·
              7 months ago

              I didn’t know they tried making their own password manager. I know that on my phone with Gboard I sometimes get an “unlock with Firefox” button in apps’ login screens…

    • sunstoned@lemmus.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      7 months ago

      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:
                  "[email protected]" = {
                    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 
                  "[email protected]" = {
                    installation_mode = "force_installed";
                    install_url = "https://addons.mozilla.org/firefox/downloads/file/4223104/darkreader-4.9.76.xpi";
                  };
                  # Cookie AutoDelete
                  "[email protected]" = {
                    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
                  "[email protected]" = {
                    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...
            };
          };
        };
      }