{ pkgs, lib, inputs, ... }: { imports = [ ./no-gui.nix # ./progs/librewolf.nix ]; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "apple_cursor" "factorio-alpha" ]; home.packages = let #stolen from: https://stackoverflow.com/a/42398526 optimizeWithFlags = pkg: flags: pkgs.lib.overrideDerivation pkg ( old: let newflags = pkgs.lib.foldl' (acc: x: "${acc} ${x}") "" flags; oldflags = if (pkgs.lib.hasAttr "NIX_CFLAGS_COMPILE" old) then "${old.NIX_CFLAGS_COMPILE}" else ""; in { NIX_CFLAGS_COMPILE = "${oldflags} ${newflags}"; stdenv = pkgs.clangStdenv; } ); in with pkgs; [ #calculator gnome-calculator #productivity stuff libreoffice hunspell # spellcheck hunspellDicts.en_US # spellcheck dictionary #video and audio downloading parabolic #soulseek client nicotine-plus #dark web browsing deep web browsing tor-browser #audio editing audacity #fonts noto-fonts noto-fonts-emoji liberation_ttf nerdfonts jetbrains-mono #for ebook reading foliate #audio mixer (pavucontrol but for pipewire) pwvucontrol #minecraft launcher prismlauncher mpv mumble system76-keyboard-configurator mission-center #jellyfin finamp # music player delfin # jellyfin client signal-desktop #accounting gnucash imagemagick inkscape nomacs nautilus lrcget #openstreetmap contributing josm gparted gnome-disk-utility #small nicities wl-clipboard # wl-copy & wl-paste libnotify # notifications library xdg-utils # xdg utils puddletag inputs.zen-browser.packages."${pkgs.system}".specific (factorio.override (import ./secrets/factorio.nix)) (optimizeWithFlags (gpt4all.overrideAttrs { src = fetchFromGitHub { fetchSubmodules = true; owner = "nomic-ai"; repo = "gpt4all"; rev = "HEAD"; sha256 = "lGvxTOBg7/UgrCqeAFNFFXD9VjpUk3IVCktdUYuF6Eo="; }; patches = [ ./gpt4all-HEAD-embeddings-model.patch ]; }) [ "-Ofast" "-march=native" "-mtune=native" "-fno-protect-parens" "-fno-finite-math-only" # https://github.com/ggerganov/llama.cpp/pull/7154#issuecomment-2143844461 ] ) ]; # make chromium-based stuff use wayland home.file.".config/chromium-flags.conf".text = "--ozone-platform-hint=auto"; #dark mode dconf.settings = { "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; }; }; home.sessionVariables = { TERMINAL = "alacritty"; }; #Terminal emulator programs.alacritty = { enable = true; package = pkgs.alacritty; settings = import ./progs/alacritty.nix { inherit pkgs; }; }; #for trezor stuff /* trezor-udev-rules #trezor udev rules trezord trezor-suite monero-gui monero-cli trezorctl */ #allow extra fonts to be detected by fontconfig fonts.fontconfig.enable = true; #gtk application theming gtk = { enable = true; # make gtk3 applications look like libadwaita applications! theme = { package = pkgs.adw-gtk3; name = "adw-gtk3-dark"; }; iconTheme = { package = pkgs.adwaita-icon-theme; name = "Adwaita"; }; }; #qt application theming qt = { enable = true; style = { name = "breeze-dark"; package = pkgs.kdePackages.breeze; }; }; #macOS cursor! home.pointerCursor = { gtk.enable = true; package = pkgs.apple-cursor; name = "macOS"; size = 24; }; }