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 | |
parent | Chore: Add todo file (diff) | |
download | nixos-config-154d9187bfa3885c6de9d0efd0acace78ad2d5aa.tar.gz nixos-config-154d9187bfa3885c6de9d0efd0acace78ad2d5aa.zip |
Feat(home-manager): Add local packages
-rw-r--r-- | home-manager/packages/default.nix | 272 | ||||
-rw-r--r-- | system/packages/default.nix | 252 |
2 files changed, 272 insertions, 252 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 + ]; +} diff --git a/system/packages/default.nix b/system/packages/default.nix index 6eb25681..8f0271fe 100644 --- a/system/packages/default.nix +++ b/system/packages/default.nix @@ -1,257 +1,5 @@ {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 |