Hope this fixes home manager

This commit is contained in:
Johannes Jöns 2023-02-24 16:24:05 +01:00
parent f5514728a9
commit 441028f65b
4 changed files with 277 additions and 271 deletions

View file

@ -10,6 +10,7 @@ in
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
imports = [ ./home.nix ];
users.users.jopejoe1 = { users.users.jopejoe1 = {
isNormalUser = true; isNormalUser = true;
description = "jopejoe1 🚫"; description = "jopejoe1 🚫";
@ -25,7 +26,5 @@ in
ark ark
]; ];
}; };
home-manager.users.jopejoe1 = import ./home.nix;
}; };
} }

View file

@ -1,244 +1,248 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let cfg = config.home-manager.users.jopejoe1;
in
{ {
home = { home-manager.users.jopejoe1 = {
# Basic information for home-manager home = {
username = "jopejoe1"; # Basic information for home-manager
homeDirectory = "/home/${config.home.username}"; username = "jopejoe1";
homeDirectory = "/home/${cfg.home.username}";
# Enviroment variables # Enviroment variables
sessionVariables = { sessionVariables = {
XCOMPOSECACHE = "${config.xdg.cacheHome}/X11/xcompos"; XCOMPOSECACHE = "${cfg.xdg.cacheHome}/X11/xcompos";
XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority"; XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority";
};
stateVersion = config.system.stateVersion;
}; };
stateVersion = config.system.stateVersion; accounts.email.accounts = {
}; main = {
address = "johannes@joens.email";
accounts.email.accounts = { flavor = "gmail.com";
main = { primary = true;
address = "johannes@joens.email"; realName = "Johannes Joens";
flavor = "gmail.com"; thunderbird.enable = true;
primary = true;
realName = "Johannes Joens";
thunderbird.enable = true;
};
};
# XDG base dirs
xdg = {
enable = true;
mime.enable = true;
cacheHome = "${config.home.homeDirectory}/.cache";
configHome = "${config.home.homeDirectory}/.config";
dataHome = "${config.home.homeDirectory}/.local/share";
stateHome = "${config.home.homeDirectory}/.local/state";
userDirs = {
enable = true;
createDirectories = false;
desktop = "${config.home.homeDirectory}/Desktop";
documents = "${config.home.homeDirectory}/Documents";
download = "${config.home.homeDirectory}/Downloads";
music = "${config.home.homeDirectory}/Music";
pictures = "${config.home.homeDirectory}/Pictures";
publicShare = "${config.home.homeDirectory}/Public";
templates = "${config.home.homeDirectory}/Templates";
videos = "${config.home.homeDirectory}/Videos";
};
};
gtk = {
enable = true;
gtk2 = {
configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
};
gtk3 = {
extraConfig = {
gtk-application-prefer-dark-theme = true;
gtk-button-images = true;
gtk-decoration-layout = "icon:minimize,maximize,close";
gtk-enable-animations = true;
gtk-menu-images = true;
gtk-modules = "colorreload-gtk-module";
gtk-primary-button-warps-slider = false;
gtk-toolbar-style = 3;
}; };
}; };
gtk4 = {
extraConfig = {
gtk-application-prefer-dark-theme = true;
gtk-decoration-layout = "icon:minimize,maximize,close";
gtk-enable-animations = true;
gtk-primary-button-warps-slider = false;
};
};
cursorTheme = {
package = pkgs.libsForQt5.breeze-icons;
name = "breeze_cursors";
size = 24;
};
font = {
package = pkgs.noto-fonts;
name = "Noto Sans";
size = 10;
};
theme = {
package = pkgs.libsForQt5.breeze-gtk;
name = "breeze-dark";
};
iconTheme = {
package = pkgs.tela-icon-theme;
name = "Tela-purple";
};
};
# Let Home Manager install and manage itself. # XDG base dirs
programs = { xdg = {
home-manager.enable = true;
git = {
enable = true; enable = true;
package = pkgs.gitAndTools.gitFull; mime.enable = true;
userEmail = "johannes@joens.email"; cacheHome = "${cfg.home.homeDirectory}/.cache";
userName = "jopejoe1"; configHome = "${cfg.home.homeDirectory}/.config";
}; dataHome = "${cfg.home.homeDirectory}/.local/share";
bash = { stateHome = "${cfg.home.homeDirectory}/.local/state";
enable = true; userDirs = {
historyFile = "${config.xdg.stateHome}/bash/history"; enable = true;
shellAliases = { createDirectories = false;
gc = "sudo nix store gc"; desktop = "${cfg.home.homeDirectory}/Desktop";
rb = "sudo git -C /etc/nixos pull && sudo nix flake update /etc/nixos/ && sudo nixos-rebuild switch && sudo git -C /etc/nixos add . && sudo git -C /etc/nixos commit -m 'Updated flake.lock' && sudo git -C /etc/nixos push"; documents = "${cfg.home.homeDirectory}/Documents";
download = "${cfg.home.homeDirectory}/Downloads";
music = "${cfg.home.homeDirectory}/Music";
pictures = "${cfg.home.homeDirectory}/Pictures";
publicShare = "${cfg.home.homeDirectory}/Public";
templates = "${cfg.home.homeDirectory}/Templates";
videos = "${cfg.home.homeDirectory}/Videos";
}; };
}; };
zsh = {
gtk = {
enable = true; enable = true;
shellAliases = config.programs.bash.shellAliases; gtk2 = {
enableAutosuggestions = true; configLocation = "${cfg.xdg.configHome}/gtk-2.0/gtkrc";
enableCompletion = true; };
enableSyntaxHighlighting = true; gtk3 = {
enableVteIntegration = true; extraConfig = {
dotDir = ".config/zsh"; gtk-application-prefer-dark-theme = true;
}; gtk-button-images = true;
fish.shellAbbrs = config.programs.bash.shellAliases; gtk-decoration-layout = "icon:minimize,maximize,close";
thunderbird = { gtk-enable-animations = true;
enable = false; gtk-menu-images = true;
profiles = { gtk-modules = "colorreload-gtk-module";
default = { gtk-primary-button-warps-slider = false;
isDefault = true; gtk-toolbar-style = 3;
}; };
}; };
gtk4 = {
extraConfig = {
gtk-application-prefer-dark-theme = true;
gtk-decoration-layout = "icon:minimize,maximize,close";
gtk-enable-animations = true;
gtk-primary-button-warps-slider = false;
};
};
cursorTheme = {
package = pkgs.libsForQt5.breeze-icons;
name = "breeze_cursors";
size = 24;
};
font = {
package = pkgs.noto-fonts;
name = "Noto Sans";
size = 10;
};
theme = {
package = pkgs.libsForQt5.breeze-gtk;
name = "breeze-dark";
};
iconTheme = {
package = pkgs.tela-icon-theme;
name = "Tela-purple";
};
}; };
firefox = {
enable = true; # Let Home Manager install and manage itself.
package = pkgs.wrapFirefox pkgs.firefox-unwrapped { programs = {
extraPolicies = { home-manager.enable = true;
AppAutoUpdate = false; git = {
BackgroundAppUpdate = false; enable = true;
DisableAppUpdate = true; package = pkgs.gitAndTools.gitFull;
CaptivePortal = false; userEmail = "johannes@joens.email";
DisableFirefoxStudies = true; userName = "jopejoe1";
DisablePocket = true; };
DisableTelemetry = true; bash = {
DisableFirefoxAccounts = true; enable = true;
DisableFormHistory = true; historyFile = "${cfg.xdg.stateHome}/bash/history";
DefaultDownloadDirectory = "${config.xdg.userDirs.download}"; shellAliases = {
DontCheckDefaultBrowser = true; gc = "sudo nix store gc";
ExtensionUpdate = false; rb = "sudo git -C /etc/nixos pull && sudo nix flake update /etc/nixos/ && sudo nixos-rebuild switch && sudo git -C /etc/nixos add . && sudo git -C /etc/nixos commit -m 'Updated flake.lock' && sudo git -C /etc/nixos push";
NoDefaultBookmarks = true; };
PasswordManagerEnabled = false; };
OfferToSaveLogins = false; zsh = {
OfferToSaveLoginsDefault = false; enable = true;
EnableTrackingProtection = { shellAliases = cfg.programs.bash.shellAliases;
Value = true; enableAutosuggestions = true;
Cryptomining = true; enableCompletion = true;
Fingerprinting = true; enableSyntaxHighlighting = true;
}; enableVteIntegration = true;
FirefoxHome = { dotDir = ".config/zsh";
Search = true; };
Pocket = false; fish.shellAbbrs = cfg.programs.bash.shellAliases;
SponsoredPocket = false; thunderbird = {
Snippets = false; enable = false;
TopSites = true; profiles = {
SponsoredTopSites = false; default = {
Highlights = false; isDefault = true;
};
UserMessaging = {
ExtensionRecommendations = false;
SkipOnboarding = true;
}; };
}; };
}; };
profiles = { firefox = {
default = { enable = true;
extensions = with pkgs.nur.repos.rycee.firefox-addons; [ package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
ublock-origin extraPolicies = {
privacy-badger AppAutoUpdate = false;
bitwarden BackgroundAppUpdate = false;
clearurls DisableAppUpdate = true;
decentraleyes CaptivePortal = false;
duckduckgo-privacy-essentials DisableFirefoxStudies = true;
ghostery DisablePocket = true;
libredirect DisableTelemetry = true;
privacy-badger DisableFirefoxAccounts = true;
languagetool DisableFormHistory = true;
fastforward DefaultDownloadDirectory = "${cfg.xdg.userDirs.download}";
return-youtube-dislikes DontCheckDefaultBrowser = true;
sponsorblock ExtensionUpdate = false;
augmented-steam NoDefaultBookmarks = true;
steam-database PasswordManagerEnabled = false;
refined-github OfferToSaveLogins = false;
plasma-integration OfferToSaveLoginsDefault = false;
#bypass-paywalls-clean EnableTrackingProtection = {
lovely-forks Value = true;
search-by-image Cryptomining = true;
skip-redirect Fingerprinting = true;
terms-of-service-didnt-read };
unpaywall FirefoxHome = {
wappalyzer Search = true;
wayback-machine Pocket = false;
modrinthify SponsoredPocket = false;
]; Snippets = false;
id = 0; TopSites = true;
isDefault = true; SponsoredTopSites = false;
name = "default"; Highlights = false;
search = { };
default = "DuckDuckGo"; UserMessaging = {
force = true; ExtensionRecommendations = false;
engines = { SkipOnboarding = true;
"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}"; }];
icon = "${config.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; profiles = {
"privacy.trackingprotection.fingerprinting.enabled" = true; default = {
"privacy.trackingprotection.cryptomining.enabled" = true; extensions = with pkgs.nur.repos.rycee.firefox-addons; [
"dom.event.clipboardevents.enabled" = false; ublock-origin
"dom.battery.enabled" = false; privacy-badger
"browser.safebrowsing.phishing.enabled" = false; bitwarden
"browser.safebrowsing.malware.enabled" = false; clearurls
"browser.zoom.siteSpecific" = true; decentraleyes
"config.trim_on_minimize" = true; duckduckgo-privacy-essentials
"pdfjs.annotationEditorMode" = 0; ghostery
"pdfjs.annotationmode" = 2; 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?search={searchTerms}"; }];
icon = "${cfg.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;
};
}; };
}; };
}; };

View file

@ -10,7 +10,6 @@ in
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
imports = [ ./home.nix ];
home-manager.users.root = import ./home.nix;
}; };
} }

