blob: 0d134db246cdd6677fe9544644707d84d2a0ca19 (
plain) (
tree)
|
|
{
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 = [
aumo
battery
con2pdf
description
fupdate
git-edit-index
hibernate
ll
lock
lyrics
mpc-fav
mpc-rm
mpc
nato
neorg
screenshot_persistent
screenshot_temporary
show
sort_song
spodi
update-sys
virsh-del
yti
];
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-crypt # mostly here to avoid problems in repositories, where the flake can't be loaded
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)))))))
]));
}
|