Nixos update 29-04-2026, fix hyprland, fix jdtls
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
b3gaJQ8W9LbQV5Nkahs=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFRDCCAyygAwIBAgIUFwT5aSyhaiDHWGC6zoWdus62NG8wDQYJKoZIhvcNAQEL
|
||||
BQAwLDEQMA4GA1UECgwHSG9tZWxhYjEYMBYGA1UEAwwPSG9tZWxhYiBSb290IENB
|
||||
MB4XDTI2MDQyNTE1MzAwOFoXDTM2MDQyMjE1MzAwOFowLDEQMA4GA1UECgwHSG9t
|
||||
ZWxhYjEYMBYGA1UEAwwPSG9tZWxhYiBSb290IENBMIICIjANBgkqhkiG9w0BAQEF
|
||||
AAOCAg8AMIICCgKCAgEAkWcMIXerDH0x6dochISzaQms6Ialb1V9cEGs+FIm9kNR
|
||||
drtBAi3p35a+VSUl1bw4m+uczQgiY5unJSLALklGqYy7PBI0AyvAdCMRcnknn6JO
|
||||
JXmad1fJLnyKmv4EH6Dq34Qqm/7Ka79rQYUOQhigLu+7+iquZX/UzsuYvVpdTQOz
|
||||
M3yBt3a9wf3kX/aJTfriudW8gMpkYoW3DCDK0B16b1N0cyv2fvDsSR1Xfmi+YVu1
|
||||
r8PQ5lvH3C4T6gBJQhTEHWkCkuxgOTQaqOS4zBe6MgyDuiAnEqGIljjkwY/uEzWP
|
||||
a0vOGgeu5BbktC7iAU+fPbIARTq/RobFBkikxCbb1n4/FyDFHkBFXQU71AEWmkLt
|
||||
wK1ekHGjw/iIgxkX3haV/UZwd0qlHAmUYMge5YmsXo/Kfl40t1Ma2LBP/NRuz8eP
|
||||
gMPFE51ZgEf/TVH84G2gcrKxbsIRRcxrnrZ2o2aQk5Ylhg6j4cmiRR27GF5zJgbQ
|
||||
jA4ZAcRE38YIzHDgS/95eMFz6LJYOEVxfj6zvEFcmV2NAH3rsIdCuNu2Wel7Zzzf
|
||||
YusIfFyf543evYD9Mewi+46bSs848SzFsT8SynydC6u8cpK84BsquwuInlOQWUvM
|
||||
smewvacLMENHtKNML0rJEpCCVI8IdYCqsMviuC0fzotP8DeSDBjjS9HUfSxWOIkC
|
||||
AwEAAaNeMFwwGgYDVR0RBBMwEYIPSG9tZWxhYiBSb290IENBMA4GA1UdDwEB/wQE
|
||||
AwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQE/W2BXGJEBEGWbYJ1acZu
|
||||
9OpBgDANBgkqhkiG9w0BAQsFAAOCAgEAA13poaND3jq4dMzGcn2XVz1a6g4B7mxF
|
||||
GHWXSHe9/Q/kjF2qnEdea7VFLCCzZ0OqC2UpfKnTW4xbCZ/d4QZqcgGXJehfuuhE
|
||||
oux1Nm0a3jBZQ+EYnJDuAgOb80q0S55Iwfh57l1613xdAh73x1yWtlGH5wlCRj27
|
||||
C/ilyws1Yk26N1qzwfh6A42yEjv29Aos4hTn1jUMHJH63A5ke2tRnYDq2HR9x9PW
|
||||
xhxHm8NsK0jMmvOSOW9n1X6X3UhTfzNyHY8PMCQeXG+9ppnkYgOda0fDWTD21iqq
|
||||
l22MKqEuGfq84D3HaK/TlLP0vywao4Ug/K7jE/j/GWMkTmdxIjTSQ7VmRyzdXqsE
|
||||
HsjpWAgRrY6JdoW2V0F90qk6Op1hVcGRdXznhCx0/TWG272d0dzetIqcHfgn5n7z
|
||||
0DYSCS/4WaA25x4johdic58e6dCIDat88nbbZCwZaHDER6PBZprgm1J/6ek7jQaR
|
||||
arWksZX/+PBg1IGAHSkRiVpx8kq2fFEUbbSDONxJmE8FEWDp6frq3a4pbleqJenK
|
||||
1IOLVJg9D3RJAvBa14kOeocyb0upZ8Zc/oSm+ojyVt56PoBPQC28SJ+T9mAS1/uL
|
||||
bWFMtkTU0oVuytOHTvekvBJbloX9HqTDtkjV/A/PSLrg7dXW09v3RhPjLGKj5Gf1
|
||||
9HMKL6MV2is=
|
||||
-----END CERTIFICATE-----
|
||||
@@ -13,7 +13,10 @@
|
||||
(import ./overlays/zulu22.nix)
|
||||
];
|
||||
|
||||
security.pki.certificateFiles = [ ./certs/homelab-com.pem ];
|
||||
security.pki.certificateFiles = [
|
||||
./certs/homelab-com.pem
|
||||
./certs/homelab-lan-chain.crt
|
||||
];
|
||||
|
||||
users.users.${username} = {
|
||||
description = "NixOS Omen Laptop";
|
||||
|
||||
@@ -317,6 +317,13 @@ Must be called BEFORE jdtls starts. Sets global lsp-java-vmargs."
|
||||
;; Prevent Semgrep from receiving Java-specific commands it can't handle
|
||||
(lsp-disable-method-for-server "workspace/executeCommand" 'semgrep-ls)
|
||||
|
||||
;; Fix: boot-ls (Spring Boot LS) doesn't implement willSaveWaitUntil but lsp-mode
|
||||
;; sends it anyway when multiple servers are connected (jdtls + boot-ls for Java).
|
||||
;; boot-ls uses lsp4j's default which throws UnsupportedOperationException, causing hang.
|
||||
;; See: https://github.com/spring-projects/spring-tools (SimpleLanguageServer.java:455)
|
||||
;; Bug is in lsp-mode's multi-server capability checking, not boot-ls.
|
||||
(lsp-disable-method-for-server "textDocument/willSaveWaitUntil" 'boot-ls)
|
||||
|
||||
;; Register nixd LSP client for Nix files
|
||||
(lsp-register-client
|
||||
(make-lsp-client :new-connection (lsp-stdio-connection "nixd")
|
||||
@@ -325,18 +332,41 @@ Must be called BEFORE jdtls starts. Sets global lsp-java-vmargs."
|
||||
:server-id 'nixd))
|
||||
|
||||
;; Nix LSP configuration
|
||||
(setq lsp-nix-nil-formatter ["nixpkgs-fmt"]))
|
||||
(setq lsp-nix-nil-formatter ["nixpkgs-fmt"])
|
||||
|
||||
;; Fix: Handle textEdit with only :newText and no range (jdtls lazy textEdit bug)
|
||||
;; When jdtls returns textEdit with only :newText and no :range/:insert/:replace,
|
||||
;; lsp-mode silently fails to insert. This uses markers as fallback.
|
||||
(advice-add 'lsp-completion--exit-fn :around
|
||||
(lambda (orig-fn candidate status &optional candidates)
|
||||
(let* ((item (plist-get (text-properties-at 0 candidate) 'lsp-completion-item))
|
||||
(text-edit (when item (lsp:completion-item-text-edit? item)))
|
||||
(markers (plist-get (text-properties-at 0 candidate) 'lsp-completion-markers)))
|
||||
;; If textEdit exists but has no range, fix it using markers
|
||||
(if (and text-edit
|
||||
(plist-get text-edit :newText)
|
||||
(not (plist-get text-edit :range))
|
||||
(not (plist-get text-edit :insert))
|
||||
markers)
|
||||
(let ((start (car markers))
|
||||
(end (cadr markers)))
|
||||
(when (and start end (markerp end))
|
||||
(setq end (marker-position end)))
|
||||
(when (and start end)
|
||||
;; Delete the prefix and insert the new text manually
|
||||
(delete-region start end)
|
||||
(goto-char start)
|
||||
(insert (plist-get text-edit :newText))))
|
||||
;; Otherwise call original
|
||||
(funcall orig-fn candidate status candidates))))
|
||||
'((name . lsp-completion--exit-fn-advice)))
|
||||
|
||||
;; Use company-capf with yasnippet for completions
|
||||
(setq +lsp-company-backends '(company-capf :with company-yasnippet)))
|
||||
|
||||
;; Enable LSP for nix-mode
|
||||
(add-hook! 'nix-mode-hook #'lsp-deferred)
|
||||
|
||||
(after! claude-code-ide
|
||||
(use-package claude-code-ide
|
||||
:bind ("C-c C-'" . claude-code-ide-menu) ; Set your favorite keybinding
|
||||
:config
|
||||
(claude-code-ide-emacs-tools-setup))) ; Optionally enable Emacs MCP tools
|
||||
|
||||
|
||||
(after! treemacs
|
||||
(setq treemacs-collapse-dirs 3)
|
||||
)
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
;;rest ; Emacs as a REST client
|
||||
;;rst ; ReST in peace
|
||||
(ruby +lsp) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;scala ; java, but good
|
||||
;;(scheme +guile) ; a fully conniving family of lisps
|
||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
semgrep
|
||||
devpod
|
||||
tmux
|
||||
bottles
|
||||
#bottles
|
||||
terraform
|
||||
kubectl
|
||||
kubectx
|
||||
|
||||
Reference in New Issue
Block a user