aboutsummaryrefslogtreecommitdiff
path: root/share/home/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'share/home/default.nix')
-rw-r--r--share/home/default.nix64
1 files changed, 64 insertions, 0 deletions
diff --git a/share/home/default.nix b/share/home/default.nix
new file mode 100644
index 0000000..f1ecf45
--- /dev/null
+++ b/share/home/default.nix
@@ -0,0 +1,64 @@
+# Minimal home configuration containing everything that I want on all of
+# my machines
+{ pkgs, config, ... }: {
+ imports = [ ./helix.nix ./zsh.nix ];
+
+ home.packages = with pkgs; [
+ xclip
+ wget
+ hunspell
+ hunspellDicts.en_US
+ hunspellDicts.hr_HR
+ ripgrep
+ git
+ age
+ gnupg
+ xh
+ fd
+ sd
+ bc # CLI calculator
+ ffmpeg
+ amfora # Gemini CLI browser
+ trashy # Trash CLI
+
+ # Useful nix tooling
+ nix-tree
+ ];
+
+ programs.direnv = {
+ enable = true;
+ nix-direnv.enable = true;
+ };
+
+ xdg = {
+ enable = true;
+ systemDirs.data =
+ let
+ gds = pkgs.gsettings-desktop-schemas;
+ gtk3 = pkgs.gtk3;
+ in
+ [
+ "${gds}/share/gsettings-schemas/${gds.name}"
+ "${gtk3}/share/gsettings-schemas/${gtk3.name}"
+ ];
+ userDirs = {
+ enable = true;
+ createDirectories = true;
+ };
+ };
+
+ # Lots of these are courtesy of xdg-ninja
+ # https://github.com/b3nj5m1n/xdg-ninja
+ home.sessionVariables = with config.xdg; {
+ CARGO_HOME = "${dataHome}/cargo";
+ GOPATH = "${dataHome}/go";
+ WINEPREFIX = "${dataHome}/wine";
+ XCOMPOSECACHE = "${cacheHome}/X11/xcompose";
+ GTK2_RC_FILES = "${configHome}/gtk-2.0/gtkrc";
+ NODE_REPL_HISTORY = "${dataHome}/node_repl_history";
+ NPM_CONFIG_USERCONFIG = "${configHome}/npm/npmrc";
+ # shell
+ HISTFILE = "${stateHome}/shell/history";
+ ZDOTDIR = "${configHome}/zsh";
+ };
+}