{ helium, colmena, dms, zen-browser, nix-gaming, nixpkgs-unstable, # suyu, hyprland-plugins, # , hyprland pkgs, danksearch, niri, affinity-nix, inputs, nix-monitor, rusic, codexbar, config, # paseo, ... }: let unstable = import nixpkgs-unstable { system = pkgs.system; config = { allowUnfree = true; }; }; codexbarWrapped = pkgs.writeShellApplication { name = "codexbar"; runtimeInputs = [ pkgs.bubblewrap ]; text = '' exec bwrap \ --die-with-parent \ --bind / / \ --dev-bind /dev /dev \ --proc /proc \ --tmpfs /usr \ --dir /usr/bin \ --ro-bind ${pkgs.which}/bin/which /usr/bin/which \ -- \ ${codexbar.packages.${pkgs.system}.default}/bin/codexbar "$@" ''; }; # 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; [ codexbarWrapped codex jellyfin-desktop (kdePackages.qt6ct.overrideAttrs (oldAttrs: { patches = (oldAttrs.patches or [ ]) ++ [ ../../pkgs/qt6ct-0.11.patch ]; name = "qt6ct-kde"; })) kdePackages.qtstyleplugin-kvantum libsForQt5.qt5ct libsForQt5.qtstyleplugin-kvantum ddcutil unstable.gearlever linux-wallpaperengine lmstudio spacetimedb nixd buck2 (rusic.packages.${system}.default) affine voxtype-vulkan #affinity-nix.packages.x86_64-linux.v3 biome bun lenovo-legion itch filezilla nicotine-plus proton-vpn dgop mysql-workbench i2c-tools kdePackages.kimageformats power-profiles-daemon #tail-tray 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 #awww 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"; }; gtk4.theme = config.gtk.theme; }; 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; extraPrefsFiles = [ # (builtins.fetchurl { # url = "https://raw.githubusercontent.com/MrOtherGuy/fx-autoconfig/master/program/config.js"; # sha256 = "1mx679fbc4d9x4bnqajqx5a95y1lfasvf90pbqkh9sm3ch945p40"; # }) # (builtins.toFile (builtins.readFile ./uc.js)) (builtins.path { path = ./uc.js; name = "config.js"; }) ]; }; 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 = { /* configFile."openxr/1/active_runtime.json".source = "${pkgs.monado}/share/openxr/1/openxr_monado.json"; configFile."openvr/openvrpaths.vrpath".text = '' { "config" : [ "${config.xdg.dataHome}/Steam/config" ], "external_drivers" : null, "jsonid" : "vrpathreg", "log" : [ "${config.xdg.dataHome}/Steam/logs" ], "runtime" : [ "${pkgs.opencomposite}/lib/opencomposite" ], "version" : 1 } ''; */ 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"; }; }; }; }