nix-dotfiles/hmModules/automatic/default.nix

47 lines
1.2 KiB
Nix

{ config, lib, ... }:
{
options = {
extraPkgs = lib.mkOption { default = []; };
nvidia.enable = lib.mkEnableOption "Enables nvidia requirements";
defaultApps = {
terminal = lib.mkOption { default = ""; };
browser = lib.mkOption { default = ""; };
};
};
config = {
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
nixpkgs.config.allowUnfree = true;
home.stateVersion = "23.05";
home = {
username = "pan";
homeDirectory = "/home/pan";
packages = config.extraPkgs;
};
home.sessionVariables = {
GRADLE_USER_HOME = "${config.xdg.dataHome}/gradle";
CUDA_CACHE_PATH = "${config.xdg.cacheHome}/nv";
};
xdg = {
enable = true;
mimeApps.enable = true;
userDirs = let
home = config.home.homeDirectory;
in {
enable = true;
documents = "${home}/dox";
publicShare = "${home}/dox/public";
templates = "${home}/dox/templates";
music = "${home}/med/mus";
pictures = "${home}/med/pix";
videos = "${home}/med/vid";
desktop = "${home}/dwn";
download = "${home}/dwn";
};
};
};
}