diff --git a/doom.d/config.el b/doom.d/config.el index ce0af5a..b4fc045 100644 --- a/doom.d/config.el +++ b/doom.d/config.el @@ -144,11 +144,10 @@ (setq org-hide-emphasis-markers t org-pretty-entities t) -(font-lock-add-keywords 'org-mode - '(("^ *\\([-]\\) " - 0 (prog1 () (compose-region (match-beginning 1) (match-end 1) ""))) - ("^ *\\([+]\\) " - 0 (prog1 () (compose-region (match-beginning 1) (match-end 1) ""))))) +(use-package! org-superstar + :hook (org-mode . org-superstar-mode) + :config + (setq org-superstart-special-todo-items t)) (defvar nm/org-agenda-files-timer nil "Timer for automatically updating the org-agenda files") @@ -251,6 +250,15 @@ work if it thinks it needs to." '(("d" "default" entry "* %<%I:%M %p>: %?" :if-new (file+head "%<%Y-%m-%d>.org" "#+title: %<%Y-%m-%d>\n"))))) +(use-package! org-protocol-capture-html) + +(after! org + (push + '("w" "Web site" entry + (file "") + "* %a :website:\n\n%U %?\n\n%:initial") + org-capture-templates)) + (use-package! magit-todos :hook (magit-mode . magit-todos-mode)) diff --git a/doom.d/config.org b/doom.d/config.org index 1c67777..e28e958 100644 --- a/doom.d/config.org +++ b/doom.d/config.org @@ -218,14 +218,13 @@ Setup some basic cosmetic improvements org-pretty-entities t) #+end_src - Setup font lock for normal (non-heading) list items, to make things a bit more pleasnt to look at +Setup org-superstar-mode, to make lists and bullets pretty #+begin_src emacs-lisp -(font-lock-add-keywords 'org-mode - '(("^ *\\([-]\\) " - 0 (prog1 () (compose-region (match-beginning 1) (match-end 1) ""))) - ("^ *\\([+]\\) " - 0 (prog1 () (compose-region (match-beginning 1) (match-end 1) ""))))) +(use-package! org-superstar + :hook (org-mode . org-superstar-mode) + :config + (setq org-superstart-special-todo-items t)) #+end_src Automatically add all files in the org dir to the agenda. This performs some filtering of the files returned from ~directory-files~ to exclude some things that would confuse org-agenda. @@ -352,6 +351,21 @@ Here we: '(("d" "default" entry "* %<%I:%M %p>: %?" :if-new (file+head "%<%Y-%m-%d>.org" "#+title: %<%Y-%m-%d>\n"))))) #+end_src +** org-protocol-capture-html +[[https://github.com/alphapapa/org-protocol-capture-html][Capture webpages]] really nice like +#+begin_src emacs-lisp +(use-package! org-protocol-capture-html) +#+end_src +** Capture Templates +The default template for org-protocol-capture-html +#+begin_src emacs-lisp +(after! org + (push + '("w" "Web site" entry + (file "") + "* %a :website:\n\n%U %?\n\n%:initial") + org-capture-templates)) +#+end_src * General Modes ** Magit Further configuration for magit diff --git a/doom.d/init.el b/doom.d/init.el index aabfa7f..8d47dd5 100644 --- a/doom.d/init.el +++ b/doom.d/init.el @@ -81,7 +81,7 @@ (latex +fold) ; writing papers in Emacs has never been so fun markdown ; writing docs for people to ignore nix ; I hereby declare "nix geht mehr!" - (org +pandoc +present +pretty +roam2 +pomodoro) ; organize your plain life in plain text + (org +pandoc +present +roam2 +pomodoro) ; organize your plain life in plain text raku ; the artist formerly known as perl6 rest ; Emacs as a REST client (rust +lsp) diff --git a/doom.d/packages.el b/doom.d/packages.el index 983f723..84d3d3e 100644 --- a/doom.d/packages.el +++ b/doom.d/packages.el @@ -60,3 +60,5 @@ (package! deadgrep) (package! multi-vterm) (package! grip-mode) +(package! org-protocol-capture-html) +(package! org-superstar) diff --git a/flake.lock b/flake.lock index 0aabb61..4c4303a 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ "doom-emacs": { "flake": false, "locked": { - "lastModified": 1654347726, - "narHash": "sha256-B4N+UQ0SvnCH0Hqc62Wl1KS6WcTBGLag0BoH3UZGbgo=", + "lastModified": 1656519163, + "narHash": "sha256-iNg3DnQJB6iIWLBsFGcloFHwwQUgrJeIQeNJHD7nwIo=", "owner": "doomemacs", "repo": "doomemacs", - "rev": "bea3cc161c0a803dcf574f32ee555dccf565a5ce", + "rev": "c2f8476c8641fcc9a1371d873ed3b5924952a059", "type": "github" }, "original": { @@ -41,11 +41,11 @@ "doom-snippets": { "flake": false, "locked": { - "lastModified": 1651768501, - "narHash": "sha256-55mHNFfn3N8k4aWgswX9buATsOhQTJ0L05UaUNNMgDg=", + "lastModified": 1655900328, + "narHash": "sha256-fEYwFxW2sdzNK14DrS92OCGy8KDPZKewrHljnE/RlzQ=", "owner": "doomemacs", "repo": "snippets", - "rev": "f74b11b1e0fe8481e20f3065e355efe627e635de", + "rev": "6b2bd5a77c536ed414794ecf71d37a60ebd4663e", "type": "github" }, "original": { @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1656648158, - "narHash": "sha256-e4tPuEW8Uj8PEVAYNzr3DPqxY5mGEvnCNyDih8RPP5c=", + "lastModified": 1656732204, + "narHash": "sha256-3348ZgC32uIPZ06bDMdjclSB/QKEyRCfNL1ew/U7VGE=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "2724625945ddeaeffd94ca56e11b75b98b8bba8b", + "rev": "0ed73cdb0646eb9f425f1d1a24f6c3ae1207f482", "type": "github" }, "original": { @@ -207,11 +207,11 @@ }, "flake-utils_2": { "locked": { - "lastModified": 1653893745, - "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "lastModified": 1656065134, + "narHash": "sha256-oc6E6ByIw3oJaIyc67maaFcnjYOz1mMcOtHxbEf9NwQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "rev": "bee6a7250dd1b01844a2de7e02e4df7d8a0a206c", "type": "github" }, "original": { @@ -279,6 +279,28 @@ "type": "github" } }, + "java_2": { + "inputs": { + "nixpkgs": [ + "quilt-server", + "nixpkgs" + ], + "utils": "utils_3" + }, + "locked": { + "lastModified": 1656122108, + "narHash": "sha256-wJrVZLqvBhq+u2Mi3yc4oS8pOtzdxL6uMmmSt+1bNHE=", + "owner": "nathans-flakes", + "repo": "java", + "rev": "4ade2ae9e949b184ba2d47495ec348f385ab0300", + "type": "github" + }, + "original": { + "owner": "nathans-flakes", + "repo": "java", + "type": "github" + } + }, "libnbtplusplus": { "flake": false, "locked": { @@ -339,11 +361,11 @@ "rotate-text": "rotate-text" }, "locked": { - "lastModified": 1655429822, - "narHash": "sha256-g1uW2GybLSL0vrBOZWrdket7IHBuWu2S1ev++1WUxuA=", + "lastModified": 1656689849, + "narHash": "sha256-0LdzPqMzwVaTI6NC/+khOUN5FAvE4mIJAsESW8s/Nsc=", "owner": "nix-community", "repo": "nix-doom-emacs", - "rev": "d296d6d44b27a5090c4096ff9a7ded37803a558d", + "rev": "4717e4e835a424258e526888b3a1f475bfe98805", "type": "github" }, "original": { @@ -355,11 +377,11 @@ "nix-straight": { "flake": false, "locked": { - "lastModified": 1643475817, - "narHash": "sha256-NpExq5nbPbj/ppkBX3SnETEJuOne1MKJxen8vVHsDFg=", + "lastModified": 1656684255, + "narHash": "sha256-ZefQiv4Ipu2VkLjs1oyelTLU7kBVJgkcQd+yBpJU0yo=", "owner": "nix-community", "repo": "nix-straight.el", - "rev": "08d75e5651cb52f8a07e03408ed19e04bee07505", + "rev": "fb8dd5c44cde70abd13380766e40af7a63888942", "type": "github" }, "original": { @@ -483,11 +505,11 @@ "org": { "flake": false, "locked": { - "lastModified": 1655383862, - "narHash": "sha256-WZLa8ly+WjLVIhiKf0m1hwJ3c1BJVwBZgr9AHAJ6zQw=", + "lastModified": 1656574173, + "narHash": "sha256-Qbsa1b/S26ZudQ0XUtV1YB1pVVd7d9ZIo3UFYTQhe5o=", "owner": "emacs-straight", "repo": "org-mode", - "rev": "e9da29b6fafe63abbc2774e9d485ac13d2811b65", + "rev": "381a2ae4dd439b5f246873ae6630c1e303c35287", "type": "github" }, "original": { @@ -553,11 +575,11 @@ ] }, "locked": { - "lastModified": 1656582643, - "narHash": "sha256-TC7tkdgpvConambYP1yoVjxxixZkMhkrdfHDKMKIyKE=", + "lastModified": 1656698958, + "narHash": "sha256-0i2p+iF9QVqW+/hVerghwzl4EgYkLB/KJVBLjvg+6F0=", "owner": "PolyMC", "repo": "PolyMC", - "rev": "286f82cc99322398d720f2bbf88869c42960227d", + "rev": "fe2e1d931f56902440e80552c43460d59bc574c3", "type": "github" }, "original": { @@ -566,6 +588,27 @@ "type": "github" } }, + "quilt-server": { + "inputs": { + "java": "java_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1656661312, + "narHash": "sha256-o1N/HLJDNL8Mvs34NqJiLijpRJlmuNRD2NnLwKZk17Y=", + "owner": "forward-progress", + "repo": "quilt-server-nix-container", + "rev": "339797c0187c2a0d5ea0d34cf46a75df7d6ae2cb", + "type": "github" + }, + "original": { + "owner": "forward-progress", + "repo": "quilt-server-nix-container", + "type": "github" + } + }, "revealjs": { "flake": false, "locked": { @@ -594,6 +637,7 @@ "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable", "polymc": "polymc", + "quilt-server": "quilt-server", "sops-nix": "sops-nix" } }, @@ -681,6 +725,21 @@ "repo": "flake-utils", "type": "github" } + }, + "utils_3": { + "locked": { + "lastModified": 1653893745, + "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 51bab65..5870f83 100644 --- a/flake.nix +++ b/flake.nix @@ -41,6 +41,10 @@ url = "github:nathans-flakes/java"; inputs.nixpkgs.follows = "nixpkgs"; }; + quilt-server = { + url = "github:forward-progress/quilt-server-nix-container"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -56,6 +60,7 @@ , polymc , nix-doom-emacs , java + , quilt-server }@inputs: let makeNixosSystem = { system, hostName, extraModules ? [ ], ourNixpkgs ? nixpkgs }: ourNixpkgs.lib.nixosSystem { diff --git a/packages/blockbench/default.nix b/packages/blockbench/default.nix new file mode 100644 index 0000000..a0c183d --- /dev/null +++ b/packages/blockbench/default.nix @@ -0,0 +1,50 @@ +{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron_17 }: + +stdenv.mkDerivation rec { + pname = "blockbench-electron"; + version = "4.2.5"; + + src = fetchurl { + url = "https://github.com/JannisX11/blockbench/releases/download/v${version}/Blockbench_${version}.AppImage"; + sha256 = "ibgWP3i0QGKnL0ZmDusouo2DoDxOkRZQFqIl8SEChbs="; + name = "${pname}-${version}.AppImage"; + }; + + appimageContents = appimageTools.extractType2 { + name = "${pname}-${version}"; + inherit src; + }; + + dontUnpack = true; + dontConfigure = true; + dontBuild = true; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin $out/share/${pname} $out/share/applications + cp -a ${appimageContents}/{locales,resources} $out/share/${pname} + cp -a ${appimageContents}/blockbench.desktop $out/share/applications/${pname}.desktop + cp -a ${appimageContents}/usr/share/icons $out/share + substituteInPlace $out/share/applications/${pname}.desktop \ + --replace 'Exec=AppRun' 'Exec=${pname}' + runHook postInstall + ''; + + postFixup = '' + makeWrapper ${electron_17}/bin/electron $out/bin/${pname} \ + --add-flags $out/share/${pname}/resources/app.asar \ + --add-flags "--enable-features=UseOzonePlatform" \ + --add-flags "--ozone-platform=wayland" \ + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc ]}" + ''; + + meta = with lib; { + description = "A boxy 3D model editor powered by Electron"; + homepage = "https://blockbench.net/"; + license = licenses.gpl3Only; + maintainers = [ maintainers.ckie ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/secrets/backblaze.yaml b/secrets/backblaze.yaml new file mode 100644 index 0000000..7fe46a0 --- /dev/null +++ b/secrets/backblaze.yaml @@ -0,0 +1,66 @@ +friendpack-backblaze: ENC[AES256_GCM,data:m1QFetDGUMQabN5waGU7tSaxLQm42n3HViPVATiICg==,iv:VpDfdQ8MqqRje6DlZOJ01b7ZHmrD0g+ADtj/KQY+LR0=,tag:EwlRWLqtuldTSdFsaetisQ==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1ud80054jwf6ff7xx65ta6g7qxx2flc24r5gyyfjz43kvppjutqyskr2qm2 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvQWtYK2VSL1NjV2UrYnJE + aFpZUWVYZXFmallsa1lXRndSeW80Ti9FcEdvCjk3YU50M1Z4ZDhFNENUT0wxaTIx + dGorVzNMSGh6SUxOeXFlbEtRSWJlK1UKLS0tIGxTMS95OUxaeHNhclVLWUVCdnJU + NGRJS0xsV3JSNlRhTVMyVFZaWm9iU1kKsvP3YfIqo2ahRUrB+MvucmeaNW93je5s + SBLmbpGl7MxHG/nnsLMh1Qgm+7r3D3KcgneN/CCkgvGEiXBi7/Z/jw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1tsq68swufcjq6qavqpzrtse4474p5gs58v6qp6w7gum49yz45cgsegxhuw + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzdWZQN0MxZm5kVUpHdkNT + b2xVYXZ1eThwWUZWTzVSdkF4WUIreWoyQUcwCmZaNkphbjdlcTNOS1dzekhseWt2 + dndmdGdHSWxHK1hjL2lTVVluMEJtUU0KLS0tIE00SjdIYWY2MkFNMnNDUEphU3JT + SFpEMGFvRi92UXM2dXh4WlRNVm1zV3cK49jAamvCbTbzzS0EGo7JqdmQR/SDaTuV + UpZ63mtgWmmgDLGjJWtdNOR0QNu6i/vNCcJ7uQ5NgOnvuM267pSJYg== + -----END AGE ENCRYPTED FILE----- + - recipient: age12ayrv88xjt4r276fzc9du70x8q0r7xutt85vj627ykf4k8kgms4sc6wywn + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUb1l4ZzFhV3dIVHpsVFcr + K2J3cXEwWUhVTVZEcmFQVWZreTdQSVZCdmdZCmcybEM1djZRK2wrQ0VETDQ2V2Jr + SUlsZWo4MWYzQzVnNlVpb2IxS0czQmcKLS0tIG9YbE1hd3lrb0E0SmQyVnBUVkdH + ZzduU2ZTQ0xYZ2NDRHZ4WkhaN1lXVlUKJepT64ruXsICQELt1OYKkiVcG7VrC8AK + BU7KgpgNQ1S1izdmUsp/YtEOhT1JYFuqPZne1YBarCcxrs9yoe1qdw== + -----END AGE ENCRYPTED FILE----- + - recipient: age1r0aszjkyp4zlcw2w2vrk8hmcyvntshr8rew4ehlu5zad4eh6mspsatuczd + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0dm5pdFJvdEkvQllIc25F + ZjkyT1BrU2FDUGIyK2lOK0hoc3cvekRhZDF3ClI3VGxTY0IrL1FqdHNvWndSQVFq + dVQvbmlEQWMwSmg1dnV5NmVhMlpHWUUKLS0tIGdaQXBNcHNJTUUyMEFoYkN5MFhN + RForSlpVOXY0L3JvRlprelkrRkFnQXMK9R3qCUxOZwuFqRbjKXuy9YMiPZYy0eb0 + ckrnzCAa6kCPTK7z59Ay8/YmrtFHgeJoqSDTvHg0V1H+Ynt+Wd84cg== + -----END AGE ENCRYPTED FILE----- + - recipient: age10zd0y2zpty2z39sh2qe66yuu9jd6hrcd3ag2wqtjp8tc579nmphsymhdla + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWa1ZMVjFaNGJVT3RTVnY3 + c25IWk11Wm5IbE1wV1JaaXNJZGI4eHhERkJJCi9zdTdEdmJQZTQ5ajJ5NHNYblVy + b2tFeEprOEt4V2huSzlDd0Y3c1lLOGsKLS0tIG9jczY3a1JjWDJXTkhRajI2cHhk + NjFqbnE2SlZ2TGhBeGFqbVdTUVBUZ0kKjsiT5P1bPSfI1V1CIkydWzPsat2aAwBi + ANUePn2zhaFDzZsKRVGkVc8M2pw4aQC3lk6r7bPoQZ7fjFIh45wm8A== + -----END AGE ENCRYPTED FILE----- + - recipient: age1pm647k04hhwm2dmqh07hnzflkurfevefcyf8xlhmc83a07n77e3sltyt0d + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTZHlxRjVCZzZkOUhMaS9V + WldSM0tZUzNHQ3Z3L3Myd0cvT2lxUTlyV2xjCk1ZSm94SkJodktoS0NrWFhtZTlp + RU1nSGRnZHlMYzdzVW9QYi92NG45TnMKLS0tIHhMSnBuMHRBUU9CTmpCcTA0NE1Y + ak4waGp0UDJaaVk1eWgvazJhaHpVMzQKnsJLuWk/jzoQ45Po9esJyR8ynBWj88w5 + W3vSgFbAfr/pXaitCEBADMLDA21sNjq9/hm6VddhS3mgmZWuTBHlCA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2022-06-29T08:33:24Z" + mac: ENC[AES256_GCM,data:532kHcb/qLZSePtoxTwk7497UShNpmklNnMCU4WVWBAkyT5XRvIpKHJRWl1A/Ll0/w9Y9fjVxD97PjxE18LLsP7x8t6dj54Z9k2PVEd7U+GP3iy6QhJYJCwehYLiMmqf9T8wsiLyEVyXDn04pN62NQNw/F5n9kBbeWxSk3wuDtA=,iv:OaWeCvIr2mSUzVgytKcueeFN3tzfBoydyXgMxLSE/pY=,tag:bDkmi+W9cd9avpIVEJTEHw==,type:str] + pgp: [] + unencrypted_suffix: _unencrypted + version: 3.7.3