summaryrefslogtreecommitdiff
path: root/home.nix
diff options
context:
space:
mode:
authorTim Keller <tjk@tjkeller.xyz>2024-09-29 22:54:38 -0500
committerTim Keller <tjk@tjkeller.xyz>2024-09-29 22:54:38 -0500
commitf9d4d2bbd82bd66bebff85420df6653a6966ee9a (patch)
treedee057520e7c6f32234066786e447b9d05ebd17b /home.nix
downloadnixos-f9d4d2bbd82bd66bebff85420df6653a6966ee9a.tar.xz
nixos-f9d4d2bbd82bd66bebff85420df6653a6966ee9a.zip
initial commit
Diffstat (limited to 'home.nix')
-rw-r--r--home.nix95
1 files changed, 95 insertions, 0 deletions
diff --git a/home.nix b/home.nix
new file mode 100644
index 0000000..78608a9
--- /dev/null
+++ b/home.nix
@@ -0,0 +1,95 @@
+{ 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}
+ '';
+ };
+ };
+
+ programs = {
+ git = {
+ enable = true;
+ userName = "Tim Keller"; # TODO set to user description
+ userEmail = "tjk@tjkeller.xyz"; # TODO set to user email
+ };
+ firefox = {
+ 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";
+ };
+}