{ inputs, config, pkgs, ... }: { home.username = "snurm"; home.homeDirectory = "/home/snurm"; home.stateVersion = "25.11"; programs.home-manager.enable = true; home.sessionVariables = { NIXOS_OZONE_WL = "1"; SUDO_EDITOR = "nvim"; GTK_IM_MODULE = "fcitx"; QT_IM_MODULE = "fcitx"; SDL_IM_MODULE = "fcitx"; }; xdg.autostart = { enable = true; }; home.packages = with pkgs; [ hyprshutdown grim slurp ]; i18n.inputMethod = { enable = true; type = "fcitx5"; fcitx5.waylandFrontend = true; fcitx5.addons = with pkgs; [ fcitx5-mozc fcitx5-gtk ]; #fcitx5.settings.inputMethod = { # GroupOrder."0" = "Default"; # "Groups/0" = { # Name = "Default"; # "Default Layout" = "de"; # DefaultIM = "mozc"; # }; # "Groups/0/Items/0".Name = "keyboard-de"; # "Groups/0/Items/0".Layout = ""; # "Groups/0/Items/1".Name = "mozc"; # "Groups/0/Items/1".Layout = "de"; #}; #fcitx5.ignoreUserConfig = true; }; fonts.fontconfig = { enable = true; }; wayland.windowManager.hyprland = { enable = false; systemd.enable = false; #package = inputs.hyprland.packages.${nixpkgs.legacyPackages.x86_64-linux.stdenv.hostPlatform.system}.hyprland; #portalPackage = inputs.hyprland.packages.${nixpkgs.legacyPackages.x86_64-linux.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; settings = { "$mainMod" = "SUPER"; "$menu" = "wofi --show drun"; "$terminal" = "kitty"; input = { "kb_layout" = "de"; "follow_mouse" = "1"; }; monitor = [ "DP-2, highres@highrr, auto, auto" "DP-3, highres@highrr, auto-left, auto" "HDMI-A-1, highres@highrr, auto-right, auto" ]; general = { "border_size" = "2"; "gaps_in" = "5"; "gaps_out" = "5"; }; bind = [ "$mainMod, Q, exec, $terminal" "$mainMod, D, exec, $menu" "$mainMod, C, killactive" "$mainMod, F, fullscreen" "$mainMod, S, exec, grim -g \"$(slurp -d)\" - | wl-copy" "$mainMod, M, exec, hyprshutdown -t 'Shutting Down...' --post-cmd 'shutdown -P 0'" "$mainMod, H, movefocus, l" "$mainMod, L, movefocus, r" "$mainMod, K, movefocus, u" "$mainMod, J, movefocus, d" "$mainMod SHIFT, H, movewindow, l" "$mainMod SHIFT, L, movewindow, r" "$mainMod SHIFT, K, movewindow, u" "$mainMod SHIFT, J, movewindow, d" ] ++ ( builtins.concatLists (builtins.genList (i: let ws = i + 1; in [ "$mainMod, code:1${toString i}, workspace, ${toString ws}" "$mainMod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}" ] ) 10) ); bindm = [ "$mainMod, mouse:272, movewindow" "$mainMod, mouse:273, resizewindow" ]; bindl = [ ",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+" ",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" ",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" ",XF86AudioNext, exec, playerctl next" ",XF86AudioPause, exec, playerctl play-pause" ",XF86AudioPlay, exec, playerctl play-pause" ",XF86AudioPrev, exec, playerctl previous" ]; exec-once = [ "hyprpaper" ]; }; }; programs.zed-editor = { enable = true; userSettings = { features = { copilot = false; }; telemetry = { metrics = false; }; vim_mode = true; ui_font_size = 16; buffer_font_size = 16; }; }; programs.firefox = { enable = true; languagePacks = [ "en-US" "ja" ]; # TODO add extensions/settings/bookmarks }; programs.zathura = { enable = true; }; programs.btop = { enable = true; }; programs.keepassxc = { enable = true; autostart = true; }; programs.mangohud = { enable = true; enableSessionWide = true; }; programs.vesktop = { enable = true; settings = { discordBranch = "stable"; arRPC = true; minimizeToTray = true; hardwareVideoAcceleration = true; }; }; programs.anki = { enable = true; theme = "light"; addons = [ pkgs.ankiAddons.anki-connect pkgs.ankiAddons.review-heatmap pkgs.ankiAddons.adjust-sound-volume ]; }; programs.quickshell = { enable = true; systemd.enable = true; }; programs.zsh = { enable = true; shellAliases = { cl = "clear"; rb = "sudo nixos-rebuild switch --flake /etc/nixos/"; }; profileExtra = '' if uwsm check may-start && uwsm select; then exec uwsm start default fi ''; }; programs.git = { enable = true; settings.user = { name = "snurm"; email = "user@example.com"; }; }; programs.kitty = { enable = true; font = { name = "JetBrains Mono"; size = 10; }; settings = { confirm_os_window_close = 0; enable_auto_bell = false; mouse_hide_wait = "-1.0"; background_opacity = "0.5"; background_blur = 5; }; }; programs.wofi = { enable = true; }; services.playerctld = { enable = true; }; services.hyprpaper = { enable = true; settings = { splash = false; wallpaper = [ { monitor = "DP-2"; path = "${config.home.homeDirectory}/Pictures/Wallpaper/dawn.jpg"; fit_mode = "cover"; } { monitor = "DP-3"; path = "${config.home.homeDirectory}/Pictures/Wallpaper/dawn.jpg"; fit_mode = "cover"; } { monitor = "HDMI-A-1"; path = "${config.home.homeDirectory}/Pictures/Wallpaper/dawn.jpg"; fit_mode = "cover"; } ]; }; }; }