NixOS-95/Configurations/Hosts/Default/home/home.nix
gytic 6a9de226ef feat(nixos-95): extract DE themining into nixosModule
the desktop environment can be included via `self.nixosModules.nixos95`

this will expose two options (for now):
nixos95.enable -> enable the desktop environment
nixos95.wallpaper -> path to the wallpaper to use

currently the setup is closy coupled to this configuration,
which will change in the future, so it can be used with any configuration
2025-07-25 18:04:18 +02:00

114 lines
2.7 KiB
Nix

{
config,
nixDirectory,
pkgs,
...
}: let
# Import user-specific variables
userVars = import ../variables/user-vars.nix;
inherit (userVars) username gitUsername gitEmail;
in {
################################################################
# Basic Home Manager Setup
################################################################
home.username = username;
home.homeDirectory = "/home/${username}";
home.stateVersion = "25.05";
################################################################
# Module Imports
################################################################
imports = [
# All Home Manager Modules
../../../../Modules/Applications
# Desktop applications
./desktop.nix
];
################################################################
# Nyx Tools Configuration
################################################################
#imports = [
# # Nyx Tools
# # ../../../../Misc/Nyx-Tools/nyx.nix
#];
# Optional but really cool so if you wanna use it:
# https://github.com/Peritia-System/Nyx-Tools
#modules.nyx-rebuild = {
# enable = true;
# inherit username nixDirectory;
# editor = "nvim";
# formatter = "alejandra";
# enableAlias = false;
# autoPush = false;
# enableFormatting = false;
# startEditor = false;
#};
#modules.nyx-cleanup = {
# enable = true;
# inherit username nixDirectory;
# autoPush = false;
# keepGenerations = 5;
# enableAlias = false;
#};
#modules.nix-tool = {
# enable = true;
# inherit nixDirectory;
#};
################################################################
# Package Selection
################################################################
home.packages = import ./user-packages.nix {inherit pkgs;};
################################################################
# Feature Modules
################################################################
# App groups
standardApps.enable = true;
officeApps.enable = true;
# Individual applications
brave-and-extension.enable = true;
vscodium-and-extension.enable = true;
vesktop.enable = true;
krita.enable = true;
signal.enable = true;
spotify.enable = true;
obsidian.enable = true;
protonvpn.enable = true;
# Gaming:
prismlauncher.enable = true;
cliTools.enable = true;
################################################################
# Git Configuration
################################################################
programs.git = {
enable = true;
userName = gitUsername;
userEmail = gitEmail;
aliases = {
co = "checkout";
ci = "commit";
st = "status";
br = "branch";
};
};
}