diff options
author | ene <ene@sils.li> | 2023-02-17 17:05:26 +0100 |
---|---|---|
committer | ene <ene@sils.li> | 2023-02-17 17:05:26 +0100 |
commit | 154d9187bfa3885c6de9d0efd0acace78ad2d5aa (patch) | |
tree | 502a1dba1ccce21415a5e0d9666efdb824ce77cc /home-manager/packages | |
parent | Chore: Add todo file (diff) | |
download | nixos-config-154d9187bfa3885c6de9d0efd0acace78ad2d5aa.tar.gz nixos-config-154d9187bfa3885c6de9d0efd0acace78ad2d5aa.zip |
Feat(home-manager): Add local packages
Diffstat (limited to '')
-rw-r--r-- | home-manager/packages/default.nix | 272 |
1 files changed, 272 insertions, 0 deletions
diff --git a/home-manager/packages/default.nix b/home-manager/packages/default.nix new file mode 100644 index 00000000..0e42397d --- /dev/null +++ b/home-manager/packages/default.nix @@ -0,0 +1,272 @@ +# vim: ts=2 +{ + config, + pkgs, + home-manager, + inputs, + user_js, + impermanence, + resholve, + ... +}: let + snap-sync = resholve.writeScriptBun "snap-sync" { + inputs = []; + interpreter = "${pkgs.dash}/bin/dash"; + } (builtins.readFile ./scritps/snap-sync/bin/snap-sync); + + 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 + # DONE 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 + # DONE snapper # A tool for managing BTRFS and LVM snapshots. It can create, diff and restore snapshots and provides timelined auto-snapping. + # DONE #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 +in { + home.packages = [ + snap-sync + ]; +} |