me like nix
1# This is the configuration for your user 'sean'
2{ pkgs, inputs, ... }:
3
4{
5 # Import the home-manager modules you want to use
6 imports = [
7 inputs.niri-flake.homeModules.niri
8 inputs.catppuccin.homeModules.catppuccin
9 ];
10
11 # Niri window manager settings, now controlled by the imported module
12 programs.niri.enable = true;
13
14 # Catppuccin theme for Waybar
15 catppuccin.waybar = {
16 enable = true;
17 flavor = "mocha";
18 };
19
20 # All your user-specific packages
21 home.packages = with pkgs; [
22 atool
23 httpie
24 helix
25 jujutsu
26 htop
27 zellij # terminal multiplexer
28 # --- ESSENTIAL HYPRLAND ECOSYSTEM TOOLS ---
29 alacritty # Terminal emulator (popular choice, or pkgs.alacritty, pkgs.foot)
30 wofi # Application launcher (or pkgs.rofi-wayland)
31 waybar # Status bar (highly recommended)
32 mako # Notification daemon
33 swaybg # For setting wallpapers (or pkgs.hyprpaper, pkgs.swww)
34 cliphist # Clipboard history manager
35 slurp # For selecting a region for screenshots
36 grim # For taking screenshots
37 pavucontrol # GUI for PulseAudio/PipeWire volume control
38 fd
39 ripgrep
40 yazi
41
42 # --- FONTS ARE IMPORTANT ---
43 noto-fonts
44 noto-fonts-cjk-sans
45 noto-fonts-emoji
46 font-awesome # For icons in waybar, etc.
47 nerd-fonts.jetbrains-mono
48 # --- POLKIT AGENT (for 1Password GUI, etc.) ---
49 lxqt.lxqt-policykit # Lightweight polkit agent
50 ];
51
52 # Program configurations
53 programs.jujutsu = {
54 enable = true;
55 settings.user = {
56 email = "hello@seanaye.ca";
57 name = "Sean Aye";
58 };
59 };
60
61 programs.home-manager.enable = true;
62 programs.helix.enable = true;
63
64 programs.fish = {
65 enable = true;
66 interactiveShellInit = ''
67 set fish_greeting
68 '';
69 };
70
71 programs.starship = {
72 enable = true;
73 enableFishIntegration = true;
74 };
75
76 # Session variables
77 home.sessionVariables = {
78 EDITOR = "hx";
79 VISUAL = "hx";
80 SUDO_EDITOR = "hx";
81 NIXOS_OZONE_WL = "1";
82 QT_QPA_PLATFORM = "wayland;xcb";
83 QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
84 SDL_VIDEODRIVER = "wayland";
85 XDG_CURRENT_DESKTOP = "Niri";
86 XDG_SESSION_TYPE = "wayland";
87 _JAVA_AWT_WM_NONREPARENTING = "1";
88 };
89
90 # Set the state version for Home Manager
91 home.stateVersion = "25.05";
92}