diff --git a/README.md b/README.md index 1c3dac4..72c77cf 100644 --- a/README.md +++ b/README.md @@ -36,8 +36,8 @@ - Look into this for flake templates https://nix.dev/manual/nix/2.22/command-ref/new-cli/nix3-flake-init - Look into this for headscale https://carlosvaz.com/posts/setting-up-headscale-on-nixos/ - Look into this for home assistant configuration https://nixos.wiki/wiki/Home_Assistant https://myme.no/posts/2021-11-25-nixos-home-assistant.html -- This person seams to know what they are doing with home manager https://github.com/arvigeus/nixos-config/ - https://nixos-and-flakes.thiscute.world/ +- `homeConfigurations` https://github.com/diego-vicente/dotfiles/blob/6c47284868f9e99483da34257144bd03ae5edbbe/flake.nix # Tasks: diff --git a/flake.lock b/flake.lock index b092a6d..d107388 100644 --- a/flake.lock +++ b/flake.lock @@ -20,6 +20,29 @@ "type": "github" } }, + "firefox-addons": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "dir": "pkgs/firefox-addons", + "lastModified": 1732248209, + "narHash": "sha256-Mv8k0VuGdb6YhhKt+8SIvhMdmI4xZhw/3ycSvlAq19Q=", + "owner": "rycee", + "repo": "nur-expressions", + "rev": "4a8ba00d1be3f3745428ed56efbb32155c548192", + "type": "gitlab" + }, + "original": { + "dir": "pkgs/firefox-addons", + "owner": "rycee", + "repo": "nur-expressions", + "type": "gitlab" + } + }, "flake-compat": { "locked": { "lastModified": 1696426674, @@ -52,6 +75,21 @@ } }, "flake-utils": { + "locked": { + "lastModified": 1629284811, + "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { "inputs": { "systems": "systems" }, @@ -69,7 +107,7 @@ "type": "github" } }, - "flake-utils_2": { + "flake-utils_3": { "inputs": { "systems": "systems_2" }, @@ -138,7 +176,7 @@ }, "lix-module": { "inputs": { - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "flakey-profile": "flakey-profile", "lix": "lix", "nixpkgs": [ @@ -163,7 +201,7 @@ "nix-vscode-extensions": { "inputs": { "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "nixpkgs": [ "nixpkgs" ] @@ -233,6 +271,7 @@ "root": { "inputs": { "disko": "disko", + "firefox-addons": "firefox-addons", "flake-compat": "flake-compat", "home-manager": "home-manager", "lix-module": "lix-module", diff --git a/flake.nix b/flake.nix index 4ebc7ec..6302960 100644 --- a/flake.nix +++ b/flake.nix @@ -33,10 +33,10 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - # firefox-addons = { - # url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; - # inputs.nixpkgs.follows = "nixpkgs"; - # }; + firefox-addons = { + url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; + inputs.nixpkgs.follows = "nixpkgs"; + }; # vscode extensions nix-vscode-extensions = { diff --git a/homes/leyla/firefox.nix b/homes/leyla/firefox.nix index 49796a0..f69af0e 100644 --- a/homes/leyla/firefox.nix +++ b/homes/leyla/firefox.nix @@ -1,304 +1,311 @@ { - # lib, - # osConfig, + lib, + osConfig, # buildFirefoxXpiAddon, - # pkgs, - # inputs, + pkgs, + inputs, ... }: let - # cfg = osConfig.nixos.users.leyla; + cfg = osConfig.nixos.users.leyla; in { - # programs.firefox = { - # enable = cfg.isDesktopUser; - # profiles.leyla = { + programs.firefox = { + enable = cfg.isDesktopUser; + profiles.leyla = { + settings = { + "browser.search.defaultenginename" = "Searx"; + "browser.search.order.1" = "Searx"; + }; - # settings = { - # "browser.search.defaultenginename" = "Searx"; - # "browser.search.order.1" = "Searx"; - # }; + search = { + force = true; + default = "Searx"; + engines = { + "Nix Packages" = { + urls = [ + { + template = "https://search.nixos.org/packages"; + params = [ + { + name = "type"; + value = "packages"; + } + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = ["@np"]; + }; + "NixOS Wiki" = { + urls = [{template = "https://nixos.wiki/index.php?search={searchTerms}";}]; + iconUpdateURL = "https://nixos.wiki/favicon.png"; + updateInterval = 24 * 60 * 60 * 1000; # every day + definedAliases = ["@nw"]; + }; + "Searx" = { + urls = [{template = "https://search.jan-leila.com/?q={searchTerms}";}]; + iconUpdateURL = "https://nixos.wiki/favicon.png"; + updateInterval = 24 * 60 * 60 * 1000; # every day + definedAliases = ["@searx"]; + }; + }; + }; - # search = { - # force = true; - # default = "Searx"; - # engines = { - # "Nix Packages" = { - # urls = [{ - # template = "https://search.nixos.org/packages"; - # params = [ - # { name = "type"; value = "packages"; } - # { name = "query"; value = "{searchTerms}"; } - # ]; - # }]; - # icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - # definedAliases = [ "@np" ]; - # }; - # "NixOS Wiki" = { - # urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }]; - # iconUpdateURL = "https://nixos.wiki/favicon.png"; - # updateInterval = 24 * 60 * 60 * 1000; # every day - # definedAliases = [ "@nw" ]; - # }; - # "Searx" = { - # urls = [{ template = "https://search.jan-leila.com/?q={searchTerms}"; }]; - # iconUpdateURL = "https://nixos.wiki/favicon.png"; - # updateInterval = 24 * 60 * 60 * 1000; # every day - # definedAliases = [ "@searx" ]; - # }; - # }; - # }; + extensions = with inputs.firefox-addons.packages.${pkgs.system}; [ + bitwarden + terms-of-service-didnt-read + multi-account-containers + shinigami-eyes - # extentions = with inputs.firefox-addons.packages."x86_64-linux"; [ - # bitwarden - # terms-of-service-didnt-read - # multi-account-containers - # shinigami-eyes + ublock-origin + sponsorblock + dearrow + df-youtube + return-youtube-dislikes - # ublock-origin - # sponsorblock - # dearrow - # df-youtube - # return-youtube-dislikes + privacy-badger + decentraleyes + clearurls + localcdn - # privacy-badger - # decentraleyes - # clearurls - # localcdn + snowflake - # snowflake + deutsch-de-language-pack + dictionary-german - # deutsch-de-language-pack - # dictionary-german + # ( + # buildFirefoxXpiAddon rec { + # pname = "italiano-it-language-pack"; + # version = "132.0.20241110.231641"; + # addonId = "langpack-it@firefox.mozilla.org"; + # url = "https://addons.mozilla.org/firefox/downloads/file/4392453/italiano_it_language_pack-${version}.xpi"; + # sha256 = ""; + # meta = with lib; + # { + # description = "Firefox Language Pack for Italiano (it) – Italian"; + # license = licenses.mpl20; + # mozPermissions = []; + # platforms = platforms.all; + # }; + # } + # ) + # ( + # buildFirefoxXpiAddon rec { + # pname = "dizionario-italiano"; + # version = "5.1"; + # addonId = "it-IT@dictionaries.addons.mozilla.org"; + # url = "https://addons.mozilla.org/firefox/downloads/file/1163874/dizionario_italiano-${version}.xpi"; + # sha256 = ""; + # meta = with lib; + # { + # description = "Add support for Italian to spellchecking"; + # license = licenses.gpl3; + # mozPermissions = []; + # platforms = platforms.all; + # }; + # } + # ) + ]; - # # ( - # # buildFirefoxXpiAddon rec { - # # pname = "italiano-it-language-pack"; - # # version = "132.0.20241110.231641"; - # # addonId = "langpack-it@firefox.mozilla.org"; - # # url = "https://addons.mozilla.org/firefox/downloads/file/4392453/italiano_it_language_pack-${version}.xpi"; - # # sha256 = ""; - # # meta = with lib; - # # { - # # description = "Firefox Language Pack for Italiano (it) – Italian"; - # # license = licenses.mpl20; - # # mozPermissions = []; - # # platforms = platforms.all; - # # }; - # # } - # # ) - # # ( - # # buildFirefoxXpiAddon rec { - # # pname = "dizionario-italiano"; - # # version = "5.1"; - # # addonId = "it-IT@dictionaries.addons.mozilla.org"; - # # url = "https://addons.mozilla.org/firefox/downloads/file/1163874/dizionario_italiano-${version}.xpi"; - # # sha256 = ""; - # # meta = with lib; - # # { - # # description = "Add support for Italian to spellchecking"; - # # license = licenses.gpl3; - # # mozPermissions = []; - # # platforms = platforms.all; - # # }; - # # } - # # ) - # ]; + settings = { + # Disable irritating first-run stuff + "browser.disableResetPrompt" = true; + "browser.download.panel.shown" = true; + "browser.feeds.showFirstRunUI" = false; + "browser.messaging-system.whatsNewPanel.enabled" = false; + "browser.rights.3.shown" = true; + "browser.shell.checkDefaultBrowser" = false; + "browser.shell.defaultBrowserCheckCount" = 1; + "browser.startup.homepage_override.mstone" = "ignore"; + "browser.uitour.enabled" = false; + "startup.homepage_override_url" = ""; + "trailhead.firstrun.didSeeAboutWelcome" = true; + "browser.bookmarks.restore_default_bookmarks" = false; + "browser.bookmarks.addedImportButton" = true; - # settings = { - # # Disable irritating first-run stuff - # "browser.disableResetPrompt" = true; - # "browser.download.panel.shown" = true; - # "browser.feeds.showFirstRunUI" = false; - # "browser.messaging-system.whatsNewPanel.enabled" = false; - # "browser.rights.3.shown" = true; - # "browser.shell.checkDefaultBrowser" = false; - # "browser.shell.defaultBrowserCheckCount" = 1; - # "browser.startup.homepage_override.mstone" = "ignore"; - # "browser.uitour.enabled" = false; - # "startup.homepage_override_url" = ""; - # "trailhead.firstrun.didSeeAboutWelcome" = true; - # "browser.bookmarks.restore_default_bookmarks" = false; - # "browser.bookmarks.addedImportButton" = true; + # Usage Experiance + "browser.startup.homepage" = "about:home"; + "browser.download.useDownloadDir" = false; + "browser.uiCustomization.state" = builtins.toJSON { + "currentVersion" = 20; + "newElementCount" = 6; + "dirtyAreaCache" = [ + "nav-bar" + "PersonalToolbar" + "toolbar-menubar" + "TabsToolbar" + "unified-extensions-area" + "vertical-tabs" + ]; + "placements" = { + "widget-overflow-fixed-list" = []; + "unified-extensions-area" = [ + "ublock0_raymondhill_net-browser-action" + "sponsorblocker_ajay_app-browser-action" + "dearrow_ajay_app-browser-action" + "privacy_privacy_com-browser-action" + "addon_simplelogin-browser-action" + ]; + "nav-bar" = [ + "back-button" + "forward-button" + "stop-reload-button" + "urlbar-container" + "downloads-button" + "unified-extensions-button" + "reset-pbm-toolbar-button" + ]; + "toolbar-menubar" = [ + "menubar-items" + ]; + "TabsToolbar" = [ + "firefox-view-button" + "tabbrowser-tabs" + "new-tab-button" + "alltabs-button" + ]; + "vertical-tabs" = []; + "PersonalToolbar" = [ + "import-button" + "personal-bookmarks" + ]; + }; + "seen" = [ + "save-to-pocket-button" + "developer-button" + "privacy_privacy_com-browser-action" + "sponsorblocker_ajay_app-browser-action" + "ublock0_raymondhill_net-browser-action" + "addon_simplelogin-browser-action" + "dearrow_ajay_app-browser-action" + ]; + }; + "browser.newtabpage.activity-stream.feeds.topsites" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false; + "browser.newtabpage.blocked" = lib.genAttrs [ + # Facebook + "4gPpjkxgZzXPVtuEoAL9Ig==" + # Reddit + "gLv0ja2RYVgxKdp0I5qwvA==" + # Amazon + "K00ILysCaEq8+bEqV/3nuw==" + # Twitter + "T9nJot5PurhJSy8n038xGA==" + ] (_: 1); + "signon.rememberSignons" = false; + "identity.fxaccounts.enabled" = false; - # # Usage Experiance - # "browser.startup.homepage" = "about:home"; - # "browser.download.useDownloadDir" = false; - # "browser.uiCustomization.state" = builtins.toJSON { - # "currentVersion" = 20; - # "newElementCount" = 6; - # "dirtyAreaCache" = [ - # "nav-bar" - # "PersonalToolbar" - # "toolbar-menubar" - # "TabsToolbar" - # "unified-extensions-area" - # "vertical-tabs" - # ]; - # "placements" = { - # "widget-overflow-fixed-list" = []; - # "unified-extensions-area"= [ - # "ublock0_raymondhill_net-browser-action" - # "sponsorblocker_ajay_app-browser-action" - # "dearrow_ajay_app-browser-action" - # "privacy_privacy_com-browser-action" - # "addon_simplelogin-browser-action" - # ]; - # "nav-bar" = [ - # "back-button" - # "forward-button" - # "stop-reload-button" - # "urlbar-container" - # "downloads-button" - # "unified-extensions-button" - # "reset-pbm-toolbar-button" - # ]; - # "toolbar-menubar" = [ - # "menubar-items" - # ]; - # "TabsToolbar" = [ - # "firefox-view-button" - # "tabbrowser-tabs" - # "new-tab-button" - # "alltabs-button" - # ]; - # "vertical-tabs" = []; - # "PersonalToolbar" = [ - # "import-button" - # "personal-bookmarks" - # ]; - # }; - # "seen" = [ - # "save-to-pocket-button" - # "developer-button" - # "privacy_privacy_com-browser-action" - # "sponsorblocker_ajay_app-browser-action" - # "ublock0_raymondhill_net-browser-action" - # "addon_simplelogin-browser-action" - # "dearrow_ajay_app-browser-action" - # ]; - # }; - # "browser.newtabpage.activity-stream.feeds.topsites" = false; - # "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; - # "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false; - # "browser.newtabpage.blocked" = lib.genAttrs [ - # # Facebook - # "4gPpjkxgZzXPVtuEoAL9Ig==" - # # Reddit - # "gLv0ja2RYVgxKdp0I5qwvA==" - # # Amazon - # "K00ILysCaEq8+bEqV/3nuw==" - # # Twitter - # "T9nJot5PurhJSy8n038xGA==" - # ] (_: 1); - # "signon.rememberSignons" = false; - # "identity.fxaccounts.enabled" = false; + # Security + "privacy.trackingprotection.enabled" = true; + "dom.security.https_only_mode" = true; - # # Security - # "privacy.trackingprotection.enabled" = true; - # "dom.security.https_only_mode" = true; + # Disable telemetry + "app.shield.optoutstudies.enabled" = false; + "browser.discovery.enabled" = false; + "browser.newtabpage.activity-stream.feeds.telemetry" = false; + "browser.newtabpage.activity-stream.telemetry" = false; + "browser.ping-centre.telemetry" = false; + "datareporting.healthreport.service.enabled" = false; + "datareporting.healthreport.uploadEnabled" = false; + "datareporting.policy.dataSubmissionEnabled" = false; + "datareporting.sessions.current.clean" = true; + "devtools.onboarding.telemetry.logged" = false; + "toolkit.telemetry.archive.enabled" = false; + "toolkit.telemetry.bhrPing.enabled" = false; + "toolkit.telemetry.enabled" = false; + "toolkit.telemetry.firstShutdownPing.enabled" = false; + "toolkit.telemetry.hybridContent.enabled" = false; + "toolkit.telemetry.newProfilePing.enabled" = false; + "toolkit.telemetry.prompted" = 2; + "toolkit.telemetry.rejected" = true; + "toolkit.telemetry.reportingpolicy.firstRun" = false; + "toolkit.telemetry.server" = ""; + "toolkit.telemetry.shutdownPingSender.enabled" = false; + "toolkit.telemetry.unified" = false; + "toolkit.telemetry.unifiedIsOptIn" = false; + "toolkit.telemetry.updatePing.enabled" = false; + }; - # # Disable telemetry - # "app.shield.optoutstudies.enabled" = false; - # "browser.discovery.enabled" = false; - # "browser.newtabpage.activity-stream.feeds.telemetry" = false; - # "browser.newtabpage.activity-stream.telemetry" = false; - # "browser.ping-centre.telemetry" = false; - # "datareporting.healthreport.service.enabled" = false; - # "datareporting.healthreport.uploadEnabled" = false; - # "datareporting.policy.dataSubmissionEnabled" = false; - # "datareporting.sessions.current.clean" = true; - # "devtools.onboarding.telemetry.logged" = false; - # "toolkit.telemetry.archive.enabled" = false; - # "toolkit.telemetry.bhrPing.enabled" = false; - # "toolkit.telemetry.enabled" = false; - # "toolkit.telemetry.firstShutdownPing.enabled" = false; - # "toolkit.telemetry.hybridContent.enabled" = false; - # "toolkit.telemetry.newProfilePing.enabled" = false; - # "toolkit.telemetry.prompted" = 2; - # "toolkit.telemetry.rejected" = true; - # "toolkit.telemetry.reportingpolicy.firstRun" = false; - # "toolkit.telemetry.server" = ""; - # "toolkit.telemetry.shutdownPingSender.enabled" = false; - # "toolkit.telemetry.unified" = false; - # "toolkit.telemetry.unifiedIsOptIn" = false; - # "toolkit.telemetry.updatePing.enabled" = false; - # }; - - # bookmarks = [ - # { - # name = "Media"; - # url = "https://jellyfin.jan-leila.com/"; - # # url = "https://media.jan-leila.com/"; - # keyword = ""; - # tags = [""]; - # } - # { - # name = "Drive"; - # url = "https://drive.jan-leila.com/"; - # keyword = ""; - # tags = [""]; - # } - # { - # name = "Git"; - # url = "https://git.jan-leila.com/"; - # keyword = ""; - # tags = [""]; - # } - # { - # name = "Home Automation"; - # url = "https://home-assistant.jan-leila.com/"; - # keyword = ""; - # tags = [""]; - # } - # { - # name = "Mail"; - # url = "https://mail.protonmail.com"; - # keyword = ""; - # tags = [""]; - # } - # { - # name = "Open Street Map"; - # url = "https://www.openstreetmap.org/"; - # keyword = ""; - # tags = [""]; - # } - # { - # name = "Password Manager"; - # url = "https://vault.bitwarden.com/"; - # keyword = ""; - # tags = [""]; - # } - # { - # name = "Mastodon"; - # url = "https://mspsocial.net"; - # keyword = ""; - # tags = [""]; - # } - # { - # name = "Linked In"; - # url = "https://www.linkedin.com/"; - # keyword = ""; - # tags = [""]; - # } - # { - # name = "Job Search"; - # url = "https://www.jobsinnetwork.com/?state=cleaned_history&language%5B%5D=en&query=react&locations.countryCode%5B%5D=IT&locations.countryCode%5B%5D=DE&locations.countryCode%5B%5D=NL&experience%5B%5D=medior&experience%5B%5D=junior&page=1"; - # keyword = ""; - # tags = [""]; - # } - # { - # name = "React Docs"; - # url = "https://react.dev/"; - # keyword = ""; - # tags = [""]; - # } - # # Template - # # { - # # name = ""; - # # url = ""; - # # keyword = ""; - # # tags = [""]; - # # } - # ]; - # }; - # }; + bookmarks = [ + { + name = "Media"; + url = "https://jellyfin.jan-leila.com/"; + # url = "https://media.jan-leila.com/"; + keyword = ""; + tags = [""]; + } + { + name = "Drive"; + url = "https://drive.jan-leila.com/"; + keyword = ""; + tags = [""]; + } + { + name = "Git"; + url = "https://git.jan-leila.com/"; + keyword = ""; + tags = [""]; + } + { + name = "Home Automation"; + url = "https://home-assistant.jan-leila.com/"; + keyword = ""; + tags = [""]; + } + { + name = "Mail"; + url = "https://mail.protonmail.com"; + keyword = ""; + tags = [""]; + } + { + name = "Open Street Map"; + url = "https://www.openstreetmap.org/"; + keyword = ""; + tags = [""]; + } + { + name = "Password Manager"; + url = "https://vault.bitwarden.com/"; + keyword = ""; + tags = [""]; + } + { + name = "Mastodon"; + url = "https://mspsocial.net"; + keyword = ""; + tags = [""]; + } + { + name = "Linked In"; + url = "https://www.linkedin.com/"; + keyword = ""; + tags = [""]; + } + { + name = "Job Search"; + url = "https://www.jobsinnetwork.com/?state=cleaned_history&language%5B%5D=en&query=react&locations.countryCode%5B%5D=IT&locations.countryCode%5B%5D=DE&locations.countryCode%5B%5D=NL&experience%5B%5D=medior&experience%5B%5D=junior&page=1"; + keyword = ""; + tags = [""]; + } + { + name = "React Docs"; + url = "https://react.dev/"; + keyword = ""; + tags = [""]; + } + # Template + # { + # name = ""; + # url = ""; + # keyword = ""; + # tags = [""]; + # } + ]; + }; + }; } diff --git a/homes/leyla/packages.nix b/homes/leyla/packages.nix index 8aa3a72..bfa9f18 100644 --- a/homes/leyla/packages.nix +++ b/homes/leyla/packages.nix @@ -28,7 +28,6 @@ in { #foss platforms signal-desktop bitwarden - firefox ungoogled-chromium libreoffice inkscape