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

288 lines
7.7 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,
unstablePackages,
2022-03-10 21:52:12 +01:00
...
}: let
worldradio = pkgs.callPackage ../packages/worldradio.nix {};
2022-09-23 23:31:14 +02:00
2024-06-26 19:35:05 +02:00
externalNetwork = import ../lib/external-network.nix;
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";
2024-03-19 23:15:35 +01:00
sha256 = "sha256-sUf0Ov5c9aTUoLsYSRbQl3Qs9ELkb5/Tky35kH7pKuE=";
})
];
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
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
2024-04-03 10:09:58 +02:00
pcmanfm
2020-04-09 16:58:21 +02:00
# MEDIA
ffmpeg
imagemagick
2021-03-19 16:58:39 +01:00
exiftool
nsxiv
2024-03-31 12:48:03 +02:00
graphviz
2020-04-09 16:58:21 +02:00
# SHELL
bat # better cat
dos2unix
2022-07-14 07:35:48 +02:00
genpass # generate passwords
2024-05-22 20:01:37 +02:00
(pkgs.writers.writeDashBin "genpassphrase" ''${pkgs.genpass}/bin/genpass --passphrase | ${pkgs.gnused}/bin/sed 's/ /-/g;s/\(^\|-\)\([a-z]\)/\1\U\2/g;s/$/-'$(${pkgs.coreutils}/bin/date +%Y)'/' '')
2023-06-13 14:17:35 +02:00
gcc
2020-04-09 16:58:21 +02:00
python3Packages.jsonschema # json validation
2021-01-18 18:05:01 +01:00
pup # html toolkit
2020-04-09 16:58:21 +02:00
xsv # csv toolkit
2024-10-23 07:54:26 +02:00
magic-wormhole-rs # file transfer
man-pages
man-pages-posix
exfat # to mount windows drives
2020-04-09 16:58:21 +02:00
# HARDWARE TOOLS
2024-12-13 13:42:16 +01:00
gnome-disk-utility
2020-04-09 16:58:21 +02:00
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
2024-10-25 21:09:24 +02:00
niveumPackages.gimp
2023-12-27 10:38:42 +01:00
gthumb
astrolog
2023-12-06 14:41:49 +01:00
obsidian
2024-07-23 20:18:53 +02:00
lemmeknow # identify strings
aichat # chat with llms
2022-07-25 22:25:34 +02:00
anki-bin # flashcards
2022-01-15 08:21:42 +01:00
jbofihe # lojbanic software
2024-09-08 20:35:53 +02:00
# unstablePackages.zoom-us # video conferencing
2024-06-26 19:35:05 +02:00
(pkgs.writers.writeDashBin "im" ''
weechat_password=$(${pkgs.pass}/bin/pass weechat)
exec ${unstablePackages.weechat}/bin/weechat -t -r '/mouse enable; /remote add makanek http://${externalNetwork.makanek}:8002 -password='"$weechat_password"'; /remote connect makanek'
'')
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
2022-12-29 23:37:13 +01:00
rink # unit converter
niveumPackages.auc
2024-09-18 09:20:26 +02:00
niveumPackages.noise-waves
niveumPackages.cheat-sh
niveumPackages.polyglot
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
2023-09-15 14:37:30 +02:00
niveumPackages.mpv-iptv
2023-09-21 07:27:42 +02:00
jellyfin-media-player
niveumPackages.devanagari
niveumPackages.betacode # ancient greek betacode to unicode converter
niveumPackages.meteo
niveumPackages.mahlzeit
2023-09-15 10:52:27 +02:00
niveumPackages.jq-lsp
niveumPackages.swallow # window swallowing
niveumPackages.literature-quote
niveumPackages.booksplit
niveumPackages.dmenu-randr
niveumPackages.dmenu-bluetooth
niveumPackages.manual-sort
niveumPackages.dns-sledgehammer
niveumPackages.wttr
niveumPackages.unicodmenu
2023-10-06 12:29:11 +02:00
niveumPackages.emailmenu
niveumPackages.closest
niveumPackages.trans
niveumPackages.cro
(niveumPackages.mpv-radio.override {
di-fm-key-file = config.age.secrets.di-fm-key.path;
})
(niveumPackages.mpv-radio.override {
di-fm-key-file = config.age.secrets.di-fm-key.path;
executableName = "cro-radio";
mpvCommand = "${niveumPackages.cro}/bin/cro";
})
(niveumPackages.mpv-tuner.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
2024-06-03 07:27:01 +02:00
nixfmt-rfc-style
2020-04-09 16:58:21 +02:00
par
qrencode
2023-12-06 14:41:49 +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
2024-12-13 13:42:16 +01:00
pkgs.nur.repos.mic92.ircsink
(haskellPackages.ghcWithHoogle (hs: [
2023-06-21 10:40:56 +02:00
hs.text
hs.lens
hs.bytestring
]))
(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-10-06 10:50:16 +02:00
dhall-nix
dhall-bash
dhall-json
dhall
html-tidy
nodePackages.csslint
nodePackages.jsonlint
2024-10-27 15:45:07 +01:00
unstablePackages.deno # better node.js
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-12-06 14:41:49 +01: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
'';
}