nix-conf/home/jopejoe1.nix
2023-05-16 15:09:28 +02:00

207 lines
7.2 KiB
Nix

{ options, config, pkgs, ... }:
let
hcfg = config.home-manager.users.jopejoe1;
in
{
home-manager.users.jopejoe1 = {
home = {
# Basic information for home-manager
username = "jopejoe1";
homeDirectory = "/home/${hcfg.home.username}";
# Enviroment variables
sessionVariables = {
XCOMPOSECACHE = "${hcfg.xdg.cacheHome}/X11/xcompos";
XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority";
};
stateVersion = config.system.stateVersion;
};
accounts.email.accounts = {
main = {
address = "johannes@joens.email";
flavor = "gmail.com";
primary = true;
realName = "Johannes Joens";
thunderbird.enable = true;
};
};
# XDG base dirs
xdg = {
enable = true;
mime.enable = true;
cacheHome = "${hcfg.home.homeDirectory}/.cache";
configHome = "${hcfg.home.homeDirectory}/.config";
dataHome = "${hcfg.home.homeDirectory}/.local/share";
stateHome = "${hcfg.home.homeDirectory}/.local/state";
userDirs = {
enable = true;
createDirectories = false;
desktop = "${hcfg.home.homeDirectory}/Desktop";
documents = "${hcfg.home.homeDirectory}/Documents";
download = "${hcfg.home.homeDirectory}/Downloads";
music = "${hcfg.home.homeDirectory}/Music";
pictures = "${hcfg.home.homeDirectory}/Pictures";
publicShare = "${hcfg.home.homeDirectory}/Public";
templates = "${hcfg.home.homeDirectory}/Templates";
videos = "${hcfg.home.homeDirectory}/Videos";
};
};
programs = {
home-manager.enable = true;
git = {
enable = true;
package = pkgs.gitAndTools.gitFull;
userEmail = "johannes@joens.email";
userName = "jopejoe1";
};
direnv = {
enable = true;
nix-direnv.enable = true;
};
firefox = {
enable = true;
package = pkgs.wrapFirefox pkgs.firefox-devedition-unwrapped {
extraPolicies = {
AppAutoUpdate = false;
BackgroundAppUpdate = false;
CaptivePortal = false;
DefaultDownloadDirectory = "${hcfg.xdg.userDirs.download}";
DisableAppUpdate = true;
DisableFirefoxAccounts = true;
DisableFirefoxStudies = true;
DisableForgetButton = true;
DisableFormHistory = true;
DisableMasterPasswordCreation = true;
DisablePasswordReveal = true;
DisablePocket = true;
DisableSetDesktopBackground = true;
DisableSystemAddonUpdate = true;
DisableTelemetry = true;
DontCheckDefaultBrowser = true;
ExtensionUpdate = false;
HardwareAcceleration = true;
ManualAppUpdateOnly = true;
NoDefaultBookmarks = true;
OfferToSaveLogins = false;
OfferToSaveLoginsDefault = false;
PasswordManagerEnabled = false;
PrimaryPassword = false;
SearchBar = "unified";
StartDownloadsInTempDirectory = true;
EnableTrackingProtection = {
Value = true;
EmailTracking = true;
Cryptomining = true;
Fingerprinting = true;
Locked = true;
};
FirefoxHome = {
Highlights = false;
Pocket = false;
Search = true;
Snippets = false;
SponsoredPocket = false;
SponsoredTopSites = false;
TopSites = true;
Locked = true;
};
UserMessaging = {
ExtensionRecommendations = false;
SkipOnboarding = true;
};
};
};
profiles = {
default = {
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
ublock-origin
privacy-badger
bitwarden
clearurls
decentraleyes
duckduckgo-privacy-essentials
ghostery
libredirect
privacy-badger
languagetool
fastforward
return-youtube-dislikes
sponsorblock
augmented-steam
steam-database
refined-github
plasma-integration
bypass-paywalls-clean
lovely-forks
search-by-image
skip-redirect
terms-of-service-didnt-read
unpaywall
wappalyzer
wayback-machine
modrinthify
];
id = 0;
isDefault = true;
name = "default";
search = {
default = "DuckDuckGo";
force = true;
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";
params = [
{ name = "search"; value = "{searchTerms}"; }
];
}];
icon = "${hcfg.programs.firefox.profiles.default.search.engines."Nix Packages".icon}";
definedAliases = [ "@nw" ];
};
"Bing".metaData.hidden = true;
"Google".metaData.hidden = true;
"eBay".metaData.hidden = true;
"Amazon.de".metaData.hidden = true;
"Wikipedia (en)".metaData.alias = "@wiki";
};
};
settings = {
"privacy.resistFingerprinting" = true;
"privacy.trackingprotection.fingerprinting.enabled" = true;
"privacy.trackingprotection.cryptomining.enabled" = true;
"dom.event.clipboardevents.enabled" = false;
"dom.battery.enabled" = false;
"browser.safebrowsing.phishing.enabled" = false;
"browser.safebrowsing.malware.enabled" = false;
"browser.zoom.siteSpecific" = true;
"config.trim_on_minimize" = true;
"pdfjs.annotationEditorMode" = 0;
"pdfjs.annotationmode" = 2;
};
};
dev-edition-default = {
id = 1;
isDefault = false;
name = "dev-edition-default";
path = "default";
};
};
};
};
};
}