{ pkgs, lib, macos-hyprcursor-src, ... }: let macos-hyprcursor = pkgs.stdenv.mkDerivation { name = "macos-hyprcursor"; src = macos-hyprcursor-src; installPhase = '' mkdir -p $out/share/icons cp -R themes/SVG/"macOS (SVG)" $out/share/icons/macos ''; }; in { environment.systemPackages = with pkgs; let aspell' = aspellWithDicts.override { aspell = aspell.overrideAttrs (super: { postInstall = super.postInstall + '' mkdir -p $out/etc cat > $out/etc/aspell.conf << EOF lang en_US add-extra-dicts en-computers.rws add-extra-dicts en_US-science.rws EOF ''; }); } (ps: with ps; [ en en-computers en-science ]); in [ # Shell socat jaq tldr ripgrep unzip # Wayland brightnessctl playerctl pamixer ffmpeg macos-hyprcursor # System management htop-vim openssl libnotify inotify-tools # Programming gcc git pandoc texlive.combined.scheme-full aspell' nixd gnuplot graphviz ]; programs.hyprland.enable = true; security.pam.services.hyprlock = {}; programs.fish.enable = true; programs.sway.enable = true; programs.sway.extraPackages = lib.mkForce []; services.emacs.enable = true; services.emacs.package = with pkgs; (emacsPackagesFor (pkgs.emacs29.override { withPgtk = true; })) .emacsWithPackages (epkgs: [ epkgs.vterm ]); programs.direnv.enable = true; programs.direnv.nix-direnv.enable = true; programs.direnv.silent = true; nix.extraOptions = '' keep-derivations = true keep-outputs = true ''; # WLuma # services.udev.extraRules = let core = exe: lib.getExe' pkgs.coreutils exe; in '' # ACTION=="add", SUBSYSTEM=="backlight", RUN+="${core "chgrp"} video /sys/class/backlight/%k/brightness" # ACTION=="add", SUBSYSTEM=="backlight", RUN+="${core "chmod"} g+w /sys/class/backlight/%k/brightness" # ACTION=="add", SUBSYSTEM=="leds", RUN+="${core "chgrp"} video /sys/class/leds/%k/brightness" # ACTION=="add", SUBSYSTEM=="leds", RUN+="${core "chmod"} g+w /sys/class/leds/%k/brightness" # ''; }