{ const, username, homeDir, util, style, pkgs, setting, key, ... } @args: let foot = import ./module/foot/Init.nix args; mako = import ./module/mako/Init.nix args; editorconfig = import ./module/editorconfig/Init.nix args; btop = import ./module/top/btop/Init.nix args; htop = import ./module/top/htop/Init.nix args; in { home-manager.backupFileExtension = "old"; home-manager.users.${username} = { programs.home-manager.enable = true; home.username = username; home.homeDirectory = homeDir; home.stateVersion = const.stateVersion; home.file = { ".config/btop/btop.conf".text = btop.config; ".config/htop/htoprc".text = htop.config; ".config/mako/config".text = mako.config; ".config/foot/foot.ini".text = foot.config; ".editorconfig".text = editorconfig.config; ".parallel/will-cite".text = ""; "media/template".source = ./module/template; }; # Directories. xdg.userDirs = { enable = true; createDirectories = true; desktop = "${homeDir}/"; documents = "${homeDir}/document/"; download = "${homeDir}/download/"; music = "${homeDir}/media/music/"; pictures = "${homeDir}/media/picture/"; publicShare = "${homeDir}/media/share/"; templates = "${homeDir}/media/template/"; videos = "${homeDir}/media/video/"; extraConfig = { XDG_TMP_DIR = "${homeDir}/tmp/"; }; }; }; }