1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
{ 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;
arkenfox = {
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;
arkenfox = {
enable = true;
enableAllSections = true;
"0100".enable = false;
"0100"."0102"."browser.startup.page".value = 3; # 0=blank, 1=home, 2=last visited page, 3=resume previous session
"0100"."0103"."browser.startup.homepage".enable = false;
"0100"."0104"."browser.newtabpage.enabled".enable = false;
};
settings = {
# checkdefaultbrowser
"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; # arkenfox does
"app.normandy.first_run" = false;
"browser.uiCustomization.state" = builtins.readFile ./home-config/firefox/uiCustomization.json; # Toolbar etc.
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
"browser.newtabpage.activity-stream.feeds.topsites" = false;
"general.smoothScroll" = false;
"devtools.toolbox.host" = "window";
#identity.fxaccounts.account.device.name = "timmy’s Firefox on nixos"; # HOSTNAME
#"extensions.webextensions.uuids" = ''{"formautofill@mozilla.org":"4414011f-06b6-4e01-b10f-997a0fcc89b1","pictureinpicture@mozilla.org":"24839249-94cf-4a8b-b324-c41db09783a6","screenshots@mozilla.org":"a81bdd73-04c1-42fa-8975-2b7b42539028","webcompat-reporter@mozilla.org":"1c0ba4e0-70db-4418-a5af-84eb2a7ad4e1","webcompat@mozilla.org":"ee04b43a-e8b1-4f84-97a3-17c5fa0c220f","default-theme@mozilla.org":"dd287fab-7187-46d2-8b89-0f76178ed2d0","addons-search-detection@mozilla.com":"224ac742-6980-4cc3-a4d0-bb1e7b9e8618","deArrow@ajay.app":"26301437-8ae7-480a-9f84-c7d246a332c2","{446900e4-71c2-419f-a6a7-df9c091e268b}":"2f0cea3f-7b0f-48ab-8dd1-43515fbcd4b9","{e6e36c9a-8323-446c-b720-a176017e38ff}":"614d46fd-2d27-45fe-bd3f-5a6bd2ef3b10","sponsorBlocker@ajay.app":"cbd0ed92-f929-4a73-89ea-604ccb97af57","uBlock0@raymondhill.net":"347c9b9e-b661-45a3-9468-0ff158a9de9b","idcac-pub@guus.ninja":"ca41385f-0f02-406a-86ae-3ee9e02d8847","addon@darkreader.org":"ce0ea7c2-d50e-4d39-a7c2-35c4f6ed0ece","{74145f27-f039-47ce-a470-a662b129930a}":"244ddd6e-365b-448b-9fa6-4f8838a11862","{762f9885-5a13-4abd-9c77-433dcd38b8fd}":"ad0bca48-2e63-4377-9124-b0bda07afb7c","keepassxc-browser@keepassxc.org":"480c9bd0-c6c6-4d97-a4da-1f70117fabf9","jid1-BoFifL9Vbdl2zQ@jetpack":"3f59e181-86e9-428d-88b0-c740d1429d17","addon@fastforward.team":"445791d1-a3d7-4b1e-b860-910ef1db8c5e","jid1-TSgSxBhncsPBWQ@jetpack":"fef86ba1-cff1-4835-ba25-6cad0f0958fd","{aecec67f-0d10-4fa7-b7c7-609a2db280cf}":"daf85f14-3e3e-4b91-af2b-03b1aa137362"}'';
};
in {
Personal = {
id = 0;
isDefault = true;
inherit search;
inherit userChrome;
inherit settings;
};
Work = {
id = 1;
inherit search;
};
Test = {
id = 2;
inherit search;
inherit arkenfox;
inherit userChrome;
inherit settings;
};
};
};
};
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";
};
}
|