1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00
Files
niveum/configs/packages.nix

280 lines
6.9 KiB
Nix
Raw Normal View History

2022-03-10 21:52:12 +01:00
{
pkgs,
lib,
...
}: let
2021-01-15 14:09:06 +01:00
hc = pkgs.callPackage <stockholm/tv/5pkgs/simple/hc.nix> {};
worldradio = pkgs.callPackage <niveum/packages/worldradio.nix> {};
2021-12-30 16:42:02 +01:00
menstruation = pkgs.callPackage <menstruation-backend> {};
pandoc-doc = pkgs.callPackage <niveum/packages/man/pandoc.nix> {};
2021-10-19 18:59:29 +02:00
2022-09-23 23:31:14 +02:00
scripts = import <niveum/packages/scripts> {inherit pkgs lib;};
2022-03-10 21:52:12 +01:00
zoteroStyle = {
name,
sha256,
}: {
name = "${name}.csl";
path = pkgs.fetchurl {
url = "https://www.zotero.org/styles/${name}";
inherit sha256;
};
};
cslDirectory = pkgs.linkFarm "citation-styles" [
(zoteroStyle {
name = "chicago-author-date-de";
2022-03-29 00:21:16 +02:00
sha256 = "sha256-ddMYk4A9DJQhx9ldkmF7PhwKuc7wUSr26uHHGAze9Ps=";
})
(zoteroStyle {
name = "din-1505-2";
2022-03-29 00:21:16 +02:00
sha256 = "sha256-bXZbB850fek8J6wMVFL32ndI7F4wiKKr1qUC71ezreE=";
})
(zoteroStyle {
name = "apa";
2022-03-29 00:21:16 +02:00
sha256 = "sha256-yq4fW6hQknycLjaj5fPbXLrQlGBp5myXiOSHBU90jEc=";
})
];
astrolog = pkgs.astrolog.overrideAttrs (old:
2022-03-10 21:52:12 +01:00
old
// {
installPhase = ''
${old.installPhase}
# set sensible defaults
sed -i '
/^-z /s/8:00W/1:00E/ # timezone
/^-zl /s/122W19:59 47N36:35/13E22:42 52N27:42/ # default location
/^-zj /s/"Current moment now"/Now/ # default name
/^-zj /s/"Seattle, WA, USA"/Berlin/ # default location
/^_k/s/_k/=k/ # use color
/^_Yd/s/_Yd/=Yd/ # sensible date format
/^_Yt/s/_Yt/=Yt/ # sensible time format
/^_Yv/s/_Yv/=Yv/ # sensible length format
/^:Xbw/s/:Xbw/:Xbn/ # set X11 bitmap format
/^:I /s/80/120/ # wider text output
' $out/astrolog/astrolog.as
'';
});
2021-12-27 10:29:11 +01:00
2021-12-31 16:57:45 +01:00
recht = pkgs.callPackage <recht> {};
2020-12-03 10:08:47 +01:00
in {
home-manager.users.me.home.file = {
".csl".source = cslDirectory;
".local/share/pandoc/csl".source = cslDirectory; # as of pandoc 2.11, it includes citeproc
};
2020-04-09 16:58:21 +02:00
environment.systemPackages = with pkgs; [
# INTERNET
aria2
firefox
2020-04-09 16:58:21 +02:00
tdesktop
w3m
wget
whois
2020-11-02 21:43:54 +01:00
dnsutils
2020-04-09 16:58:21 +02:00
# FILE MANAGERS
2022-05-31 19:34:20 +02:00
lf
2020-12-20 19:22:15 +01:00
pcmanfm
2020-04-09 16:58:21 +02:00
# MEDIA
ffmpeg
imagemagick
2021-03-19 16:58:39 +01:00
exiftool
2020-04-09 16:58:21 +02:00
# ARCHIVE TOOLS
unzip
unrar
p7zip
zip
# MONITORS
htop
iotop # I/O load monitor
iftop # interface bandwidth monitor
lsof # list open files
psmisc # for killall, pstree
# SHELL
bat # better cat
fd # better find
file # determine file type
dos2unix
2022-07-14 07:35:48 +02:00
genpass # generate passwords
2022-09-27 19:17:30 +02:00
gdu # ncurses disk usage (ncdu is broken)
2022-08-16 21:17:24 +02:00
rmlint # remove duplicate files
2020-04-09 16:58:21 +02:00
python3Packages.jsonschema # json validation
jq # json toolkit
2021-01-18 18:05:01 +01:00
pup # html toolkit
2022-01-11 23:18:43 +01:00
htmlq
2020-04-09 16:58:21 +02:00
xsv # csv toolkit
xmlstarlet # xml toolkit
man-pages
2020-04-09 16:58:21 +02:00
posix_man_pages
tree
exfat # to mount windows drives
parallel # for parallel, since moreutils shadows task spooler
2020-04-09 16:58:21 +02:00
ripgrep # better grep
rlwrap
progress # display progress bars for pipes
# HARDWARE TOOLS
usbutils # for lsusb
pciutils # for lspci
lshw # for lshw
arandr # xrandr for noobs
libnotify # for notify-send
xclip # clipboard CLI
xdragon # drag and drop
2020-04-09 16:58:21 +02:00
xorg.xkill # kill by clicking
audacity
calibre
2022-03-12 12:43:47 +01:00
electrum
2020-04-09 16:58:21 +02:00
inkscape
astrolog
2022-07-25 22:25:34 +02:00
anki-bin # flashcards
2022-01-15 08:21:42 +01:00
jbofihe # lojbanic software
zoom-us # video conferencing
alejandra # nix formatter
2020-04-09 16:58:21 +02:00
pdfgrep # search in pdf
pdftk # pdf toolkit
2022-01-11 20:05:25 +01:00
mupdf
2021-03-19 16:58:39 +01:00
poppler_utils # pdf toolkit
2021-07-16 12:42:26 +02:00
foxitreader # for viewing pdf annotations
2022-07-15 08:47:07 +02:00
okular # the word is nucular
2020-12-28 19:50:51 +01:00
xournalpp # for annotating pdfs
2021-05-05 14:39:00 +02:00
pdfpc # presenter console for pdf slides
2020-12-03 10:08:47 +01:00
hc # print files as qr codes
2022-04-26 20:07:09 +02:00
yt-dlp
2022-01-11 22:25:25 +01:00
espeak
2020-04-09 16:58:21 +02:00
bc # calculator
pari # gp -- better calculator
2021-12-10 19:42:52 +01:00
scripts.auc
2022-08-15 16:05:36 +02:00
scripts.stackoverflow
2021-02-14 11:21:30 +01:00
scripts.infschmv
2021-09-23 21:25:50 +02:00
scripts.qrpaste
2022-01-06 20:17:05 +01:00
scripts.ttspaste
2021-09-16 16:06:10 +02:00
scripts.new-mac # get a new mac address
2021-05-13 21:34:16 +02:00
scripts.scanned
scripts.default-gateway
scripts.showkeys-toggle
2021-11-12 20:06:02 +01:00
scripts.kirciuoklis
scripts.favicon
2022-08-16 21:17:30 +02:00
scripts.heuretes
scripts.ipa # XSAMPA to IPA converter
scripts.playlist
scripts.mpv-tv
2020-12-16 22:25:04 +01:00
scripts.devanagari
scripts.betacode # ancient greek betacode to unicode converter
2021-04-07 09:45:36 +02:00
scripts.meteo
2021-12-01 17:38:47 +01:00
scripts.mahlzeit
2021-05-17 07:08:11 +02:00
recht
2021-12-01 17:38:47 +01:00
scripts.vimv
scripts.swallow # window swallowing
scripts.literature-quote
2022-03-28 11:56:15 +02:00
jless # less(1) for json
2020-04-15 00:10:30 +02:00
scripts.notetags
2020-07-11 20:43:19 +02:00
scripts.booksplit
2020-09-10 16:29:14 +02:00
scripts.dmenurandr
2020-10-28 20:27:05 +01:00
scripts.interdimensional-cable
2020-09-14 18:25:51 +02:00
scripts.dmenubluetooth
2020-07-11 20:43:19 +02:00
scripts.manual-sort
scripts.much-scripts
scripts.dns-sledgehammer
ts
scripts.vg
scripts.fkill
scripts.wttr
2021-03-04 18:54:48 +01:00
scripts.unicodmenu
2021-11-15 18:43:34 +01:00
scripts.closest
scripts.trans
2021-04-01 11:00:28 +02:00
scripts.mpv-radio
2020-04-09 16:58:21 +02:00
# kmein.slide
scripts.tolino-screensaver
2021-03-11 10:26:19 +01:00
scripts.rfc
scripts.tag
2022-01-17 10:04:17 +01:00
scripts.timer
2022-01-08 10:18:43 +01:00
python3Packages.eyeD3
scripts.menu-calc
2020-04-09 16:58:21 +02:00
nix-prefetch-git
scripts.nix-git
2020-06-09 21:38:16 +02:00
nixfmt
2020-04-09 16:58:21 +02:00
par
qrencode
2021-10-19 18:59:29 +02:00
menstruation
(pkgs.writers.writeDashBin "worldradio" ''
shuf ${worldradio} | ${pkgs.findutils}/bin/xargs ${pkgs.mpv}/bin/mpv --no-video
'')
2021-08-11 13:16:46 +02:00
(pkgs.writers.writeDashBin "chats" ''
${pkgs.openssh}/bin/ssh makanek "cd /var/lib/weechat/logs && grep --ignore-case --color=always --recursive $@" | ${pkgs.less}/bin/less --raw-control-chars
'')
2021-04-08 19:52:37 +02:00
(pkgs.writers.writeDashBin "ncmpcpp-zaatar" ''MPD_HOST=${(import <niveum/lib/local-network.nix>).zaatar} exec ${pkgs.ncmpcpp}/bin/ncmpcpp "$@"'')
2021-07-08 12:47:14 +02:00
(pkgs.writers.writeDashBin "mpc-zaatar" ''MPD_HOST=${(import <niveum/lib/local-network.nix>).zaatar} exec ${pkgs.mpc_cli}/bin/mpc "$@"'')
2021-04-08 19:52:37 +02:00
spotify
2021-10-08 20:04:05 +02:00
ncspot
playerctl
nix-index
scripts.nix-index-update
2021-10-08 22:20:58 +02:00
#krebs
dic
cyberlocker-tools
untilport
kpaste
irc-announce
git-preview
2021-10-19 22:42:29 +02:00
ircaids
(python3.withPackages (py: [
py.black
# py.python-language-server
# py.pyls-mypy
# py.pyls-black
# py.pyls-isort
py.flake8
py.pygments
py.schema
]))
python3Packages.poetry
html-tidy
nodePackages.csslint
nodePackages.jsonlint
nodePackages.prettier
nodePackages.typescript
nodePackages.yarn
nodejs
nodePackages.javascript-typescript-langserver
texlive.combined.scheme-full
latexrun
2022-03-10 21:52:12 +01:00
(aspellWithDicts (dict: [dict.de dict.en dict.en-computers]))
# haskellPackages.pandoc-citeproc
scripts.text2pdf
lowdown
glow # markdown to term
libreoffice
# gnumeric
dia
pandoc
pandoc-doc
# proselint
asciidoctor
wordnet
tokei # count lines of code
gnumake
binutils # for strip, ld, ...
# nightly.rust
shellcheck
2022-03-12 12:43:35 +01:00
(pkgs.writers.writeDashBin "hass-cli" ''
HASS_SERVER=http://zaatar.r:8123 HASS_TOKEN=${lib.strings.fileContents <secrets/hass/token>} exec ${pkgs.home-assistant-cli}/bin/hass-cli "$@"
'')
2022-03-13 10:30:42 +01:00
scripts.rofi-hass
2020-04-09 16:58:21 +02:00
];
home-manager.users.me.xdg.configFile."pycodestyle".text = ''
[pycodestyle]
max-line-length = 110
'';
}