View file

@ -1,58 +1,62 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let cfg = config.home-manager.users.root;
in
{ {
home = { home-manager.users.root = {
# Basic information for home-manager home = {
username = "root"; # Basic information for home-manager
homeDirectory = "/${config.home.username}"; username = "root";
homeDirectory = "/${cfg.home.username}";
# Enviroment variables # Enviroment variables
sessionVariables = { sessionVariables = {
XCOMPOSECACHE = "${config.xdg.cacheHome}/X11/xcompos"; XCOMPOSECACHE = "${cfg.xdg.cacheHome}/X11/xcompos";
XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority"; XAUTHORITY = "$XDG_RUNTIME_DIR/Xauthority";
};
stateVersion = config.system.stateVersion;
}; };
stateVersion = config.system.stateVersion; xdg = {
};
xdg = {
enable = true;
mime.enable = true;
cacheHome = "${config.home.homeDirectory}/.cache";
configHome = "${config.home.homeDirectory}/.config";
dataHome = "${config.home.homeDirectory}/.local/share";
stateHome = "${config.home.homeDirectory}/.local/state";
userDirs = {
enable = true; enable = true;
createDirectories = false; mime.enable = true;
desktop = "${config.home.homeDirectory}/Desktop"; cacheHome = "${cfg.home.homeDirectory}/.cache";
documents = "${config.home.homeDirectory}/Documents"; configHome = "${cfg.home.homeDirectory}/.config";
download = "${config.home.homeDirectory}/Downloads"; dataHome = "${cfg.home.homeDirectory}/.local/share";
music = "${config.home.homeDirectory}/Music"; stateHome = "${cfg.home.homeDirectory}/.local/state";
pictures = "${config.home.homeDirectory}/Pictures"; userDirs = {
publicShare = "${config.home.homeDirectory}/Public"; enable = true;
templates = "${config.home.homeDirectory}/Templates"; createDirectories = false;
videos = "${config.home.homeDirectory}/Videos"; desktop = "${cfg.home.homeDirectory}/Desktop";
}; documents = "${cfg.home.homeDirectory}/Documents";
}; download = "${cfg.home.homeDirectory}/Downloads";
music = "${cfg.home.homeDirectory}/Music";
programs = { pictures = "${cfg.home.homeDirectory}/Pictures";
home-manager.enable = true; publicShare = "${cfg.home.homeDirectory}/Public";
git = { templates = "${cfg.home.homeDirectory}/Templates";
enable = true; videos = "${cfg.home.homeDirectory}/Videos";
package = pkgs.gitAndTools.gitFull;
userEmail = "johannes@joens.email";
userName = "jopejoe1";
};
bash = {
enable = true;
historyFile = "${config.xdg.stateHome}/bash/history";
shellAliases = {
gc = "sudo nix store gc";
rb = "sudo nix flake update /etc/nixos/ && sudo nixos-rebuild switch";
}; };
}; };
zsh.shellAliases = config.programs.bash.shellAliases;
fish.shellAbbrs = config.programs.bash.shellAliases; programs = {
home-manager.enable = true;
git = {
enable = true;
package = pkgs.gitAndTools.gitFull;
userEmail = "johannes@joens.email";
userName = "jopejoe1";
};
bash = {
enable = true;
historyFile = "${cfg.xdg.stateHome}/bash/history";
shellAliases = {
gc = "sudo nix store gc";
rb = "sudo nix flake update /etc/nixos/ && sudo nixos-rebuild switch";
};
};
zsh.shellAliases = cfg.programs.bash.shellAliases;
fish.shellAbbrs = cfg.programs.bash.shellAliases;
};
}; };
} }