diff options
Diffstat (limited to 'home')
-rw-r--r-- | home/home-minimal.nix | 42 | ||||
-rw-r--r-- | home/home.nix | 60 | ||||
-rw-r--r-- | home/newsboat-public.nix | 36 | ||||
-rw-r--r-- | home/packages-minimal.nix | 11 | ||||
-rw-r--r-- | home/packages.nix | 65 | ||||
-rw-r--r-- | home/unstable.nix | 22 |
6 files changed, 155 insertions, 81 deletions
diff --git a/home/home-minimal.nix b/home/home-minimal.nix index 42f358d..cfeb2b2 100644 --- a/home/home-minimal.nix +++ b/home/home-minimal.nix @@ -131,15 +131,53 @@ extraConfig = { log.showSignature = true; init.defaultBranch = "main"; - alias.search = "!git log --format='tformat:%h %cs %s' --no-show-signature | fzf --multi --preview 'git show {+1}|bat -p -lpatch --color=always' | cut -f1 -d\" \" | wl-copy -n && wl-paste"; - alias.where = "!fish -c git-where"; merge.conflictStyle = "zdiff3"; push.autoSetupRemote = true; + pull.rebase = true; commit.verbose = true; rerere.enabled = true; branch.sort = "-authordate"; + tag.sort = "version:refname"; + column.ui = "auto"; + + diff = { + algorithm = "histogram"; + colorMoved = "plain"; + mnemoicPrefix = true; + renames = true; + }; + + alias = { + search = "!git log --format='tformat:%h %cs %s' --no-show-signature | fzf --multi --preview 'git show {+1}|bat -p -lpatch --color=always' | cut -f1 -d\" \" | wl-copy -n && wl-paste"; + where = "!fish -c git-where"; + }; + + merge.mergiraf = { + name = "mergiraf"; + driver = "merigraf merge --git %O %A %B -s %S -x %X -y %Y -p %P"; + }; }; + attributes = [ + "*.java merge=mergiraf" + "*.rs merge=mergiraf" + "*.go merge=mergiraf" + "*.js merge=mergiraf" + "*.jsx merge=mergiraf" + "*.json merge=mergiraf" + "*.yml merge=mergiraf" + "*.yaml merge=mergiraf" + "*.html merge=mergiraf" + "*.htm merge=mergiraf" + "*.xhtml merge=mergiraf" + "*.xml merge=mergiraf" + "*.c merge=mergiraf" + "*.h merge=mergiraf" + "*.cpp merge=mergiraf" + "*.hpp merge=mergiraf" + "*.cs merge=mergiraf" + ]; + # diff-so-fancy.enable = true; # difftastic.enable = true; delta = { diff --git a/home/home.nix b/home/home.nix index 1e49983..e743f2a 100644 --- a/home/home.nix +++ b/home/home.nix @@ -83,6 +83,20 @@ userName = "stuebinm@ilztalbahn.eu"; passwordCommand = "secret-tool lookup mail ilztalbahn"; }; + accounts.preprint = { + address = "admin@books.exposed"; + imap.host = "books.exposed"; + mbsync = { + enable = true; + create = "maildir"; + }; + msmtp.enable = true; + mu.enable = true; + realName = "terru"; + smtp.host = "books.exposed"; + userName = "admin@books.exposed"; + passwordCommand = "secret-tool lookup mail preprint"; + }; }; programs.bash = { @@ -104,6 +118,7 @@ noms = "curl https://www.bahn.de/service/zug/db_lounge -s | htmlq --attribute href a | grep Speisen | xargs curl -s | pdftotext - /dev/stdout | less"; gosh = "rlwrap gosh"; geojson2gtfs = ''jq -r ".features[0].geometry.coordinates | to_entries | map([.value[0], .value[1], .key])[] | @csv"''; + slurpqr = "grim -g (slurp) - | zbarimg -q --raw - | wl-copy -n && wl-paste"; }; functions.fetchpdf.body = '' set url $argv[1] @@ -153,7 +168,7 @@ functions.stealemoji.body = '' if [ (expr (count $argv) % 2) != 0 ] echo wrong count of arguments - exit 1 + return 1 end set n (expr (count $argv) / 2) echo stealing $n emoji @@ -166,6 +181,19 @@ scp $argv[(seq 2 2 (expr $n + 1))].png flora:/var/lib/containers/pleroma/var/lib/akkoma/static/emoji/unsorted/ ssh flora machinectl shell pleroma /bin/sh -c \"pleroma_ctl emoji reload\" ''; + # source: https://notes.moira.is/Computer+Stuff/Useful+commands/Make+it+look+scanned + functions.scanify.body = '' + if [ (expr (count $argv) % 2) != 0 ] + echo usage: scanify input.pdf output.pdf + return 1 + end + if [ test -e tmp.pdf ] + echo error: would override tmp.pdf + return 1 + end + convert -density 150 $argv[1] -blur .1 -rotate .2 -attenuate .3 +noise gaussian tmp.pdf + gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=$argv[2] tmp.pdf + ''; }; programs.kitty = { @@ -215,7 +243,7 @@ }; systemd.user.services.syncical = let - feeds = (import inputs.feeds).ical; in { + feeds = inputs.feeds.ical; in { Unit.Description = "syncs ical feeds for almanac agenda"; Service = { ExecStart = (pkgs.writeShellScript "syncical" '' @@ -239,7 +267,7 @@ programs.newsboat = { enable = true; - urls = (import ./newsboat-public.nix) ++ (import inputs.feeds).rss; + urls = (import ./newsboat-public.nix) ++ inputs.feeds.rss; browser = lib.getExe' pkgs.offpunk "offpunk"; reloadThreads = 300; queries = { @@ -249,7 +277,7 @@ paper = ''tags # "paper"''; }; extraConfig = let - mkMpv = cmd: ''set browser "kitty @launch --type tab mpv --ytdl-format='b[height<=1100]' %u > /dev/null" ; ${cmd} ; set browser "${config.programs.newsboat.browser} %u"''; + mkMpv = cmd: ''set browser "kitty @launch --type tab mpv --ytdl-format='bv[height<=1100]+ba' %u > /dev/null" ; ${cmd} ; set browser "${config.programs.newsboat.browser} %u"''; in '' color background white default color listnormal white default @@ -267,7 +295,7 @@ macro 3 ${mkMpv "three"} macro 4 ${mkMpv "four"} macro 5 ${mkMpv "five"} - macro f set browser "${pkgs.xdg_utils}/bin/xdg-open %u >/dev/null 2>&1 &" ; open-in-browser ; set browser "${config.programs.newsboat.browser} %u" + macro f set browser "${pkgs.xdg-utils}/bin/xdg-open %u >/dev/null 2>&1 &" ; open-in-browser ; set browser "${config.programs.newsboat.browser} %u" macro d set browser "kitty @launch --type tab fish -c 'fetchpdf %u'" ; open-in-browser ; set browser "${config.programs.newsboat.browser} %u" bind-key j down @@ -315,6 +343,11 @@ user = "git"; identityFile = keydir + "/id_surltesh-echer"; }; + "encoder* mixer* atem* minion*" = { + # hostname = "%h.lan.c3voc.de"; + user = "voc"; + extraOptions.StrictHostKeyChecking = "no"; + }; "nobelium" = { hostname = "no.colorspace.club"; user = "root"; @@ -336,6 +369,11 @@ user = "root"; identityFile = keydir + "/id_ed25519"; }; + "billy" = { + hostname = "billy.books.exposed"; + user = "root"; + identityFile = keydir + "/id_ed25519"; + }; }; }; @@ -354,11 +392,13 @@ services.mako = { enable = true; - backgroundColor = "#74389eb0"; - borderColor = "#c27cb6ff"; - defaultTimeout = 5000; # milliseconds - padding = "10"; - output = "DP-9"; + settings = { + background-color = "#74389eb0"; + border-color = "#c27cb6ff"; + default-timeout = 5000; # milliseconds + padding = "10"; + output = "DP-9"; + }; }; services.mpd = { diff --git a/home/newsboat-public.nix b/home/newsboat-public.nix index 65915d4..29e2370 100644 --- a/home/newsboat-public.nix +++ b/home/newsboat-public.nix @@ -27,6 +27,11 @@ with import ./newsboat-lib.nix; (ntag "https://www.latex-project.org/feed.xml" "comp") (ntag "https://git.github.io/feed.xml" "comp") (ntag "https://www.gdl.de/feed.rss" "trains") + (ntag "https://www.transformativeworks.org/feed" "fandom") + (ntag "https://haskell.github.io/security-advisories/atom.xml" "comp") + (ntag "https://blog.haskell.org/atom.xml" "comp") + (ntag "https://mastodon.social/@opentrainticketing.rss" "trains") + (ntag "https://meta.akkoma.dev/c/releases/7.rss" "security") # blogs (btag "https://scilogs.spektrum.de/klimalounge/feed/" "climate") @@ -74,7 +79,7 @@ with import ./newsboat-lib.nix; (btag "https://www.haskellforall.com/feeds/posts/default" "comp") (btag "http://conal.net/blog/feed" "comp") (btag "https://michael.stapelberg.ch/posts/tags/distri/feed.xml" "comp") - (btag "https://mattermost.com/blog/category/releases/rss" "security") + (btag "https://mattermost.com/blog/category/releases/feed/" "security") (btag "https://mattermost.com/security-updates/feed/" "security") (btag "https://ionathan.ch/feed.xml" "comp") (btag "https://wingolog.org/feed/atom" "comp") @@ -197,6 +202,23 @@ with import ./newsboat-lib.nix; (btag "https://leona.is/atom.xml" "friends") (btag "https://computer.rip/rss.xml" "comp") (btag "https://nicole.wien/index.xml" "friends") + (btag "https://nanmu.me/en/posts/index.xml" "comp") + (btag "https://forgejo.org/releases/rss.xml" "comp") + (btag "https://ludic.mataroa.blog/rss/" "comp") + (btag "https://blog.poisson.chat/rss.xml" "comp") + (btag "https://blog.nadja.top/feed.rss" "hardware") + (btag "https://matttproud.com/blog/index.xml" "comp") + (btag "https://www.rntz.net/blog/atom.xml" "comp") + (btag "https://realdougwilson.com/feed.xml" "fonts") + (btag "https://feeds.feedburner.com/balpha" "fonts") + (btag "https://lambdaland.org/index.xml" "comp") + (btag "https://iliana.fyi/atom.xml" "comp") + (btag "https://artemis.sh/feed.xml" "comp") + (btag "https://gomakethings.com/feed/index.xml" "comp") + (btag "https://wok.oblomov.eu/index.rss" "comp") + (btag "https://antonia.is/rss.xml" "friends") + (btag "https://ancientalexandra.weebly.com/3/feed" "hist") + (btag "https://github.com/bookwyrm-social/bookwyrm/releases.atom" "comp") # paper (btag "http://arxiv.org/rss/cs.PL" "paper") @@ -209,8 +231,6 @@ with import ./newsboat-lib.nix; (ytag "UCXuqSBlHAE6Xw-yeJA0Tunw" "tech") # Linus Tech Tips (ytag "UCBa659QWEk1AI4Tg--mrJ2A" "stuff") # Tom Scott (ytag "UCtGG8ucQgEJPeUPhJZ4M4jA" "stuff") # Rare Earth - (ytag "UCwRH985XgMYXQ6NxXDo8npw" "stuff") # Kurzgesagt de - (ytag "UCsXVk37bltHxD1rDPwtNM8Q" "stuff") # Kurzgesagt en (ytag "UC9GwQ_SGeq7Nrn4NQfwVoRA" "climate") # Students for Future (ytag "UCN29LJGZ8FY30ysxdTnDsaw" "stuff") # Die Filmanalyse (ytag "UCv1WDP5EiipMQ__C4Cg6aow" "pol") # Tilo Jung @@ -219,8 +239,6 @@ with import ./newsboat-lib.nix; (ytag "UCncTjqw75krp9j_wRRh5Gvw" "writing") # World Building Notes (ytag "UCPlJ-KlPelfnwq0GHSeSpGQ" "talks") # It's all about Math (ytag "UCmrWzKsW9IGU2l6a_MGJ3dw" "ling") # LangTime Studio - (ytag "UCXl0Zbk8_rvjyLwAR-Xh9pQ" "maths") # Insights into Mathematics (Wildberger) - (ytag "UCPjHlmSGP-rMg5PR-PyaJug" "chaos") # Henk Rijckaert (ytag "UC3XTzVzaHQEd30rQbuvCtTQ" "latenight") # Last Week Tonight (ytag "UCSju5G2aFaWMqn-_0YBtq5A" "maths") # Standupmaths (ytag "UC2PA-AKmVpU6NKCGtZq_rKQ" "left") # Philosophy Tube @@ -261,6 +279,11 @@ with import ./newsboat-lib.nix; (ytag "UC6IxnFzHofFJ5X2PycSMsww" "stuff") # xkcd's What If? (ytag "UClgXF_jwWAwPRu8nT1g90xQ" "stuff") # Matt Gray (ytag "UCqqJQ_cXSat0KIAVfIfKkVA" "food") # Kenji + (ytag "UCK48_8v5k90EXEYRD5mATlw" "plants") # techplant + (ytag "UChIwaIJ8nxk8nskUZJD2yyg" "plants") # plants in jars + (ytag "UCWYSiz0rqNEJ0mX4a45Lhrw" "plants") # nick alexander + (ytag "UC9_p50tH3WmMslWRWKnM7dQ" "food") # Adam Ragusea + (ytag "UCQBG3PzyQKY8ieMG2gDAyOQ" "food") # Peaceful cuisine (blender 2737) # blender developers (blender 10) # reels (blender 9) # open movies @@ -278,8 +301,7 @@ with import ./newsboat-lib.nix; (podcast "https://feed.podbean.com/lingfieldnotes/feed.xml") (podcast "https://dasklima.podigee.io/feed/mp3") (podcast "https://www.haecksen.org/podcast/rss") - (podcast "https://www.ndr.de/nachrichten/info/podcast4684.xml") - + (music "https://feeds.soundcloud.com/users/soundcloud%3Ausers%3A39508706/sounds.rss") ] diff --git a/home/packages-minimal.nix b/home/packages-minimal.nix index c024654..b1121ac 100644 --- a/home/packages-minimal.nix +++ b/home/packages-minimal.nix @@ -4,11 +4,6 @@ home.packages = with pkgs; [ emacs-all-the-icons-fonts - # flake-enabled version of nix - (pkgs.writeScriptBin "nif" '' - #!/usr/bin/env bash - exec ${pkgs.nixFlakes}/bin/nix --experimental-features "nix-command flakes" "$@" - '') lynx pandoc # general cli utils @@ -17,17 +12,17 @@ ripgrep shellcheck graphviz zip unzip acpi sfz viu glow yt-dlp weechat hexyl bottom lm_sensors - usbutils libidn + usbutils libidn bsd-finger cyme # nix tools nixpkgs-review nix-top nix-diff nix-tree # git - gitAndTools.gitAnnex git-bug git-appraise + gitAndTools.gitAnnex git-bug git-appraise mergiraf # other things gauche # html, js & co jq html-tidy nodePackages.stylelint nodePackages.js-beautify zola lowdown # nix things - nixfmt niv inputs.deploy-rs.defaultPackage.${system} + nixfmt-rfc-style deploy-rs.deploy-rs ]; } diff --git a/home/packages.nix b/home/packages.nix index 1f5e8cf..415d963 100644 --- a/home/packages.nix +++ b/home/packages.nix @@ -1,38 +1,39 @@ { config, lib, pkgs, inputs, system, craneLib, ... }: let - isabelle = import "${inputs.playground.outPath}/isabelle-nix-fhsenv" { inherit pkgs; }; + isabelle = import "${inputs.playground.outPath}/isabelle-nix-fhsenv" { inherit pkgs; }; in { home.packages = with pkgs; [ - # inputs.emacs-overlay.packages.x86_64-linux.emacsPgtk - emacs29-pgtk - emacs-all-the-icons-fonts nerdfonts + emacs-pgtk + emacs-all-the-icons-fonts julia-mono # internet apps & clients - firefox keepassxc mumble lynx thunderbird offpunk - openconnect matterhorn tdesktop monolith magic-wormhole-rs + firefox keepassxc mumble lynx offpunk + openconnect tdesktop monolith magic-wormhole-rs + dino # graphics & audio - audacity blender darktable kdenlive moc ffmpeg-full - gimp-with-plugins inkscape krita meshlab pavucontrol moc + audacity blender darktable ffmpeg-full + gimp-with-plugins inkscape pavucontrol # krita gst_all_1.gstreamer vimiv-qt # LaTeX & documents - xournal pandoc zathura pdfpc + xournalpp pandoc zathura pdfpc poppler_utils typst rustex (texlive.combine { inherit (texlive) scheme-full; pkgFilter = pkg: lib.elem pkg.tlType [ "run" "bin" "doc" ]; }) # general cli utils - almanac libnotify grim slurp wl-clipboard showrt - kijetesantakaluotokieni mpc_cli duf dufs progress hledger + almanac libnotify grim slurp (zbar.override { enableVideo = false; withXorg = false; }) + wl-clipboard showrt + kijetesantakaluotokieni mpc_cli dufs progress hledger wineWowPackages.full sops xdg-utils exiftool - mercurial darcs git-annex-remote-remarkable2 + mercurial darcs git-annex-remote-remarkable2 git-who rlwrap # graphical utils - kitty baobab + kitty # gnss things - gpsd galmon-full + gpsd # galmon-full # transport things transport_validator # things for emacs @@ -43,41 +44,33 @@ in haskell-language-server haskellPackages.hoogle haskellPackages.stylish-haskell # other functional things - racket dhall lean4 dune_2 ocamlPackages.utop ocamlPackages.ocp-indent + racket dhall dune_2 ocamlPackages.utop ocamlPackages.ocp-indent ocamlPackages.merlin ocaml gauche (agda.withPackages (p: [ p.standard-library p.cubical ])) - (twelf.overrideAttrs (old: { - src = fetchFromGitHub { - owner = "k4rtik"; - repo = "twelf"; - rev = "c1bec0d0b9fa506e36bb364b1765191b159e6c4c"; - hash = "sha256-sh/yMlCvMMq6GBqAKO+V0Bcyp38zB7I/3H8a0fxqOos="; - }; - })) + # html, js & co jq ijq html-tidy nodePackages.stylelint nodePackages.js-beautify zola libxml2 fq htmlq - # purescript - #spago purescript # nodePackages.purescript-language-server nodejs # rust - #cargo rustc - rust-bin.stable.latest.minimal - rust-analyzer rustfmt + rust-bin.stable.latest.minimal rust-analyzer rustfmt # go - go gopls godef gore gocode gotests gomodifytags + go gopls godef gore gotests gomodifytags # C/C++ clang clang-tools rtags irony-server # others - julia python39 inweb + python3 inweb # nix things - nixfmt niv inputs.deploy-rs.defaultPackage.${system} - #haskellPackages.nix-serve-ng - nix-doc nix-output-monitor - direnv + npins nix-output-monitor direnv # isabelle - (isabelle.mkEnv "isabelle-env" "fish") - isabat + (isabelle.mkEnv "isabelle-env" "fish") isabat (import inputs.traveltext { inherit pkgs; }) ]; + + xdg.desktopEntries."pavucontrol" = { + name = "pavucontrol"; + exec = "pavucontrol"; + terminal = false; + type = "Application"; + }; } diff --git a/home/unstable.nix b/home/unstable.nix index 0adb0ba..fc3b6ac 100644 --- a/home/unstable.nix +++ b/home/unstable.nix @@ -1,25 +1,11 @@ -{config, pkgs, inputs, system, ...}: +{config, pkgs, inputs, ...}: -with inputs.nixpkgs-unstable.legacyPackages.${system}; +with inputs.nixpkgs-unstable; { home.packages = [ - dino - (stdenv.mkDerivation { - name = "signal-wayland"; - src = signal-desktop; - phases = [ "buildPhase" ]; - buildPhase = '' - mkdir -p $out - cp -r $src/{bin,lib} $out - ''; - }) - gleam + signal-desktop yazi - - # hikari development - pkgs.pandoc # pkgs.xorg.xcbutilwm.dev - pkgs.bmake pkgs.pkg-config - ]; #++ hikari.buildInputs; + ]; xdg.desktopEntries."Signal" = { name = "Signal"; |