79 lines
1.9 KiB
Nix
79 lines
1.9 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
{
|
|
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
|
|
|
|
# System management
|
|
htop-vim
|
|
openssl
|
|
libnotify
|
|
inotify-tools
|
|
|
|
# Programming
|
|
gcc
|
|
git
|
|
pandoc
|
|
texlive.combined.scheme-full
|
|
aspell'
|
|
nil
|
|
|
|
gnuplot
|
|
graphviz
|
|
];
|
|
|
|
|
|
programs.hyprland.enable = true;
|
|
security.pam.services.hyprlock = {};
|
|
|
|
programs.fish.enable = true;
|
|
programs.sway.enable = true;
|
|
programs.sway.extraPackages = [];
|
|
|
|
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"
|
|
# '';
|
|
}
|