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

298 lines
7.5 KiB
Nix
Raw Normal View History

2022-03-10 21:52:12 +01:00
{
config,
2022-03-10 21:52:12 +01:00
pkgs,
lib,
inputs,
niveumPackages,
2023-05-17 11:16:05 +02:00
unstablePackages,
2022-03-10 21:52:12 +01:00
...
}: let
worldradio = pkgs.callPackage ../packages/worldradio.nix {};
2022-09-23 23:31:14 +02:00
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
'';
});
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
cinnamon.nemo
2020-04-09 16:58:21 +02:00
# MEDIA
ffmpeg
imagemagick
2021-03-19 16:58:39 +01:00
exiftool
nsxiv
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
2022-11-22 11:48:15 +01:00
fq # toolkit for yaml, xml and binaries
man-pages
man-pages-posix
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
2023-06-06 19:59:27 +02:00
obsidian
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
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
2023-03-26 19:24:38 +02:00
niveumPackages.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
2022-12-29 23:37:13 +01:00
rink # unit converter
niveumPackages.auc
niveumPackages.cheat-sh
niveumPackages.infschmv
niveumPackages.qrpaste
niveumPackages.ttspaste
niveumPackages.new-mac # get a new mac address
niveumPackages.scanned
niveumPackages.default-gateway
niveumPackages.kirciuoklis
niveumPackages.image-convert-favicon
niveumPackages.heuretes
niveumPackages.ipa # XSAMPA to IPA converter
niveumPackages.pls
niveumPackages.mpv-tv
niveumPackages.devanagari
niveumPackages.betacode # ancient greek betacode to unicode converter
niveumPackages.meteo
niveumPackages.mahlzeit
niveumPackages.vimv
niveumPackages.swallow # window swallowing
niveumPackages.literature-quote
2022-03-28 11:56:15 +02:00
jless # less(1) for json
niveumPackages.booksplit
niveumPackages.dmenu-randr
niveumPackages.dmenu-bluetooth
niveumPackages.manual-sort
niveumPackages.dns-sledgehammer
ts
niveumPackages.vg
niveumPackages.fkill
niveumPackages.wttr
niveumPackages.unicodmenu
niveumPackages.closest
niveumPackages.trans
(niveumPackages.mpv-radio.override {
di-fm-key-file = config.age.secrets.di-fm-key.path;
})
2020-04-09 16:58:21 +02:00
# kmein.slide
2022-11-09 11:07:58 +01:00
termdown
niveumPackages.image-convert-tolino
niveumPackages.rfc
niveumPackages.tag
niveumPackages.timer
niveumPackages.menu-calc
2020-04-09 16:58:21 +02:00
nix-prefetch-git
niveumPackages.nix-git
2020-06-09 21:38:16 +02:00
nixfmt
2020-04-09 16:58:21 +02:00
par
qrencode
2023-02-23 16:53:53 +01:00
inputs.menstruation-backend.defaultPackage.x86_64-linux
2023-03-27 09:27:30 +02:00
inputs.agenix.packages.x86_64-linux.default
2023-02-23 16:53:53 +01:00
inputs.recht.defaultPackage.x86_64-linux
2021-10-19 18:59:29 +02:00
(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
'')
(pkgs.writers.writeDashBin "ncmpcpp-zaatar" ''MPD_HOST=${(import ../lib/local-network.nix).zaatar} exec ${pkgs.ncmpcpp}/bin/ncmpcpp "$@"'')
(pkgs.writers.writeDashBin "mpc-zaatar" ''MPD_HOST=${(import ../lib/local-network.nix).zaatar} exec ${pkgs.mpc_cli}/bin/mpc "$@"'')
2021-04-08 19:52:37 +02:00
inputs.scripts.packages.x86_64-linux.alarm
2023-02-23 16:53:53 +01:00
spotify
2021-10-08 20:04:05 +02:00
ncspot
playerctl
nix-index
niveumPackages.nix-index-update
2021-10-08 22:20:58 +02:00
#krebs
2023-03-26 19:24:38 +02:00
niveumPackages.dic
niveumPackages.cyberlocker-tools
niveumPackages.untilport
niveumPackages.kpaste
config.nur.repos.mic92.ircsink
(python3.withPackages (py: [
py.black
# py.python-language-server
# py.pyls-mypy
# py.pyls-black
# py.pyls-isort
py.flake8
py.pygments
py.schema
]))
2022-12-05 10:35:07 +01:00
# python3Packages.poetry
2023-03-06 22:07:57 +01:00
# language servers
pyright
haskell-language-server
texlab
nil
rust-analyzer
html-tidy
nodePackages.csslint
nodePackages.jsonlint
nodePackages.prettier
nodePackages.typescript
nodePackages.yarn
2022-12-29 23:37:13 +01:00
deno # better node.js
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
niveumPackages.text2pdf
lowdown
glow # markdown to term
libreoffice
# gnumeric
dia
2023-06-06 19:59:27 +02:00
pandoc
niveumPackages.man-pandoc
2023-06-06 19:59:27 +02:00
typst
# 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="$(cat ${config.age.secrets.home-assistant-token.path})" exec ${pkgs.home-assistant-cli}/bin/hass-cli "$@"
2022-03-12 12:43:35 +01:00
'')
2023-06-10 14:07:29 +02:00
# xml
saxonb_9_1
libxml2
2023-06-12 11:18:45 +02:00
zotero
2020-04-09 16:58:21 +02:00
];
age.secrets.home-assistant-token = {
file = ../secrets/home-assistant-token.age;
owner = config.users.users.me.name;
group = config.users.users.me.group;
mode = "400";
};
home-manager.users.me.xdg.configFile."pycodestyle".text = ''
[pycodestyle]
max-line-length = 110
'';
}