# 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 git-annex # tools for dealing with all sorts archives atool unzip gnutar # 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"; }; }