2022-03-10 21:52:12 +01:00
|
|
|
{
|
2023-02-22 10:02:55 +01:00
|
|
|
config,
|
2022-03-10 21:52:12 +01:00
|
|
|
pkgs,
|
2023-07-04 16:28:26 +02:00
|
|
|
lib,
|
2023-02-22 10:02:55 +01:00
|
|
|
inputs,
|
2023-02-24 23:10:45 +01:00
|
|
|
niveumPackages,
|
2023-07-04 16:28:26 +02:00
|
|
|
unstablePackages,
|
2022-03-10 21:52:12 +01:00
|
|
|
...
|
|
|
|
|
}: let
|
2023-02-22 10:02:55 +01:00
|
|
|
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,
|
|
|
|
|
}: {
|
2021-12-31 13:21:22 +01:00
|
|
|
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=";
|
2021-12-31 13:21:22 +01:00
|
|
|
})
|
|
|
|
|
(zoteroStyle {
|
|
|
|
|
name = "din-1505-2";
|
2022-03-29 00:21:16 +02:00
|
|
|
sha256 = "sha256-bXZbB850fek8J6wMVFL32ndI7F4wiKKr1qUC71ezreE=";
|
2021-12-31 13:21:22 +01:00
|
|
|
})
|
|
|
|
|
(zoteroStyle {
|
|
|
|
|
name = "apa";
|
2022-03-29 00:21:16 +02:00
|
|
|
sha256 = "sha256-yq4fW6hQknycLjaj5fPbXLrQlGBp5myXiOSHBU90jEc=";
|
2021-12-31 13:21:22 +01:00
|
|
|
})
|
|
|
|
|
];
|
|
|
|
|
|
2022-05-24 11:11:52 +02:00
|
|
|
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 {
|
2021-12-31 13:21:22 +01:00
|
|
|
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
|
2021-09-17 21:03:28 +02:00
|
|
|
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
|
2023-02-07 22:30:42 +01:00
|
|
|
cinnamon.nemo
|
2020-04-09 16:58:21 +02:00
|
|
|
# MEDIA
|
|
|
|
|
ffmpeg
|
|
|
|
|
imagemagick
|
2021-03-19 16:58:39 +01:00
|
|
|
exiftool
|
2023-02-22 10:02:55 +01:00
|
|
|
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
|
2023-06-13 14:17:35 +02:00
|
|
|
gcc
|
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
|
2022-05-24 11:11:52 +02:00
|
|
|
man-pages
|
2022-10-06 10:28:07 +02:00
|
|
|
man-pages-posix
|
2020-11-23 15:26:50 +01:00
|
|
|
tree
|
2022-05-24 11:11:52 +02:00
|
|
|
exfat # to mount windows drives
|
2020-07-27 22:38:35 +02:00
|
|
|
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
|
2022-05-24 11:11:52 +02:00
|
|
|
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
|
2021-12-31 13:21:22 +01:00
|
|
|
astrolog
|
2023-12-06 14:41:49 +01:00
|
|
|
obsidian
|
2022-07-25 22:25:34 +02:00
|
|
|
anki-bin # flashcards
|
2022-01-15 08:21:42 +01:00
|
|
|
jbofihe # lojbanic software
|
2022-05-24 11:11:52 +02:00
|
|
|
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
|
2021-04-27 21:56:44 +02:00
|
|
|
pari # gp -- better calculator
|
2022-12-29 23:37:13 +01:00
|
|
|
rink # unit converter
|
2023-02-24 23:10:45 +01:00
|
|
|
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
|
2023-09-15 14:37:30 +02:00
|
|
|
niveumPackages.mpv-iptv
|
2023-09-21 07:27:42 +02:00
|
|
|
jellyfin-media-player
|
2023-02-24 23:10:45 +01:00
|
|
|
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
|
2023-02-24 23:10:45 +01:00
|
|
|
niveumPackages.vimv
|
|
|
|
|
niveumPackages.swallow # window swallowing
|
|
|
|
|
niveumPackages.literature-quote
|
2022-03-28 11:56:15 +02:00
|
|
|
jless # less(1) for json
|
2023-02-24 23:10:45 +01:00
|
|
|
niveumPackages.booksplit
|
|
|
|
|
niveumPackages.dmenu-randr
|
|
|
|
|
niveumPackages.dmenu-bluetooth
|
|
|
|
|
niveumPackages.manual-sort
|
|
|
|
|
niveumPackages.dns-sledgehammer
|
2020-07-27 22:38:35 +02:00
|
|
|
ts
|
2023-02-24 23:10:45 +01:00
|
|
|
niveumPackages.vg
|
|
|
|
|
niveumPackages.fkill
|
|
|
|
|
niveumPackages.wttr
|
|
|
|
|
niveumPackages.unicodmenu
|
2023-10-06 12:29:11 +02:00
|
|
|
niveumPackages.emailmenu
|
2023-02-24 23:10:45 +01:00
|
|
|
niveumPackages.closest
|
|
|
|
|
niveumPackages.trans
|
|
|
|
|
(niveumPackages.mpv-radio.override {
|
|
|
|
|
di-fm-key-file = config.age.secrets.di-fm-key.path;
|
|
|
|
|
})
|
2023-07-15 22:33:35 +02:00
|
|
|
(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
|
2023-02-24 23:10:45 +01:00
|
|
|
niveumPackages.image-convert-tolino
|
|
|
|
|
niveumPackages.rfc
|
|
|
|
|
niveumPackages.tag
|
|
|
|
|
niveumPackages.timer
|
|
|
|
|
niveumPackages.menu-calc
|
2020-04-09 16:58:21 +02:00
|
|
|
nix-prefetch-git
|
2023-02-24 23:10:45 +01:00
|
|
|
niveumPackages.nix-git
|
2020-06-09 21:38:16 +02:00
|
|
|
nixfmt
|
2020-04-09 16:58:21 +02:00
|
|
|
par
|
|
|
|
|
qrencode
|
2020-10-28 20:29:01 +01:00
|
|
|
|
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
|
|
|
|
2021-03-11 09:35:22 +01: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
|
|
|
|
|
'')
|
|
|
|
|
|
2023-02-22 10:02:55 +01:00
|
|
|
(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
|
|
|
|
2023-02-24 23:10:45 +01:00
|
|
|
inputs.scripts.packages.x86_64-linux.alarm
|
2023-02-23 16:53:53 +01:00
|
|
|
|
2022-02-15 22:16:50 +01:00
|
|
|
spotify
|
2021-10-08 20:04:05 +02:00
|
|
|
ncspot
|
2020-10-28 20:29:01 +01:00
|
|
|
playerctl
|
2021-04-27 21:56:44 +02:00
|
|
|
|
|
|
|
|
nix-index
|
2023-02-24 23:10:45 +01:00
|
|
|
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
|
2023-02-22 10:02:55 +01:00
|
|
|
config.nur.repos.mic92.ircsink
|
2021-12-31 13:21:22 +01:00
|
|
|
|
2023-07-09 16:32:57 +02:00
|
|
|
(haskellPackages.ghcWithHoogle (hs: [
|
2023-06-21 10:40:56 +02:00
|
|
|
hs.text
|
|
|
|
|
hs.lens
|
|
|
|
|
hs.bytestring
|
|
|
|
|
]))
|
|
|
|
|
|
2021-12-31 13:21:22 +01:00
|
|
|
(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
|
2021-12-31 13:21:22 +01:00
|
|
|
|
2023-03-06 22:07:57 +01:00
|
|
|
# language servers
|
|
|
|
|
pyright
|
|
|
|
|
haskell-language-server
|
|
|
|
|
texlab
|
|
|
|
|
nil
|
|
|
|
|
rust-analyzer
|
2023-07-12 12:31:50 +02:00
|
|
|
elmPackages.elm-language-server
|
|
|
|
|
nodePackages.typescript-language-server
|
|
|
|
|
lua-language-server
|
2023-07-14 17:19:23 +02:00
|
|
|
nodePackages.vscode-langservers-extracted
|
2023-03-06 22:07:57 +01:00
|
|
|
|
2023-10-06 10:50:16 +02:00
|
|
|
dhall-lsp-server
|
|
|
|
|
dhall-nix
|
|
|
|
|
dhall-bash
|
|
|
|
|
dhall-json
|
|
|
|
|
dhall
|
|
|
|
|
|
2022-05-24 11:11:52 +02:00
|
|
|
html-tidy
|
2021-12-31 13:21:22 +01:00
|
|
|
nodePackages.csslint
|
|
|
|
|
nodePackages.jsonlint
|
|
|
|
|
nodePackages.prettier
|
|
|
|
|
nodePackages.typescript
|
2023-07-12 12:31:50 +02:00
|
|
|
nodePackages.eslint
|
2021-12-31 13:21:22 +01:00
|
|
|
nodePackages.yarn
|
2022-12-29 23:37:13 +01:00
|
|
|
deno # better node.js
|
2021-12-31 13:21:22 +01:00
|
|
|
nodejs
|
|
|
|
|
texlive.combined.scheme-full
|
|
|
|
|
latexrun
|
2022-03-10 21:52:12 +01:00
|
|
|
(aspellWithDicts (dict: [dict.de dict.en dict.en-computers]))
|
2021-12-31 13:21:22 +01:00
|
|
|
# haskellPackages.pandoc-citeproc
|
2023-02-24 23:10:45 +01:00
|
|
|
niveumPackages.text2pdf
|
2021-12-31 13:21:22 +01:00
|
|
|
lowdown
|
|
|
|
|
glow # markdown to term
|
|
|
|
|
libreoffice
|
|
|
|
|
# gnumeric
|
|
|
|
|
dia
|
2023-12-06 14:41:49 +01:00
|
|
|
pandoc
|
2023-02-24 23:10:45 +01:00
|
|
|
niveumPackages.man-pandoc
|
2023-06-06 19:59:27 +02:00
|
|
|
typst
|
2021-12-31 13:21:22 +01:00
|
|
|
# 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" ''
|
2023-02-22 10:02:55 +01:00
|
|
|
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
|
|
|
];
|
|
|
|
|
|
2023-02-24 23:10:45 +01:00
|
|
|
age.secrets.home-assistant-token = {
|
2023-07-04 16:28:26 +02:00
|
|
|
file = ../secrets/home-assistant-token.age;
|
2023-02-24 23:10:45 +01:00
|
|
|
owner = config.users.users.me.name;
|
|
|
|
|
group = config.users.users.me.group;
|
|
|
|
|
mode = "400";
|
|
|
|
|
};
|
2023-02-22 10:02:55 +01:00
|
|
|
|
2021-12-31 13:21:22 +01:00
|
|
|
home-manager.users.me.xdg.configFile."pycodestyle".text = ''
|
|
|
|
|
[pycodestyle]
|
|
|
|
|
max-line-length = 110
|
|
|
|
|
'';
|
2019-08-05 09:38:59 +02:00
|
|
|
}
|