aboutsummaryrefslogtreecommitdiffstats
path: root/modules/home/soispha/pkgs
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-20 16:06:57 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-20 16:14:24 +0200
commit5156e1aae36a153be98b6832ab3ced7be2b2faee (patch)
tree3f050d3bc567af4c72f87e0925d21c3521436e45 /modules/home/soispha/pkgs
parentrefactor(hm/conf/zsh): Remove old zsh-prompt file (diff)
downloadnixos-config-5156e1aae36a153be98b6832ab3ced7be2b2faee.zip
refactor(hm): Rename to `modules/home`
Diffstat (limited to 'modules/home/soispha/pkgs')
-rw-r--r--modules/home/soispha/pkgs/default.nix167
1 files changed, 167 insertions, 0 deletions
diff --git a/modules/home/soispha/pkgs/default.nix b/modules/home/soispha/pkgs/default.nix
new file mode 100644
index 00000000..c821cd94
--- /dev/null
+++ b/modules/home/soispha/pkgs/default.nix
@@ -0,0 +1,167 @@
+{
+ pkgs,
+ lib,
+ ...
+}:
+with pkgs; let
+ onlyShare = drv:
+ runCommand "${drv.name}-only-share" {} ''
+ mkdir -p $out
+ ln -s ${drv}/share $out/share
+ '';
+ mpc-cli-man = onlyShare mpc-cli;
+
+ Gui = {
+ Terminals = [
+ # foot # wayland native terminal
+ alacritty # default terminal
+ ];
+ Browsers = [
+ #ungoogled-chromium # web browser (only for web programming)
+ #brave
+ ];
+
+ ImageManipulation = [
+ #krita # new, and better (KDE)
+ #gimp # conservative, and old (GNOME)
+ ];
+
+ Social = [
+ mumble # voice chat software (client)
+ # lutris # multiple game store clients
+
+ # nheko # best matrix client (as of today)
+ # element-desktop # nheko didn't work
+ signal-desktop # to avoid encryption problems with signal-bridge
+ ];
+
+ Misc = [
+ #kalzium # Periodic Table of Elements (`element` is [sort of] better)
+ keepassxc # password manager
+ #onlykey # OnlyKey Chrome Desktop App
+ anki-bin # spaced repetition
+ ];
+ };
+
+ TuiCli = {
+ ShellScripts = builtins.attrValues pkgs.scripts;
+
+ EyeCandy = [
+ #banner # Print large banners to ASCII terminals
+ cmatrix # A curses-based scrolling 'Matrix'-like screen
+ hyfetch # Neofetch with LGBTQ pride flags.
+ ];
+
+ Social = [
+ iamb # best tui matrix client (as of today)
+ ];
+
+ Misc = [
+ android-file-transfer # Android MTP client with minimalistic UI
+ #xdg-ninja # A shell script which checks your $HOME for unwanted files and directories.
+ xdg-utils # open urls and such things
+ yokadi # Command line oriented, sqlite powered, todo list
+ killall # kill a application by name
+ snap-sync-forked # A btrfs based backup solution
+ bc # Smart calculator
+ ];
+
+ WM = {
+ river = [river]; # A dynamic tiling wayland compositor
+
+ CLITools = [
+ lswt # List Wayland toplevels
+ wl-clipboard # Command-line copy/paste utilities
+ swaylock # lockscreen
+ ];
+
+ Media = [
+ wf-recorder # Screen recorder
+ libnotify # a command to send a notification
+ ];
+ };
+
+ Media = {
+ View = [
+ imv # Image viewer
+ zathura # PDF viewer
+ ytcc # Command line tool to keep track of your favorite playlists on YouTube and many other places.
+ ytc # My tool to download the videos (used in conjunction with the entry above)
+ yts # My tool to select the videos (used in conjunction with the entry above)
+ yt # My tool to both select and then download the videos (a merged version of the two entries above)
+ comments # My tool to display comments
+ ];
+
+ Listen = [
+ pulseaudio # set the volume with pactl
+ ncmpc # mpd player client
+ mpc-cli-man # a cli mpd client (added via a wrapper script)
+ ];
+ };
+
+ Hardware = {
+ Storage = [
+ #compsize # Calculate compression ratio of a set of files on Btrfs
+ # TODO: smartmontools # Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives
+ ];
+
+ Input = [
+ #piper # GTK application to configure gaming mice
+ ];
+ };
+
+ FileListers = [
+ tree # A directory listing program displaying a depth indented list of 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
+ fzf # used to quickly move around with its keybindings
+ file # Show information about a file
+ ];
+
+ Editors = [
+ ed # A POSIX-compliant line-oriented text editor
+ #sed # GNU stream editor
+ vim # The original ex/vi text editor (this is `vim` and not `vi`, as `vi` is unfree)
+ #neovim # Fork of Vim aiming to improve user experience, plugins, and GUIs
+ ];
+
+ Programming = {
+ GeneralTools = [
+ git # the fast distributed version control system
+ git-absorb # git commit --fixup, but automatic
+ glow # Command-line markdown renderer
+ ];
+ };
+ };
+ # TODO: unmaintained, find sth else:
+ # handlr # Powerful alternative to xdg-utils written in Rust
+ mapFun = x:
+ if builtins.isAttrs x
+ then
+ if lib.isDerivation x
+ then [x]
+ else builtins.attrValues x
+ else [x];
+in {
+ home.packages =
+ []
+ ++ (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)))))))
+ ]));
+}