# Minimal home configuration containing everything that I want on all of # my machines { pkgs, config, ... }: { imports = [ ./helix.nix ./zsh.nix ]; home.packages = with pkgs; [ wget git age gnupg xh # Modern unix ripgrep # grep fd # find sd # sed dua # du bc # CLI calculator ffmpeg amfora # Gemini CLI browser trashy # Trash CLI git-annex git-remote-gcrypt # 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 = let home = config.home.homeDirectory; in { enable = true; createDirectories = true; pictures = "${home}/Annex/Pictures"; music = "${home}/Annex/Music"; }; }; # 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"; }; }