101 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # ./modules/users/psljr/home.nix
 | |
| # Configure the home environment for user psljr
 | |
| 
 | |
| { config, pkgs, ... }:
 | |
| 
 | |
| {
 | |
|   imports = [
 | |
|     ./fish.nix
 | |
|     ./git.nix
 | |
|     ./hyprland.nix
 | |
|     ./hyprlock.nix
 | |
|     ./kitty.nix
 | |
|     ./rofi.nix
 | |
|     ./waybar.nix
 | |
|   ];
 | |
|   
 | |
|   # Configure users with home-manager
 | |
|   home-manager.users.psljr = { pkgs, ... }: {
 | |
|     # Declare home state version. This should match the version of the NixOS configuration, and should not change
 | |
|     home.stateVersion = "25.05";
 | |
| 
 | |
|     # Allow unfree packages
 | |
|     nixpkgs.config.allowUnfree = true;
 | |
| 
 | |
|     # Accept the EULA for Android Studio
 | |
|     nixpkgs.config.android_sdk.accept_license = true;
 | |
| 
 | |
|     # Define session variables for terminal use
 | |
|     home.sessionVariables = {
 | |
|       NIX="/etc/nixos";
 | |
|       NIX_MODS="/etc/nixos/modules";
 | |
|       NIX_USERS="/etc/nixos/modules/users";
 | |
|     };
 | |
| 
 | |
|     # Allow home-manager to manage fonts
 | |
|     fonts.fontconfig.enable = true;
 | |
|     
 | |
|     # Declare packages to be installed on the user profile
 | |
|     home.packages = with pkgs; [
 | |
|       deluge
 | |
|       discord
 | |
|       chromium
 | |
|       font-awesome
 | |
|       gimp
 | |
|       gparted
 | |
|       helix
 | |
|       htop
 | |
|       inkscape
 | |
|       jetbrains-mono
 | |
|       jetbrains.webstorm
 | |
|       kitty
 | |
|       nerd-fonts.space-mono
 | |
|       nodejs_22
 | |
|       signal-desktop
 | |
|     ];
 | |
| 
 | |
|     # Configure services
 | |
|     services = {
 | |
|       # hyprpaper, the wallpaper manager
 | |
|       hyprpaper = {
 | |
|         enable = true;
 | |
|         settings = {
 | |
|           preload = [
 | |
|             "/etc/nixos/modules/users/psljr/theme/wallpaper.jpg"
 | |
|           ];
 | |
| 
 | |
|           wallpaper = ", /etc/nixos/modules/users/psljr/theme/wallpaper.jpg";
 | |
|         };
 | |
|       };
 | |
| 
 | |
|       # hypridle, the idle daemon
 | |
|       hypridle = {
 | |
|         enable = true;
 | |
| 
 | |
|         settings = {
 | |
|           general = {
 | |
|             lock_cmd = "pidof hyprlock || hyprlock";
 | |
|           };
 | |
| 
 | |
|           listener = [
 | |
|             {
 | |
|               on-resume = "brightnessctl -r";
 | |
|               on-timeout = "brightnessctl -s set 10";
 | |
|               timeout = 240;
 | |
|             }
 | |
|             {
 | |
|               timeout = 900;
 | |
|               on-timeout = "loginctl lock-session";
 | |
|             }
 | |
|           ];
 | |
|         };
 | |
|       };
 | |
| 
 | |
|       # hyprpolkitagent, the policykit agent
 | |
|       hyprpolkitagent = {
 | |
|         enable = true;
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| }
 |