summaryrefslogtreecommitdiff
path: root/home
diff options
context:
space:
mode:
Diffstat (limited to 'home')
-rw-r--r--home/home-minimal.nix42
-rw-r--r--home/home.nix60
-rw-r--r--home/newsboat-public.nix36
-rw-r--r--home/packages-minimal.nix11
-rw-r--r--home/packages.nix65
-rw-r--r--home/unstable.nix22
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";