aboutsummaryrefslogtreecommitdiffstats
path: root/home-manager
diff options
context:
space:
mode:
authorene <ene@sils.li>2023-02-17 17:05:26 +0100
committerene <ene@sils.li>2023-02-17 17:05:26 +0100
commit154d9187bfa3885c6de9d0efd0acace78ad2d5aa (patch)
tree502a1dba1ccce21415a5e0d9666efdb824ce77cc /home-manager
parentChore: Add todo file (diff)
downloadnixos-config-154d9187bfa3885c6de9d0efd0acace78ad2d5aa.zip
Feat(home-manager): Add local packages
Diffstat (limited to 'home-manager')
-rw-r--r--home-manager/packages/default.nix272
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
+ ];
+}