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.catppuccin.homeModules.catppuccin
8 inputs.niri.homeModules.niri
9 ];
10
11 # Niri window manager settings, now controlled by the imported module
12 programs.niri = {
13 enable = true;
14 settings = {
15 binds = {
16 "Mod+D".action.spawn = "wofi";
17 };
18 spawn-at-startup = [
19 { command = ["mako"]; }
20 { command = ["waybar"]; }
21 { command = ["/usr/bin/lxqt-policykit-agent"]; }
22 { command = ["wl-paste --watch cliphist store"]; }
23 ];
24 outputs = {
25 "DP-1" = {
26 scale = 2.0;
27 };
28 };
29 };
30 };
31
32 programs.waybar.enable = true;
33
34 # Catppuccin theme for Waybar
35 catppuccin.waybar = {
36 enable = true;
37 flavor = "mocha";
38 };
39
40 # All your user-specific packages
41 home.packages = with pkgs; [
42 atool
43 httpie
44 helix
45 jujutsu
46 htop
47 zellij # terminal multiplexer
48 # --- ESSENTIAL HYPRLAND ECOSYSTEM TOOLS ---
49 alacritty # Terminal emulator (popular choice, or pkgs.alacritty, pkgs.foot)
50 wofi # Application launcher (or pkgs.rofi-wayland)
51 waybar # Status bar (highly recommended)
52 mako # Notification daemon
53 swaybg # For setting wallpapers (or pkgs.hyprpaper, pkgs.swww)
54 cliphist # Clipboard history manager
55 slurp # For selecting a region for screenshots
56 grim # For taking screenshots
57 pavucontrol # GUI for PulseAudio/PipeWire volume control
58 fd
59 ripgrep
60 yazi
61
62 # --- FONTS ARE IMPORTANT ---
63 noto-fonts
64 noto-fonts-cjk-sans
65 noto-fonts-emoji
66 font-awesome # For icons in waybar, etc.
67 nerd-fonts.jetbrains-mono
68 # --- POLKIT AGENT (for 1Password GUI, etc.) ---
69 lxqt.lxqt-policykit # Lightweight polkit agent
70 ];
71
72 # Program configurations
73 programs.jujutsu = {
74 enable = true;
75 settings.user = {
76 email = "hello@seanaye.ca";
77 name = "Sean Aye";
78 };
79 };
80
81 programs.home-manager.enable = true;
82 programs.helix.enable = true;
83
84 programs.fish = {
85 enable = true;
86 interactiveShellInit = ''
87 set fish_greeting
88 '';
89 };
90
91 programs.starship = {
92 enable = true;
93 enableFishIntegration = true;
94 };
95
96 # Session variables
97 home.sessionVariables = {
98 EDITOR = "hx";
99 VISUAL = "hx";
100 SUDO_EDITOR = "hx";
101 NIXOS_OZONE_WL = "1";
102 QT_QPA_PLATFORM = "wayland;xcb";
103 QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
104 SDL_VIDEODRIVER = "wayland";
105 XDG_CURRENT_DESKTOP = "Niri";
106 XDG_SESSION_TYPE = "wayland";
107 _JAVA_AWT_WM_NONREPARENTING = "1";
108 };
109
110 # Set the state version for Home Manager
111 home.stateVersion = "25.05";
112}