diff options
Diffstat (limited to 'system/packages/default.nix')
-rw-r--r-- | system/packages/default.nix | 365 |
1 files changed, 365 insertions, 0 deletions
diff --git a/system/packages/default.nix b/system/packages/default.nix new file mode 100644 index 00000000..6eb25681 --- /dev/null +++ b/system/packages/default.nix @@ -0,0 +1,365 @@ +{pkgs, ...}: +with pkgs; let + Gui = { + Terminals = [ + alacritty # terminal emulator + ]; + + Browsers = [ + firefox # web browser + ungoogled-chromium # web browser (only for web programming) + ]; + + ImageManipulation = [ + krita # new, and better (KDE) + gimp # conservative, and old (GNOME) + ]; + + Social = [ + mumble # voice chat software (client) + nheko # Matrix Desktop client + ]; + + Misc = [ + kalzium # Periodic Table of Elements + keepassxc # password manager + onlykey # OnlyKey Chrome Desktop App + steam # Valve's digital software delivery system + ]; + }; + + TuiCli = { + Networking = { + OneOffThings = [ + #bind # A complete, highly portable implementation of the DNS protocol + #firewalld # Firewall daemon with D-Bus interface + #ngrep # A grep-like utility that allows you to search for network packets on an interface. + #openbsd-netcat # TCP/IP swiss army knife. OpenBSD variant. + ]; + + Misc = [ + lftp # FTP client + openssh # SSH client + ]; + }; + + EyeCandy = [ + banner # Print large banners to ASCII terminals + cmatrix # A curses-based scrolling 'Matrix'-like screen + hyfetch # Neofetch with LGBTQ pride flags. + ]; + + Backups = [ + rclone # Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and Google Cloud Storage + snapper # A tool for managing BTRFS and LVM snapshots. It can create, diff and restore snapshots and provides timelined auto-snapping. + #snap-sync # Use snapper snapshots to backup to external drive + ]; + + Misc = [ + android-file-transfer # Android MTP client with minimalistic UI + #python39Packages.docx2txt # Recovers text from DOCX files, with good formatting. + btop # Interactive process viewer (maybe better than htop) + nerdfonts # Patched font Source Code Pro from nerd fonts library + xdg-ninja # A shell script which checks your $HOME for unwanted files and directories. + yokadi # Command line oriented, sqlite powered, todo list + ]; + + WM = { + river = [river]; # A dynamic tiling wayland compositor + + CLITools = [ + lswt # List Wayland toplevels + wlopm # Wayland output power management. + wlr-randr # Utility to manage outputs + wl-clipboard # Command-line copy/paste utilities + gammastep # Adjust the color temperature of your screen according to your surroundings. + ]; + + Components = [ + yambar # status panel + swaybg # Wallpaper + mako # notification daemon + bemenu # Run prompt + ]; + + Media = [ + slurp # Select a region (used in the coordinates for grim/maim) + grim # Screenshot utility + #maim # Screenshot utility + wf-recorder # Screen recorder + ]; + + Idle = [ + swayidle # Idle management daemon + swaylock # Screen locker + ]; + }; + + LF = { + lf = [lf]; # A terminal file manager inspired by ranger + + Functions = [ + broot # Fuzzy Search + tree + cd + xdragon # Simple drag-and-drop source/sink + trash-cli # Command line trashcan (recycle bin) interface + ]; + + Previewer = [ + chafa # Image-to-text converter + highlight # source code highlighter + mediainfo # Supplies technical and tag information about a video or audio file + w3m # Text-based Web browser as well as pager + ffmpegthumbnailer # video thumbnailer that can be used by file managers + ]; + }; + + Media = { + Download = [ + yt-dlp # A youtube-dl fork with additional features and fixes + #cclive # Commandline downloader for popular video websites. + ]; + + Manipulate = [ + ffmpeg # Complete solution to record, convert and stream audio and video + ]; + + View = [ + imv # Image viewer + mpv # media player + ]; + + Listen = [ + moc # An ncurses console audio player designed to be powerful and easy to use + pavucontrol # PulseAudio Volume Control + #pipewire-alsa # Low-latency audio/video router and processor - ALSA configuration + #pipewire-jack # Low-latency audio/video router and processor - JACK support + #pipewire-pulse # Low-latency audio/video router and processor - PulseAudio replacement + ]; + }; + + Hardware = { + Boot = [ + #efibootmgr # Linux user-space application to modify the EFI Boot Manager + #grub # GNU GRand Unified Bootloader (2) + ]; + + Storage = [ + compsize # Calculate compression ratio of a set of files on Btrfs + smartmontools # Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives + ]; + + Input = [ + piper # GTK application to configure gaming mice + ]; + + Printer = [ + gutenprint # Top quality printer drivers for POSIX systems + sane-airscan # SANE - SANE backend for AirScan (eSCL) and WSD document scanners + ]; + }; + + Zsh = [ + #zsh # A very advanced and programmable command interpreter (shell) for UNIX + #zsh-syntax-highlighting # Fish shell like syntax highlighting for Zsh + + # next one only works if your alias is only a command, e.g. if you `alias='cat some_file.txt &2> /dev/null'`, running `cat some_file.txt` won't trigger it. + # TODO find something better for this use case + # zsh-you-should-use # ZSH plugin that reminds you to use existing aliases for commands you just typed + ]; + + CoreUtils = [ + file # File type identification utility + #grep # A string search utility + sudo # Give certain users the ability to run some commands as root + wget # Network utility to retrieve files from the Web + which # A utility to show the full path of commands + ]; + + FileListers = [ + tree # A directory listing program displaying a depth indented list of files + findutils # GNU utilities to locate files + fd # Simple, fast and user-friendly alternative to find + ripgrep # A search tool that combines the usability of ag with the raw speed of grep + ]; + + UnCompressors = [ + zip # Compressor/archiver for creating and modifying zipfiles + gzip # GNU compression utility + p7zip # Command-line file archiver with high compression ratio + unzip # For extracting and viewing files in .zip archives + ]; + + Editors = [ + ed # A POSIX-compliant line-oriented text editor + #sed # GNU stream editor + #vi # The original ex/vi text editor + neovim # Fork of Vim aiming to improve user experience, plugins, and GUIs + ]; + + Programming = { + GeneralTools = [ + git # the fast distributed version control system + git-bug # Distributed, offline-first bug tracker embedded in git, with bridges + glow # Command-line markdown renderer + strace # A diagnostic, debugging and instructional userspace tracer + tokei # A blazingly fast CLOC (Count Lines Of Code) program + ]; + + Rust = [ + rustup # The Rust toolchain installer + rust-analyzer # Rust compiler front-end for IDEs + ]; + + Yaml = [ + yamllint # Linter for YAML files + ]; + + TeX = [ + zathura # Minimalistic document viewer + #zathura-pdf-poppler # Adds pdf support to zathura by using the poppler engine + ltex-ls # LTeX Language Server + biber # A Unicode-capable BibTeX replacement for biblatex users + pandoc # Conversion between markup formats + ]; + + Web = [ + nodePackages_latest.vscode-langservers-extracted # Language servers extracted from VSCode. + rsass # dart-sass # Sass makes CSS fun again + nodePackages_latest.prettier # An opinionated code formatter for JS, JSON, CSS, YAML and much more + ]; + + Shell = [ + dash # POSIX compliant shell that aims to be as small as possible + shellcheck # Shell script analysis tool + ]; + + Lua = [ + lua # Powerful lightweight programming language designed for extending applications + luaformatter # lua-format # LuaFormatter - Code formatter for Lua + sumneko-lua-language-server #lua-language-server # Lua Language Server coded by Lua + ]; + + R = [ + R # Language and environment for statistical computing and graphics + ]; + }; + }; + #expect # A tool for automating interactive applications + #handlr # Powerful alternative to xdg-utils written in Rust + #linux # The Linux kernel and modules + #linux-firmware # Firmware files for Linux + #packagekit-qt5 # Qt5 bindings for PackageKit + #vulkan-radeon # Radeon's Vulkan mesa driver + #xorg-bdftopcf # Convert X font from Bitmap Distribution Format to Portable Compiled Format + + mapFun = x: + if builtins.isAttrs x + then + if lib.isDerivation x + then [x] + else builtins.attrValues x + else [x]; +in { + nixpkgs.config.allowUnfreePredicate = pkg: + builtins.elem (lib.getName pkg) [ + "steam" + "steam-original" + ]; + + environment.systemPackages = with builtins; + concatLists + (concatLists [ + (concatMap mapFun + (concatMap mapFun + (concatMap mapFun + (concatMap mapFun + (concatMap mapFun + (concatMap mapFun + (attrValues Gui))))))) + + (concatMap mapFun + (concatMap mapFun + (concatMap mapFun + (concatMap mapFun + (concatMap mapFun + (concatMap mapFun + (attrValues TuiCli))))))) + ]); +} +# QEMU +# TEX +# {{{ +#adobe-source-han-sans-kr-fonts # Adobe Source Han Sans Subset OTF - Korean OpenType/CFF fonts +#alsa-utils # Advanced Linux Sound Architecture - Utilities +#element-desktop # Glossy Matrix collaboration client — desktop version. +#gawk # GNU version of awk +#gimp # GNU Image Manipulation Program +#git-lfs # Git extension for versioning large files +#gnome-epub-thumbnailer # Thumbnailer for EPub and MOBI books +#gnumeric # A GNOME Spreadsheet Program +#gpick # Advanced color picker written in C++ using GTK+ toolkit +#gradle # Powerful build system for the JVM +#groff # GNU troff text-formatting system +#jre11-openjdk-headless # OpenJDK Java 11 headless runtime environment +#klavaro # Free touch typing tutor program +#lifeograph # Private journal, diary and note taking application +#lynx # A text browser for the World Wide Web +#man-db # A utility for reading man pages +#networkmanager # Network connection manager and user applications +#nss-mdns # glibc plugin providing host name resolution via mDNS +#python-spotdl # Download your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found). +#python-xlsx2csv # xlsx to csv converter +#ruff # An extremely fast Python linter, written in Rust +#signal-desktop # Signal Private Messenger for Linux +#slides # Terminal based presentation tool +#torbrowser-launcher # Securely and easily download, verify, install, and launch Tor Browser in Linux +#web-ext # A command line tool to help build, run, and test web extensions +#wkhtmltopdf # Command line tools to render HTML into PDF and various image formats +#xcursor-bluecurve # Redhat's Bluecurve X mouse cursor theme +# XORG +#xorg-docs # X.org documentations +#xorg-font-util # X.Org font utilities +#xorg-fonts-100dpi # X.org 100dpi fonts +#xorg-fonts-75dpi # X.org 75dpi fonts +#xorg-fonts-encodings # X.org font encoding files +#xorg-iceauth # ICE authority file utility +#xorg-mkfontscale # Create an index of scalable font files for X +#xorg-server # Xorg X server +#xorg-server-common # Xorg server common files +#xorg-server-devel # Development files for the X.Org X server +#xorg-server-xephyr # A nested X server that runs as an X application +#xorg-server-xnest # A nested X server that runs as an X application +#xorg-server-xvfb # Virtual framebuffer X server +#xorg-sessreg # Register X sessions in system utmp/utmpx databases +#xorg-setxkbmap # Set the keyboard using the X Keyboard Extension +#xorg-smproxy # Allows X applications that do not support X11R6 session management to participate in an X11R6 session +#xorg-x11perf # Simple X server performance benchmarker +#xorg-xauth # X.Org authorization settings program +#xorg-xbacklight # RandR-based backlight control application +#xorg-xcmsdb # Device Color Characterization utility for X Color Management System +#xorg-xcursorgen # Create an X cursor file from PNG images +#xorg-xdpyinfo # Display information utility for X +#xorg-xdriinfo # Query configuration information of DRI drivers +#xorg-xev # Print contents of X events +#xorg-xgamma # Alter a monitor's gamma correction +#xorg-xhost # Server access control program for X +#xorg-xinit # X.Org initialisation program +#xorg-xinput # Small commandline tool to configure devices +#xorg-xkbcomp # X Keyboard description compiler +#xorg-xkbevd # XKB event daemon +#xorg-xkbutils # XKB utility demos +#xorg-xkill # Kill a client by its X resource +#xorg-xlsatoms # List interned atoms defined on server +#xorg-xlsclients # List client applications running on a display +#xorg-xmodmap # Utility for modifying keymaps and button mappings +#xorg-xpr # Print an X window dump from xwd +#xorg-xrandr # Primitive command line interface to RandR extension +#xorg-xrdb # X server resource database utility +#xorg-xrefresh # Refresh all or part of an X screen +#xorg-xsetroot # Classic X utility to set your root window background to a given pattern or color +#xorg-xvinfo # Prints out the capabilities of any video adaptors associated with the display that are accessible through the X-Video extension +#xorg-xwayland # run X clients under wayland +#xorg-xwininfo # Command-line utility to print information about windows on an X server +#xorg-xwud # X Window System image undumping utility +# }}} + |