managed firefox though home manager

This commit is contained in:
Leyla Becker 2024-11-22 01:06:02 -06:00
parent bf8d87600d
commit 7d71802ba1
5 changed files with 340 additions and 295 deletions

View file

@ -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:

View file

@ -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",

View file

@ -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 = {

View file

@ -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;
# # };
# # }
# # )
# ];
# 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;
# # 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;
# };
# bookmarks = [
# (
# 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;
# {
# name = "Media";
# url = "https://jellyfin.jan-leila.com/";
# # url = "https://media.jan-leila.com/";
# 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;
# 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;
# 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 = [""];
# }
# {
# 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 = [""];
# # }
# ];
# };
# };
];
};
};
}

View file

@ -28,7 +28,6 @@ in {
#foss platforms
signal-desktop
bitwarden
firefox
ungoogled-chromium
libreoffice
inkscape