Files
nix/packages/packages.nix
2025-12-02 17:02:03 -06:00

178 lines
4.4 KiB
Nix

{ lib, pkgs, config, ... }:
{
imports = [
./user.nix
./system.nix
./flatpak.nix
];
nixpkgs = {
config = {
allowUnfree = true;
#cudaSupport = true;
};
overlays = [
(self: super: {
plasticity-beta = self.callPackage ./plasticity.nix { };
})
];
};
services.flatpak = {
enable = true;
remotes = lib.mkOptionDefault [{
name = "flathub-beta";
location = "https://flathub.org/beta-repo/flathub-beta.flatpakrepo";
}];
update.auto.enable = true;
uninstallUnmanaged = true;
};
environment.sessionVariables = {
WEBKIT_DISABLE_COMPOSITING_MODE = "1";
};
programs.virt-manager.enable = true;
users.groups.libvirtd.members = ["bug"];
virtualisation.libvirtd.enable = true;
virtualisation.spiceUSBRedirection.enable = true;
virtualisation.docker.enable = true;
programs.appimage.enable = true;
programs.appimage.binfmt = true;
programs = {
bash.shellAliases = {
fetch = "fastfetch --file ~/Pictures/Ansi/nix.ans";
neofetch = "fetch";
rebuild = "sudo nixos-rebuild switch --impure"; # home-manager switch --impure
#pissh = "ssh -t $(avahi-resolve-host-name -4 pi.home | awk '{print $2}')";
#pi = "pissh \"cd $(pwd) && bash\"";
pi = "ssh pi.bug.tools";
pico = "ssh pico.sh";
# tuns name port
tuns = "bash -c '\''if [ \"$#\" -ne 2 ]; then echo \"Usage: tun name port\"; exit 1; fi;
if [[ \"$1\" =~ ^[0-9]+$ ]]; then port=\"$1\"; name=\"$2\";
elif [[ \"$2\" =~ ^[0-9]+$ ]]; then port=\"$2\"; name=\"$1\";
else echo \"Error: One argument must be a number (port)\"; exit 1; fi;
ssh -R \"$\{name}:80:localhost:$\{port}\" tuns.sh'\'' _";
# pgs name directory
pgs = "bash -c '\''if [ \"$#\" -ne 2 ]; then echo \"Usage: pgs NAME DIRECTORY\"; exit 1; fi; rsync -rv \"$2\" pgs.sh:/\"$1\"'\'' _";
bambu = "env -u WAYLAND_DISPLAY XDG_SESSION_TYPE=x11 WEBKIT_FORCE_COMPOSITING_MODE=1 WEBKIT_DISABLE_COMPOSITING_MODE=1 GBM_BACKEND=dri bambu-studio";
};
dconf.enable = lib.mkDefault true;
firefox.enable = true;
steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
nix-ld = {
enable = true;
libraries = with pkgs; [
gtk3
xorg.libX11
#glib
#libgbinder
#pcre2
#gtk4
#libadwaita
#lxc
#dnsmasq
#alsa-lib
#libGL
#libGLU
mesa
#gcc
zlib
#xorg.libX11
#fontconfig
#pcre2
#xorg.libXext
#gcc
#xorg.libxcb
#pkgs.qt5.full pkgs.freetype pkgs.fontconfig
#pkgs.xorg.libX11 pkgs.xorg.libxcb pkgs.xorg.libXext
#pkgs.xorg.libXrender
cmake
clang
zulu
jdk
openjdk
mesa
libGL
libGLU
zlib
glfw
gtkmm4
pangomm_2_48
#glibmm_2_68
cairomm_1_16
libsigcxx30
gtk4
pango
gdk-pixbuf
cairo
harfbuzz
graphene
glib
vulkan-loader
glew
freeglut
gcc
brotli
libpng
libunwind
jdk17_headless
libunwind
gcc
mesa
glew
glfw
zlib
];
};
};
services = {
printing.enable = true;
ollama = {
enable = true;
acceleration = "cuda";
};
syncthing = {
enable = true;
user = "bug";
group = "wheel";
dataDir = "/home/bug/";
};
};
}