Files
lavitz/modules/packages.nix
2025-09-21 22:35:14 -06:00

92 lines
1.8 KiB
Nix

{ config, pkgs, ... }:
{
# Enable unfree globally
nixpkgs.config.allowUnfree = true;
# Mount nixos-unstable under pkgs.beta
nixpkgs.overlays = [
(final: prev:
let
beta = import
(builtins.fetchTarball
"https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz")
{
system = final.system;
config = final.config;
};
in {
beta = beta;
})
];
# Default browser settings
xdg = {
mime.enable = true;
mime.defaultApplications = {
"text/html" = [ "ungoogled-chromium.desktop" ];
"application/xhtml+xml" = [ "ungoogled-chromium.desktop" ];
"x-scheme-handler/http" = [ "ungoogled-chromium.desktop" ];
"x-scheme-handler/https" = [ "ungoogled-chromium.desktop" ];
"x-scheme-handler/ftp" = [ "ungoogled-chromium.desktop" ];
"application/x-www-browser" = [ "ungoogled-chromium.desktop" ];
};
};
environment.variables.BROWSER = "chromium";
environment.systemPackages =
with pkgs; [
# Browsers and comms
librewolf
discord
signal-desktop-bin
# Development tools
git
go
cargo
rustc
rust-analyzer
rustfmt
nodejs_24
python3Full
openssh
nodePackages."pnpm"
openssl
ffmpeg
beta.zed-editor
usbutils
qmk-udev-rules
qmk
beta.dbeaver-bin
# Desktop applications
bitwarden-desktop
vlc
streamrip
supersonic
beta.opencloud-desktop
zotero
prismlauncher
lrcget
slack
impression
ardour
krita
inkscape
streamcontroller
easyeffects
onlyoffice-desktopeditors
# Gaming
luanti
duckstation
dolphin-emu
ryubing
# GNOME extensions
gnomeExtensions.appindicator
];
}