{ helium, colmena, dms, zen-browser, nix-gaming, nixpkgs-unstable, # suyu, hyprland-plugins, # , hyprland pkgs, danksearch, niri, affinity-nix, inputs, nix-monitor, rusic, ... }: let unstable = import nixpkgs-unstable { system = pkgs.system; config = { allowUnfree = true; }; }; # system = stdenv.hostPlatform.system; in { imports = [ zen-browser.homeModules.beta dms.homeModules.dank-material-shell danksearch.homeModules.default nix-monitor.homeManagerModules.default # niri.homeManagerModules.default # dms.homeModules.niri ]; home = { stateVersion = "25.11"; packages = with pkgs; [ lmstudio spacetimedb nixd buck2 (rusic.packages.${system}.default) affine voxtype-onnx #affinity-nix.packages.x86_64-linux.v3 biome bun lenovo-legion itch filezilla nicotine-plus protonvpn-gui dgop mysql-workbench i2c-tools kdePackages.kimageformats power-profiles-daemon tail-tray steam helium opencode perf #obs-studio flamegraph samply font-awesome arduino-ide libxkbfile # dioxus-cli cosmic-files cosmic-player cosmic-screenshot cosmic-applibrary cosmic-ext-calculator cosmic-icons examine flix postgresql upower usbutils killall powertop pgadmin4-desktopmode thunderbird-bin logisim-evolution typst typstyle typstwriter colmena.defaultPackage.${system} usbimager bitwarden-desktop #metasploit lenovo-legion burpsuite zap kubernetes-helm # required by quickshell config # unstable.quickshell wlogout fuzzel translate-shell hyprpicker hypridle hyprland-qtutils hyprwayland-scanner hyprcursor material-symbols cava cliphist matugen swww kdePackages.fcitx5-with-addons easyeffects mpvpaper uv hyprshot libsecret hyprls ddcutil brightnessctl libqalculate # cloud things minikube #nebula #nixpkgs-unstable.legacyPackages.${system}.jet-pilot k9s prismlauncher lf rawtherapee syncthingtray anki-bin xournalpp simple-scan godot_4 #rar wootility #surrealdb pico-sdk elf2uf2-rs obsidian betaflight-configurator home-manager #glxinfo pciutils nix-top grc onefetch inter #fira #fira-code # fira-code-nerdfont nerd-fonts.fira-code iosevka kitty #rofi-wayland rofi discord vesktop spotify spicetify-cli meslo-lgs-nf waybar chromium #dunst sccache swaybg activitywatch networkmanagerapplet kubectl duf dust #jetbrains.webstorm #jetbrains.clion #jetbrains.datagrip # jetbrains.rider #jetbrains.idea-ultimate jre_minimal datovka nwg-displays wireguard-tools mongodb-compass unstable.mongodb-tools #hashcat tldr #dunst grim slurp wl-clipboard nextcloud-client kdePackages.filelight kdePackages.kate kdePackages.ksystemstats kdePackages.kinfocenter kdePackages.kirigami-addons kdePackages.ark kdePackages.qtdeclarative kdePackages.dolphin cachix playerctl libcanberra-gtk3 # sound events #qt6ct nil # nix language server nix-output-monitor expect nh udev-block-notify appimage-run mpv heroic heaptrack #cinny-desktop gping gparted valgrind caddy jq htmlq fzf gleam erlang terraform nodejs #corepack ansible aria2 qbittorrent audacity bettercap duperemove ffmpeg flameshot ripgrep iotop nethogs john iperf mold nheko quickemu qemu socat websocat whois #wifite2 dig httpie inxi numbat wireshark nixfmt qpwgraph nixpkgs-unstable.legacyPackages.${system}.zed-editor nixpkgs-unstable.legacyPackages.${system}.pineflash unstable.nosql-booster android-tools hyperfine scc aircrack-ng strace ghidra ffuf sqlmap nmap rustscan thc-hydra file binwalk p7zip foremost gdb feroxbuster python312Packages.pypykatz screen openvpn #ghostty nvtopPackages.full openrgb-with-all-plugins mdbook nix-tree nix-du graphviz #blender warpinator awatcher tigervnc oh-my-posh libva-utils atuin jc lsof carapace crate2nix liberation_ttf noto-fonts-color-emoji rubik nerd-fonts.jetbrains-mono google-fonts ]; pointerCursor = { gtk.enable = true; package = pkgs.bibata-cursors; name = "Bibata-Modern-Classic"; size = 16; }; }; gtk = { enable = true; theme = { package = pkgs.orchis-theme; name = "Orchis"; }; }; services.lorri.enable = true; wayland.windowManager.hyprland = { # enable = true; # package = hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; # portalPackage = hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; # plugins = [ # hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprexpo # hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprtrails # ]; }; programs.dsearch.enable = true; programs.dank-material-shell = { enable = true; systemd.enable = false; # niri = { # enableKeybinds = false; # Sets static preset keybinds # # enableSpawn = true; # Auto-start DMS with niri, if enabled # }; }; # programs.niri.enable = true; fonts.fontconfig = { enable = true; defaultFonts = { emoji = [ "Noto Color Emoji" ]; monospace = [ "Iosevka" "Iosevka NF" "FiraCode Nerd Font Mono" ]; sansSerif = [ "Inter" ]; serif = [ "Noto Serif" ]; }; }; programs = { nix-monitor.enable = true; nix-monitor.rebuildCommand = [ "bash" "-c" "cd /home/dan/projects/dotfiles; nh os switch ." ]; zen-browser.enable = true; fish = { enable = true; shellInit = '' source ~/.config/fish/config-old.fish ''; plugins = with pkgs.fishPlugins; [ { name = "grc"; src = grc.src; } { name = "tide"; src = tide.src; } ]; }; nushell = { enable = true; # unstable, perhaps 25.05 # plugins = with pkgs.nushellPlugins; [ # query # skim # net # highlight # gstat # formats # dbus # units # ]; # configFile.source = ./.config/nushell/base-config.nu; configFile.text = "source base-config.nu"; }; vscode = { enable = true; # package = nixpkgs-unstable.packages.${pkgs.system}.vscode; # package = unstable.pkgs.vscode; # extensions = with pkgs.vscode-extensions; [ # ]; }; difftastic.enable = true; difftastic.git.enable = true; git = { enable = true; settings = { user.name = "Daniel Bulant"; user.email = "danbulant@gmail.com"; pull.rebase = false; pull.ff = "only"; gpg.format = "ssh"; commit.gpgsign = true; gpg.ssh.allowedSignersFile = "/home/dan/allowed_signers"; }; signing = { signByDefault = true; key = "/home/dan/.ssh/id_ed25519"; }; }; gitui.enable = true; btop.enable = true; bat.enable = true; lsd.enable = true; fastfetch.enable = true; direnv.enable = true; direnv.nix-direnv.enable = true; }; services.kdeconnect.enable = true; services.kdeconnect.indicator = true; services.blueman-applet.enable = true; services.mpris-proxy.enable = true; xdg.mimeApps = { enable = true; defaultApplications = { "x-scheme-handler/http" = "zen-beta.desktop"; "x-scheme-handler/https" = "zen-beta.desktop"; "x-scheme-handler/chrome" = "zen-beta.desktop"; "text/html" = "zen-beta.desktop"; "application/x-extension-htm" = "zen-beta.desktop"; "application/x-extension-html" = "zen-beta.desktop"; "application/x-extension-shtml" = "zen-beta.desktop"; "application/xhtml+xml" = "zen-beta.desktop"; "application/x-extension-xhtml" = "zen-beta.desktop"; "application/x-extension-xht" = "zen-beta.desktop"; "x-scheme-handler/discord" = "vesktop.desktop"; }; }; }