{ config, lib, pkgs, ... }: { home = { username = "timmy"; homeDirectory = "/home/timmy"; stateVersion = "24.05"; activation = { # TODO TODO #cloneRepos = lib.hm.dag.entryAfter ["writeBoundary" "installPackages"] ''${builtins.readFile ./home-config/activate-scripts/clone-repos.sh}''; cloneRepos = lib.hm.dag.entryAfter ["writeBoundary"] '' export PATH="${config.home.path}/bin:$PATH" ${builtins.readFile ./home-config/activation-scripts/clone-repos.sh} ''; linkZshProfile = lib.hm.dag.entryAfter ["writeBoundary"] '' run ln -sf $VERBOSE_ARG $HOME/.config/zsh/zprofile $HOME/.zprofile ''; cleanupHome = lib.hm.dag.entryAfter ["writeBoundary"] '' run rm -f $VERBOSE_ARG $HOME/{.zcompdump,.zshrc,.zsh_history,.bash_history} ''; mimewiz = lib.hm.dag.entryAfter ["writeBoundary"] '' export PATH="$HOME/.local/bin/misc:$PATH" run mimewiz # already verbose ''; }; }; programs = { git = { enable = true; userName = "Tim Keller"; # TODO set to user description userEmail = "tjk@tjkeller.xyz"; # TODO set to user email }; firefox = { # TODO see if there is way to login to moz account in profile enable = true; profiles = let search = { engines = { "Timmy Search" = { urls = [{ template = "https://search.tjkeller.xyz/search?q={searchTerms}"; }]; # Don't know how to do w/ POST but I prefer GET anyways iconURI = "https://search.tjkeller.xyz/static/themes/simple/img/favicon.svg"; # TODO doesn't seem to work }; }; default = "Timmy Search"; privateDefault = "Timmy Search"; }; userChrome = builtins.readFile ./home-config/firefox/userChrome.css; settings = { toolkit.legacyUserProfileCustomizations.stylesheets = true; browser.compactmode.show = true; browser.uidensity = 1; # Compact browser.download.dir = /home/timmy/dls; # FF will create this dir if it doesn't exist browser.aboutConfig.showWarning = false; app.normandy.first_run = false; browser.uiCustomization.state = builtins.readFile ./home-config/firefox/uiCustomization.json; # Toolbar etc. #identity.fxaccounts.account.device.name = "timmy’s Firefox on nixos"; # HOSTNAME }; in { Personal = { id = 0; isDefault = true; #settings = {}; inherit search; inherit userChrome; inherit settings; }; Work = { id = 1; inherit search; }; }; }; }; gtk = { enable = true; theme = { package = pkgs.cinnamon.mint-themes; name = "Mint-Y-Dark-Aqua"; }; iconTheme = { package = pkgs.cinnamon.mint-y-icons; name = "Mint-Y-Aqua"; }; cursorTheme = { name = "Adwaita"; }; gtk3.bookmarks = [ "file:///home/timmy/dls Downloads" "file:///home/timmy/docs Documents" "file:///home/timmy/docs/src/sites sites" "file:///home/timmy/docs/src/scripts scripts" "file:///home/timmy/docs/src/programs programs" ]; gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; }; qt = { enable = true; platformTheme.name = "gtk3"; }; }