nixos-config/config/packages.nix

89 lines
2.2 KiB
Nix

{ 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"
# '';
}