{ pkgs, ... }: { home.username = "reaper"; home.homeDirectory = "/home/reaper"; home.stateVersion = "26.11"; home.packages = with pkgs; [ oh-my-posh nerd-fonts.hack pkgs.nixfmt nixd pkgs.polkit_gnome ]; programs.git = { enable = true; settings.user.name = "ReaperOfVeriod"; settings.user.email = "oeps46@gmail.com"; }; programs.zsh = { enable = true; oh-my-zsh = { enable = true; plugins = [ "git" "sudo" ]; theme = ""; }; shellAliases = { ll = "ls -lah"; }; initContent = '' eval "$(oh-my-posh init zsh)" ''; }; # AppLauncher programs.wofi = { enable = true; settings = { show = "drun"; width = 500; height = 350; prompt = "Search applications"; allow_images = true; image_size = 24; }; }; # Terminal programs.kitty = { enable = true; settings = { font_family = "Hack Nerd Font"; font_size = 12; }; }; # Baseline user programs #firefox programs.firefox = { enable = true; # Firefox profile profiles.default = { id = 0; name = "default"; isDefault = true; # Settings settings = { "browser.startup.homepage" = "https://home.reaperofveriod.nl"; "browser.search.region" = "NL"; "browser.search.isUS" = false; "browser.startup.page" = 3; "privacy.donatenotrack.enabled" = true; "privacy.trackingprotection.enabled" = true; }; }; # Extensions policies.ExtensionSettings = { "uBlock0@raymondhill.net" = { install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; installation_mode = "force_installed"; }; }; }; # Vscodium programs.vscodium = { enable = true; package = pkgs.vscodium; mutableExtensionsDir = false; profiles.default = { extensions = with pkgs.vscode-extensions; [ jnoortheen.nix-ide ]; userSettings = { # General editor settings "editor.tabSize" = 2; "editor.insertSpaces" = true; "editor.detectIndentation" = false; "editor.formatOnSave" = true; "editor.bracketPairColorization.enabled" = true; # Nix language support "nix.enableLanguageServer" = true; "nix.serverPath" = "${pkgs.nixd}/bin/nixd"; # Nix-specific settings "[nix]" = { "editor.defaultFormatter" = "jnoortheen.nix-ide"; "editor.tabSize" = 2; "editor.formatOnSave" = true; }; # Formatting "nix.formatterPath" = "${pkgs.nixfmt}/bin/nixfmt"; }; }; }; # Hyprland wayland.windowManager.hyprland = { enable = true; systemd.enable = false; # So home-manager works. configType = "hyprlang"; settings = { monitor = [ "DP-1,1920x1080@143.85,1920x0,1" "DP-2,1920x1080@119.98,3840x0,1" "DP-3,1920x1080@119.98,0x0,1" ]; bind = [ "CTRL_L ALT_L , T, exec, kitty" "CTRL_L SHIFT_L , Q, killactive" ", SUPER_L, exec, ${pkgs.writeShellScript "wofi-toggle" '' if ${pkgs.procps}/bin/pgrep -f '/bin/wofi|wofi --show' > /dev/null; then ${pkgs.procps}/bin/pkill -f '/bin/wofi|wofi --show' else ${pkgs.wofi}/bin/wofi --show drun fi ''}" ]; exec-once = [ "waybar" "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1" ]; general = { gaps_in = 5; gaps_out = 10; border_size = 2; }; decoration = { rounding = 8; }; }; }; programs.home-manager.enable = true; }