emacs
This commit is contained in:
parent
98d8ea3511
commit
052c95b4c7
302
flake.lock
generated
302
flake.lock
generated
@ -20,11 +20,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750372185,
|
"lastModified": 1755946532,
|
||||||
"narHash": "sha256-lVBKxd9dsZOH1fA6kSE5WNnt8e+09fN+NL/Q3BjTWHY=",
|
"narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "aquamarine",
|
"repo": "aquamarine",
|
||||||
"rev": "7cef49d261cbbe537e8cb662485e76d29ac4cbca",
|
"rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -38,11 +38,11 @@
|
|||||||
"fromYaml": "fromYaml"
|
"fromYaml": "fromYaml"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746562888,
|
"lastModified": 1755819240,
|
||||||
"narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
|
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
|
||||||
"owner": "SenchoPens",
|
"owner": "SenchoPens",
|
||||||
"repo": "base16.nix",
|
"repo": "base16.nix",
|
||||||
"rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
|
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -70,11 +70,11 @@
|
|||||||
"base16-helix": {
|
"base16-helix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748408240,
|
"lastModified": 1752979451,
|
||||||
"narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=",
|
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-helix",
|
"repo": "base16-helix",
|
||||||
"rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e",
|
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -103,11 +103,11 @@
|
|||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748383148,
|
"lastModified": 1756083905,
|
||||||
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
|
"narHash": "sha256-UqYGTBgI5ypGh0Kf6zZjom/vABg7HQocB4gmxzl12uo=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
|
"rev": "b655eaf16d4cbec9c3472f62eee285d4b419a808",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -119,11 +119,11 @@
|
|||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696426674,
|
"lastModified": 1747046372,
|
||||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||||
"owner": "edolstra",
|
"owner": "edolstra",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -148,21 +148,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1747046372,
|
|
||||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
@ -171,11 +156,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743550720,
|
"lastModified": 1756770412,
|
||||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -200,32 +185,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"git-hooks": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": [
|
|
||||||
"stylix",
|
|
||||||
"flake-compat"
|
|
||||||
],
|
|
||||||
"gitignore": "gitignore_2",
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1747372754,
|
|
||||||
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gitignore": {
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -248,41 +207,19 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gitignore_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"git-hooks",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1709087332,
|
|
||||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gnome-shell": {
|
"gnome-shell": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744584021,
|
"lastModified": 1748186689,
|
||||||
"narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=",
|
"narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=",
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae",
|
"rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"ref": "48.1",
|
"ref": "48.2",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@ -294,32 +231,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750798083,
|
"lastModified": 1758648381,
|
||||||
"narHash": "sha256-DTCCcp6WCFaYXWKFRA6fiI2zlvOLCf5Vwx8+/0R8Wc4=",
|
"narHash": "sha256-/rp5KlIAH3OxRxS3jbyEAz5gK9l2vvHNEK+TVOjvYJ0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "ff31a4677c1a8ae506aa7e003a3dba08cb203f82",
|
"rev": "5468c92a2350ca76e15ee6617a083c0e6ce7ade7",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1748737919,
|
|
||||||
"narHash": "sha256-5kvBbLYdp+n7Ftanjcs6Nv+UO6sBhelp6MIGJ9nWmjQ=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "5675a9686851d9626560052a032c4e14e533c1fa",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -344,11 +260,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749155331,
|
"lastModified": 1753964049,
|
||||||
"narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=",
|
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprcursor",
|
"repo": "hyprcursor",
|
||||||
"rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80",
|
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -373,11 +289,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750371717,
|
"lastModified": 1758192433,
|
||||||
"narHash": "sha256-cNP+bVq8m5x2Rl6MTjwfQLCdwbVmKvTH7yqVc1SpiJM=",
|
"narHash": "sha256-CR6RnqEJSTiFgA6KQY4TTLUWbZ8RBnb+hxQqesuQNzQ=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprgraphics",
|
"repo": "hyprgraphics",
|
||||||
"rev": "15c6f8f3a567fec9a0f732cd310a7ff456deef88",
|
"rev": "c44e749dd611521dee940d00f7c444ee0ae4cfb7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -402,11 +318,11 @@
|
|||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750848152,
|
"lastModified": 1758649857,
|
||||||
"narHash": "sha256-m7DxFbU9YgPxFlQ6iH6zDreXT3IfUVxZZAdkdvN9yz8=",
|
"narHash": "sha256-w0TD4u1PmIHtUCH98uHpVGKm9ITZnuShM2ei+/yIVDQ=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "f4f090e4b2f9f0bba5408cbd135d2fff1990be1d",
|
"rev": "31bd9ec41705a606bb074facca114ea79b62a63a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -432,11 +348,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750799801,
|
"lastModified": 1758650429,
|
||||||
"narHash": "sha256-Oqn6gHIVfgkzzuigwNk9UZbgKdyzAzU/JoywB6z1O+M=",
|
"narHash": "sha256-tQLvuUu/8p9yEerYz+mcsSW7VNd7Z4vuSd4LGF8Y38w=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-plugins",
|
"repo": "hyprland-plugins",
|
||||||
"rev": "c1fdf38bfcd716130ce022cf21a1fca7582482d1",
|
"rev": "1e3fa62428728bdc2d040f65afe98de1ae01c6b5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -525,11 +441,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750371812,
|
"lastModified": 1757694755,
|
||||||
"narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=",
|
"narHash": "sha256-j+w5QUUr2QT/jkxgVKecGYV8J7fpzXCMgzEEr6LG9ug=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-qtutils",
|
"repo": "hyprland-qtutils",
|
||||||
"rev": "b13c7481e37856f322177010bdf75fccacd1adc8",
|
"rev": "5ffdfc13ed03df1dae5084468d935f0a3f2c9a4c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -554,11 +470,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750371198,
|
"lastModified": 1756810301,
|
||||||
"narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=",
|
"narHash": "sha256-wgZ3VW4VVtjK5dr0EiK9zKdJ/SOqGIBXVG85C3LVxQA=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprlang",
|
||||||
"rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b",
|
"rev": "3d63fb4a42c819f198deabd18c0c2c1ded1de931",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -579,11 +495,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750371096,
|
"lastModified": 1756117388,
|
||||||
"narHash": "sha256-JB1IeJ41y7kWc/dPGV6RMcCUM0Xj2NEK26A2Ap7EM9c=",
|
"narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "38f3a211657ce82a1123bf19402199b67a410f08",
|
"rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -604,11 +520,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750371869,
|
"lastModified": 1755184602,
|
||||||
"narHash": "sha256-lGk4gLjgZQ/rndUkzmPYcgbHr8gKU5u71vyrjnwfpB4=",
|
"narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprwayland-scanner",
|
"repo": "hyprwayland-scanner",
|
||||||
"rev": "aa38edd6e3e277ae6a97ea83a69261a5c3aab9fd",
|
"rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -624,11 +540,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750618568,
|
"lastModified": 1758447883,
|
||||||
"narHash": "sha256-w9EG5FOXrjXGfbqCcQg9x1lMnTwzNDW5BMXp8ddy15E=",
|
"narHash": "sha256-yGA6MV0E4JSEXqLTb4ZZkmdJZcoQ8HUzihRRX12Bvpg=",
|
||||||
"owner": "LnL7",
|
"owner": "LnL7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "1dd19f19e4b53a1fd2e8e738a08dd5fe635ec7e5",
|
"rev": "25381509d5c91bbf3c30e23abc6d8476d2143cd1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -690,11 +606,11 @@
|
|||||||
},
|
},
|
||||||
"nixCats": {
|
"nixCats": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750385661,
|
"lastModified": 1758545673,
|
||||||
"narHash": "sha256-JpIEf5IrOzMTjowkxB6kgh4AK3Dp9i/T9G4w2ZiKMgQ=",
|
"narHash": "sha256-MMcEImF7vHqImzrdRlSFCbzGq0ebi/5eSYwypNGr+AA=",
|
||||||
"owner": "BirdeeHub",
|
"owner": "BirdeeHub",
|
||||||
"repo": "nixCats-nvim",
|
"repo": "nixCats-nvim",
|
||||||
"rev": "04379fef2fbd4c9d8f4c9a6203cef135ab0b1acd",
|
"rev": "91f9a4b4605cc3aed835e180eb58a5bd73236407",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -705,11 +621,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750837715,
|
"lastModified": 1757943327,
|
||||||
"narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=",
|
"narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "98236410ea0fe204d0447149537a924fb71a6d4f",
|
"rev": "67a709cfe5d0643dafd798b0b613ed579de8be05",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -725,11 +641,11 @@
|
|||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749574455,
|
"lastModified": 1758545267,
|
||||||
"narHash": "sha256-fm2/8KPOYvvIAnNVtjDlTt/My00lIbZQ+LMrfQIWVzs=",
|
"narHash": "sha256-/qTq2MHOOy+QB6Znz0k2TmomUzq8FsYN6NGhdpW7BQw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "917af390377c573932d84b5e31dd9f2c1b5c0f09",
|
"rev": "a36f84cc858bc139e175c17f64fe699d2dacb755",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -741,11 +657,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750365781,
|
"lastModified": 1758198701,
|
||||||
"narHash": "sha256-XE/lFNhz5lsriMm/yjXkvSZz5DfvKJLUjsS6pP8EC50=",
|
"narHash": "sha256-7To75JlpekfUmdkUZewnT6MoBANS0XVypW6kjUOXQwc=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "08f22084e6085d19bcfb4be30d1ca76ecb96fe54",
|
"rev": "0147c2f1d54b30b5dd6d4a8c8542e8d7edf93b5d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -789,27 +705,27 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749173751,
|
"lastModified": 1758277210,
|
||||||
"narHash": "sha256-ENY3y3v6S9ZmLDDLI3LUT8MXmfXg/fSt2eA4GCnMVCE=",
|
"narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ed29f002b6d6e5e7e32590deb065c34a31dc3e91",
|
"rev": "8eaee110344796db060382e15d3af0a9fc396e0e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-24.11",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750741721,
|
"lastModified": 1758427187,
|
||||||
"narHash": "sha256-Z0djmTa1YmnGMfE9jEe05oO4zggjDmxOGKwt844bUhE=",
|
"narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4b1164c3215f018c4442463a27689d973cffd750",
|
"rev": "554be6495561ff07b6c724047bdd7e0716aa7b46",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -821,11 +737,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748460289,
|
"lastModified": 1756819007,
|
||||||
"narHash": "sha256-7doLyJBzCllvqX4gszYtmZUToxKvMUrg45EUWaUYmBg=",
|
"narHash": "sha256-12V64nKG/O/guxSYnr5/nq1EfqwJCdD2+cIGmhz3nrE=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "96ec055edbe5ee227f28cdbc3f1ddf1df5965102",
|
"rev": "aaff8c16d7fc04991cac6245bee1baa31f72b1e1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -898,15 +814,14 @@
|
|||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"stylix",
|
"stylix",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
]
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748730660,
|
"lastModified": 1756961635,
|
||||||
"narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=",
|
"narHash": "sha256-hETvQcILTg5kChjYNns1fD5ELdsYB/VVgVmBtqKQj9A=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb",
|
"rev": "6ca27b2654ac55e3f6e0ca434c1b4589ae22b370",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -925,11 +840,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749636823,
|
"lastModified": 1758108966,
|
||||||
"narHash": "sha256-WUaIlOlPLyPgz9be7fqWJA5iG6rHcGRtLERSCfUDne4=",
|
"narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "623c56286de5a3193aa38891a6991b28f9bab056",
|
"rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -975,11 +890,8 @@
|
|||||||
"base16-helix": "base16-helix",
|
"base16-helix": "base16-helix",
|
||||||
"base16-vim": "base16-vim",
|
"base16-vim": "base16-vim",
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-compat": "flake-compat_3",
|
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"git-hooks": "git-hooks",
|
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"home-manager": "home-manager_2",
|
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"systems": "systems_2",
|
"systems": "systems_2",
|
||||||
@ -990,11 +902,11 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750862951,
|
"lastModified": 1758612110,
|
||||||
"narHash": "sha256-oUhnj0mzeSAX3IFaWn6LKLbmuFeNd7ulIAkxf0Jc07A=",
|
"narHash": "sha256-iwADWo5aARai4TKBylPwBkg73gUTPjfrsLGr9Vrfa8g=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "37b8c5f68086f36a109074c3fedebbbf8c20ecda",
|
"rev": "ef025b8de39802b05ed3f42d2045fd7324174f42",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -1069,11 +981,11 @@
|
|||||||
"tinted-schemes": {
|
"tinted-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748180480,
|
"lastModified": 1754779259,
|
||||||
"narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=",
|
"narHash": "sha256-8KG2lXGaXLUE0F/JVwLQe7kOVm21IDfNEo0gfga5P4M=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "schemes",
|
"repo": "schemes",
|
||||||
"rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31",
|
"rev": "097d751b9e3c8b97ce158e7d141e5a292545b502",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -1085,11 +997,11 @@
|
|||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748740859,
|
"lastModified": 1754788770,
|
||||||
"narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=",
|
"narHash": "sha256-LAu5nBr7pM/jD9jwFc6/kyFY4h7Us4bZz7dvVvehuwo=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "57d5f9683ff9a3b590643beeaf0364da819aedda",
|
"rev": "fb2175accef8935f6955503ec9dd3c973eec385c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -1101,11 +1013,11 @@
|
|||||||
"tinted-zed": {
|
"tinted-zed": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725758778,
|
"lastModified": 1755613540,
|
||||||
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
|
"narHash": "sha256-zBFrrTxHLDMDX/OYxkCwGGbAhPXLi8FrnLhYLsSOKeY=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-zed",
|
"repo": "base16-zed",
|
||||||
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
|
"rev": "937bada16cd3200bdbd3a2f5776fc3b686d5cba0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -1114,28 +1026,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nur",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733222881,
|
|
||||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xdph": {
|
"xdph": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprland-protocols": [
|
"hyprland-protocols": [
|
||||||
@ -1164,11 +1054,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750372504,
|
"lastModified": 1755354946,
|
||||||
"narHash": "sha256-VBeZb1oqZM1cqCAZnFz/WyYhO8aF/ImagI7WWg/Z3Og=",
|
"narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "400308fc4f9d12e0a93e483c2e7a649e12af1a92",
|
"rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
42
modules/nixos/emacs/default.nix
Normal file
42
modules/nixos/emacs/default.nix
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.emacs = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.emacs-unstable;
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(import (builtins.fetchTarball {
|
||||||
|
url = "https://github.com/nix-community/emacs-overlay/archive/master.tar.gz";
|
||||||
|
sha256 = "10vnpcmqv0n6jk6hq5lkblslim5fvxv6cwjl9wvi1r0r0ig529i1";
|
||||||
|
}))
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.cmake
|
||||||
|
pkgs.cmake
|
||||||
|
pkgs.libtool
|
||||||
|
pkgs.glibtool
|
||||||
|
pkgs.graphviz
|
||||||
|
(pkgs.emacsWithPackagesFromUsePackage {
|
||||||
|
config = ./init.el;
|
||||||
|
|
||||||
|
defaultInitFile = true;
|
||||||
|
|
||||||
|
extraEmacsPackages = epkgs: [
|
||||||
|
epkgs.mu4e
|
||||||
|
epkgs.pdf-tools
|
||||||
|
epkgs.vterm
|
||||||
|
|
||||||
|
pkgs.tree-sitter
|
||||||
|
pkgs.fd
|
||||||
|
pkgs.ripgrep
|
||||||
|
pkgs.typescript-language-server
|
||||||
|
pkgs.typescript
|
||||||
|
pkgs.vscode-langservers-extracted
|
||||||
|
pkgs.nodejs
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
739
modules/nixos/emacs/init.el
Normal file
739
modules/nixos/emacs/init.el
Normal file
@ -0,0 +1,739 @@
|
|||||||
|
;; performance enhancements
|
||||||
|
(setq gc-cons-threshold #x40000000)
|
||||||
|
|
||||||
|
(setq read-process-output-max (* 1024 1024 4))
|
||||||
|
|
||||||
|
; ;; disable package.el on startup
|
||||||
|
; (setq package-enable-at-startup nil)
|
||||||
|
; ;; bootstrap `straight.el`
|
||||||
|
; (defvar bootstrap-version)
|
||||||
|
; (let ((bootstrap-file
|
||||||
|
; (expand-file-name
|
||||||
|
; "straight/repos/straight.el/bootstrap.el"
|
||||||
|
; (or (bound-and-true-p straight-base-dir)
|
||||||
|
; user-emacs-directory)))
|
||||||
|
; (bootstrap-version 7))
|
||||||
|
; (unless (file-exists-p bootstrap-file)
|
||||||
|
; (with-current-buffer
|
||||||
|
; (url-retrieve-synchronously
|
||||||
|
; "https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
|
||||||
|
; 'silent 'inhibit-cookies)
|
||||||
|
; (goto-char (point-max))
|
||||||
|
; (eval-print-last-sexp)))
|
||||||
|
; (load bootstrap-file nil 'nomessage))
|
||||||
|
; (straight-use-package 'use-package)
|
||||||
|
|
||||||
|
;; add MELPA
|
||||||
|
(require 'package)
|
||||||
|
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
|
||||||
|
|
||||||
|
; (straight-use-package 'org)
|
||||||
|
|
||||||
|
;; EMACS
|
||||||
|
(use-package emacs
|
||||||
|
:ensure nil
|
||||||
|
:custom
|
||||||
|
(column-number-mode t)
|
||||||
|
(auto-save-default nil)
|
||||||
|
(create-lockfiles nil)
|
||||||
|
(display-line-numbers-type 'relative)
|
||||||
|
(global-auto-revert-non-file-buffers t)
|
||||||
|
(history-length 25)
|
||||||
|
(inhibit-startup-message t)
|
||||||
|
(initial-scratch-message "")
|
||||||
|
(ispell-dictionary "en_US")
|
||||||
|
(make-backup-files nil)
|
||||||
|
(pixel-scroll-precision-mode t)
|
||||||
|
(pixel-scroll-precision-use-momentum nil)
|
||||||
|
(ring-bell-function 'ignore)
|
||||||
|
(split-width-threshold 300)
|
||||||
|
(switch-to-buffer-obey-display-actions t)
|
||||||
|
(tab-always-indent t)
|
||||||
|
(tab-width 4)
|
||||||
|
;; (treesit-font-lock-level 4)
|
||||||
|
(truncate-lines t)
|
||||||
|
(use-dialog-box nil)
|
||||||
|
(use-short-answers t)
|
||||||
|
;;(warning-minimum-level :emergency)
|
||||||
|
|
||||||
|
:hook
|
||||||
|
(prog-mode . display-line-numbers-mode)
|
||||||
|
|
||||||
|
:config
|
||||||
|
(defun skip-these-buffers (_window buffer _bury-or-kill)
|
||||||
|
"Function for `switch-to-prev-buffer-skip'."
|
||||||
|
(string-match "\\*[^*]+\\*" (buffer-name buffer)))
|
||||||
|
(setq switch-to-prev-buffer-skip 'skip-these-buffers)
|
||||||
|
|
||||||
|
(set-face-attribute 'default nil :family "JetBrainsMono Nerd Font" :height 100)
|
||||||
|
|
||||||
|
(setq custom-file (locate-user-emacs-file "custom-vars.el"))
|
||||||
|
(load custom-file 'noerror 'nomessage)
|
||||||
|
|
||||||
|
:init
|
||||||
|
(tool-bar-mode -1)
|
||||||
|
(menu-bar-mode -1)
|
||||||
|
(scroll-bar-mode -1)
|
||||||
|
(global-hl-line-mode 1)
|
||||||
|
(global-auto-revert-mode 1)
|
||||||
|
(indent-tabs-mode -1)
|
||||||
|
(recentf-mode 1)
|
||||||
|
(savehist-mode 1)
|
||||||
|
(save-place-mode 1)
|
||||||
|
(winner-mode 1)
|
||||||
|
(xterm-mouse-mode 1)
|
||||||
|
(file-name-shadow-mode 1))
|
||||||
|
|
||||||
|
(use-package doom-themes
|
||||||
|
:ensure t
|
||||||
|
:custom
|
||||||
|
;; Global settings (defaults)
|
||||||
|
(doom-themes-enable-bold t) ; if nil, bold is universally disabled
|
||||||
|
(doom-themes-enable-italic t) ; if nil, italics is universally disabled
|
||||||
|
:config
|
||||||
|
(load-theme 'modus-operandi t)
|
||||||
|
|
||||||
|
;; Enable flashing mode-line on errors
|
||||||
|
(doom-themes-visual-bell-config)
|
||||||
|
;; Corrects (and improves) org-mode's native fontification.
|
||||||
|
(doom-themes-org-config))
|
||||||
|
|
||||||
|
(use-package eldoc
|
||||||
|
:ensure nil
|
||||||
|
:init
|
||||||
|
(global-eldoc-mode))
|
||||||
|
|
||||||
|
(use-package flymake
|
||||||
|
:ensure nil
|
||||||
|
:defer t
|
||||||
|
:hook (prog-mode . flymake-mode))
|
||||||
|
|
||||||
|
(use-package org
|
||||||
|
:ensure nil
|
||||||
|
:defer t
|
||||||
|
:custom
|
||||||
|
(org-return-follows-link t)
|
||||||
|
(org-hide-emphasis-markers t)
|
||||||
|
(org-log-into-drawer t)
|
||||||
|
(org-log-done 'time)
|
||||||
|
(org-agenda-span 'day)
|
||||||
|
(org-todo-keywords
|
||||||
|
'((sequence "TODO(t)" "NEXT(n)" "PROG(p)" "INTR(i)" "WAIT(w)" "SOMEDAY(s)" "|" "DONE(d)" "CANCELLED(c)")))
|
||||||
|
(org-capture-templates
|
||||||
|
`(("i" "Inbox" entry (file+headline "todo.org" "Inbox")
|
||||||
|
,(concat "* TODO %?\n"
|
||||||
|
"%U"))
|
||||||
|
("j" "Journal" entry (file denote-journal-path-to-new-or-existing-entry)
|
||||||
|
"* %U %?\n%i\n%a"
|
||||||
|
:kill-buffer t
|
||||||
|
:empty-lines 1)
|
||||||
|
("@" "Inbox [email]" entry (file+headline "todo.org" "Inbox")
|
||||||
|
,(concat "* TODO Process \"%a\" %?\n"
|
||||||
|
"%U"))))
|
||||||
|
(org-refile-use-outline-path 'file)
|
||||||
|
(org-outline-path-complete-in-steps nil)
|
||||||
|
(org-refile-targets '((nil :maxlevel . 9)
|
||||||
|
(org-agenda-files :maxlevel . 9)))
|
||||||
|
(org-agenda-skip-scheduled-if-done t)
|
||||||
|
(org-agenda-skip-deadline-if-done t)
|
||||||
|
(org-agenda-include-deadlines t)
|
||||||
|
(org-agenda-include-diary t)
|
||||||
|
(org-agenda-block-separator nil)
|
||||||
|
(org-agenda-compact-blocks t)
|
||||||
|
(org-agenda-start-with-log-mode t)
|
||||||
|
:config
|
||||||
|
(setq org-directory "~/org")
|
||||||
|
(setq org-agenda-files (list "todo.org"))
|
||||||
|
:hook
|
||||||
|
(org-mode . org-indent-mode)
|
||||||
|
:init
|
||||||
|
(require 'org-tempo))
|
||||||
|
|
||||||
|
(use-package org-modern
|
||||||
|
:ensure t
|
||||||
|
:hook
|
||||||
|
(org-mode . global-org-modern-mode)
|
||||||
|
:custom
|
||||||
|
(org-modern-keyword nil)
|
||||||
|
(org-modern-checkbox nil)
|
||||||
|
(org-modern-table nil))
|
||||||
|
|
||||||
|
(use-package toc-org
|
||||||
|
:ensure t
|
||||||
|
:hook (org-mode . toc-org-mode))
|
||||||
|
|
||||||
|
(use-package denote
|
||||||
|
:ensure t
|
||||||
|
:hook
|
||||||
|
((dired-mode . denote-dired-mode)
|
||||||
|
(text-mode . denote-fontify-links-mode))
|
||||||
|
:bind
|
||||||
|
(("C-c n n" . denote)
|
||||||
|
("C-c n r" . denote-rename-file)
|
||||||
|
("C-c n l" . denote-link)
|
||||||
|
("C-c n b" . denote-backlinks)
|
||||||
|
("C-c n d" . denote-dired))
|
||||||
|
:config
|
||||||
|
(setq denote-directory (expand-file-name "~/org/note"))
|
||||||
|
(denote-rename-buffer-mode 1))
|
||||||
|
|
||||||
|
(use-package consult-denote
|
||||||
|
:ensure t
|
||||||
|
:bind
|
||||||
|
(("C-c n f" . consult-denote-find)
|
||||||
|
("C-c n g" . consult-denote-grep))
|
||||||
|
:config
|
||||||
|
(consult-denote-mode 1))
|
||||||
|
|
||||||
|
(use-package denote-journal
|
||||||
|
:ensure t
|
||||||
|
:commands (denote-journal-new-entry
|
||||||
|
denote-journal-new-or-existing-entry
|
||||||
|
denote-journal-link-or-create-entry )
|
||||||
|
:hook (calendar-mode . denote-journal-calendar-mode)
|
||||||
|
:config
|
||||||
|
(setq denote-journal-directory
|
||||||
|
(expand-file-name "journal" denote-directory))
|
||||||
|
(setq denote-journal-keyword "journal")
|
||||||
|
(setq denote-journal-title-format 'day-date-month-year))
|
||||||
|
|
||||||
|
;; (use-package org-superstar
|
||||||
|
;; :ensure t
|
||||||
|
;; :hook
|
||||||
|
;; (org-mode . org-superstar-mode))
|
||||||
|
|
||||||
|
(use-package org-super-agenda
|
||||||
|
:ensure t
|
||||||
|
:custom
|
||||||
|
(org-super-agenda-groups
|
||||||
|
'(
|
||||||
|
(:name "Today"
|
||||||
|
:time-grid t
|
||||||
|
:date today
|
||||||
|
:todo "TODAY"
|
||||||
|
:scheduled today
|
||||||
|
:order 1)
|
||||||
|
(:name "Next Items"
|
||||||
|
:todo "NEXT"
|
||||||
|
:order 2)
|
||||||
|
(:name "Due Today"
|
||||||
|
:deadline today
|
||||||
|
:order 3)
|
||||||
|
(:name "Due Soon"
|
||||||
|
:deadline future
|
||||||
|
:order 4)
|
||||||
|
(:name "Overdue"
|
||||||
|
:deadline past
|
||||||
|
:order 5)
|
||||||
|
(:name "Scheduled Soon"
|
||||||
|
:scheduled future
|
||||||
|
:order 6)
|
||||||
|
(:name "Waiting"
|
||||||
|
:todo "WAIT"
|
||||||
|
:order 7)
|
||||||
|
(:habit t
|
||||||
|
:order 8)
|
||||||
|
(:name "Project"
|
||||||
|
:category "Project"
|
||||||
|
:order 9)
|
||||||
|
)))
|
||||||
|
|
||||||
|
(use-package which-key
|
||||||
|
:ensure nil
|
||||||
|
:defer t
|
||||||
|
:hook
|
||||||
|
(after-init . which-key-mode))
|
||||||
|
|
||||||
|
(use-package nerd-icons
|
||||||
|
:ensure t
|
||||||
|
:defer t)
|
||||||
|
|
||||||
|
(use-package nerd-icons-dired
|
||||||
|
:ensure t
|
||||||
|
:defer t
|
||||||
|
:hook
|
||||||
|
(dired-mode . nerd-icons-dired-mode))
|
||||||
|
|
||||||
|
(use-package doom-modeline
|
||||||
|
:ensure t
|
||||||
|
:config
|
||||||
|
(display-battery-mode t)
|
||||||
|
(display-time-mode t)
|
||||||
|
:init (doom-modeline-mode 1))
|
||||||
|
|
||||||
|
(use-package evil
|
||||||
|
:ensure t
|
||||||
|
:defer t
|
||||||
|
:hook
|
||||||
|
(after-init . evil-mode)
|
||||||
|
:init
|
||||||
|
(setq evil-want-integration t)
|
||||||
|
(setq evil-want-keybinding nil)
|
||||||
|
(setq evil-want-C-u-scroll t)
|
||||||
|
(setq evil-want-C-u-delete t)
|
||||||
|
:config
|
||||||
|
(evil-set-undo-system 'undo-tree)
|
||||||
|
(evil-set-leader 'normal (kbd "SPC"))
|
||||||
|
(evil-set-leader 'visual (kbd "SPC")))
|
||||||
|
|
||||||
|
(use-package evil-collection
|
||||||
|
:defer t
|
||||||
|
:ensure t
|
||||||
|
:custom
|
||||||
|
(evil-collection-want-find-usages-bindings t)
|
||||||
|
:hook
|
||||||
|
(evil-mode . evil-collection-init))
|
||||||
|
|
||||||
|
(use-package evil-surround
|
||||||
|
:ensure t
|
||||||
|
:after evil-collection
|
||||||
|
:config
|
||||||
|
(global-evil-surround-mode 1))
|
||||||
|
|
||||||
|
(use-package evil-matchit
|
||||||
|
:ensure t
|
||||||
|
:after evil-collection
|
||||||
|
:config
|
||||||
|
(global-evil-matchit-mode 1))
|
||||||
|
|
||||||
|
(use-package undo-tree
|
||||||
|
:defer t
|
||||||
|
:ensure t
|
||||||
|
:hook
|
||||||
|
(after-init . global-undo-tree-mode)
|
||||||
|
:init
|
||||||
|
(setq undo-tree-visualizer-timestamps t
|
||||||
|
undo-tree-visualizer-diff t
|
||||||
|
undo-limit 800000
|
||||||
|
undo-strong-limit 12000000
|
||||||
|
undo-outer-limit 120000000)
|
||||||
|
:config
|
||||||
|
(setq undo-tree-history-directory-alist '(("." . "~/.config/emacs/.cache/undo"))))
|
||||||
|
|
||||||
|
(use-package general
|
||||||
|
:ensure t
|
||||||
|
:config
|
||||||
|
(defun mthomson/lsp-describe-and-jump ()
|
||||||
|
"Show hover documentation and jump to *lsp-help* buffer."
|
||||||
|
(interactive)
|
||||||
|
(lsp-describe-thing-at-point)
|
||||||
|
(let ((help-buffer "*lsp-help*"))
|
||||||
|
(when (get-buffer help-buffer)
|
||||||
|
(switch-to-buffer-other-window help-buffer))))
|
||||||
|
(general-evil-setup t)
|
||||||
|
|
||||||
|
(general-define-key
|
||||||
|
:states 'normal
|
||||||
|
"] d" '(flymake-goto-next-error :wk "Goto next error")
|
||||||
|
"[ d" '(flymake-goto-prev-error :wk "Goto prev error")
|
||||||
|
"] c" '(diff-hl-next-hunk :wk "Goto next hunk")
|
||||||
|
"[ c" '(diff-hl-previous-hunk :wk "Goto prev hunk")
|
||||||
|
"K" '(mthomson/lsp-describe-and-jump :wk "Describe"))
|
||||||
|
|
||||||
|
(general-define-key
|
||||||
|
:states 'normal
|
||||||
|
:predicate 'lsp-mode
|
||||||
|
"g r" '(lsp-find-references :wk "Go to references")
|
||||||
|
"g d" '(lsp-find-definition :wk "Go to definition")
|
||||||
|
"g D" '(lsp-find-declaration :wk "Go to declaration")
|
||||||
|
"g I" '(lsp-find-implementation :wk "Go to implementation")
|
||||||
|
"g t" '(lsp-find-type-definition :wk "Go to type definition")
|
||||||
|
"K" '(mthomson/lsp-describe-and-jump :wk "Describe"))
|
||||||
|
|
||||||
|
(general-create-definer my-leader-def
|
||||||
|
:states '(normal insert visual motion emacs)
|
||||||
|
:keymaps 'override
|
||||||
|
:prefix "SPC"
|
||||||
|
:global-prefix "C-SPC")
|
||||||
|
(my-leader-def
|
||||||
|
"f" '(:ignore t :wk "Find")
|
||||||
|
"f c" '((lambda () (interactive) (find-file "~/.config/emacs/init.el")) :wk "Edit emacs config")
|
||||||
|
"f r" '(consult-recent-file :wk "Recent files")
|
||||||
|
"f f" '(consult-find :wk "Find Files")
|
||||||
|
"f g" '(consult-ripgrep :wk "Ripgrep search in files")
|
||||||
|
"f l" '(consult-line :wk "Find line")
|
||||||
|
"f i" '(consult-imenu :wk "Imenu buffer locations"))
|
||||||
|
|
||||||
|
(my-leader-def
|
||||||
|
"c" '(:ignore t :wk "Code")
|
||||||
|
"c a" '(lsp-execute-code-action :wk "Code actions"))
|
||||||
|
|
||||||
|
(my-leader-def
|
||||||
|
"h" '(:ignore t :wk "Help")
|
||||||
|
"h v" '(describe-variable :wk "Describe variable")
|
||||||
|
"h f" '(describe-function :wk "Describe function")
|
||||||
|
"h k" '(describe-key :wk "Describe key"))
|
||||||
|
|
||||||
|
(my-leader-def
|
||||||
|
"p" '(:ignore t :wk "Project")
|
||||||
|
"p b" '(consult-project-buffer :wk "Project buffers")
|
||||||
|
"p p" '(project-switch-project :wk "Project switch")
|
||||||
|
"p f" '(project-find-file :wk "Project find file")
|
||||||
|
"p g" '(project-find-regexp :wk "Project grep file")
|
||||||
|
"p k" '(project-kill-buffers :wk "Project kill buffers")
|
||||||
|
"p d" '(project-dired :wk "Project dired"))
|
||||||
|
|
||||||
|
(my-leader-def
|
||||||
|
"x" '(:ignore t :wk "Flymake")
|
||||||
|
"x x" '(consult-flymake :wk "Show diagnostics"))
|
||||||
|
|
||||||
|
(my-leader-def
|
||||||
|
"g" '(:ignore t :wk "Git")
|
||||||
|
"g g" '(magit-status :wk "Magit status")
|
||||||
|
"g l" '(magit-log-current :wk "Magit log"))
|
||||||
|
|
||||||
|
(my-leader-def
|
||||||
|
"u" '(undo-tree-visualize :wk "Undo-tree")))
|
||||||
|
|
||||||
|
(use-package vertico
|
||||||
|
:ensure t
|
||||||
|
:hook
|
||||||
|
(after-init . vertico-mode))
|
||||||
|
|
||||||
|
(use-package orderless
|
||||||
|
:ensure t
|
||||||
|
:custom
|
||||||
|
(completion-styles '(orderless partial-completion basic))
|
||||||
|
(completion-category-defaults nil)
|
||||||
|
(completion-category-overrides '((file (styles partial-completion)))))
|
||||||
|
|
||||||
|
(use-package marginalia
|
||||||
|
:ensure t
|
||||||
|
:hook
|
||||||
|
(after-init . marginalia-mode))
|
||||||
|
|
||||||
|
(use-package consult
|
||||||
|
:ensure t
|
||||||
|
:defer t)
|
||||||
|
|
||||||
|
(use-package embark
|
||||||
|
:ensure t
|
||||||
|
:defer t)
|
||||||
|
|
||||||
|
(use-package embark-consult
|
||||||
|
:ensure t
|
||||||
|
:hook
|
||||||
|
(embark-collect-mode . consult-preview-at-point-mode))
|
||||||
|
|
||||||
|
(use-package treesit-auto
|
||||||
|
:ensure t
|
||||||
|
:after emacs
|
||||||
|
:custom
|
||||||
|
(treesit-auto-install 'prompt)
|
||||||
|
:config
|
||||||
|
(treesit-auto-add-to-auto-mode-alist 'all)
|
||||||
|
(global-treesit-auto-mode)
|
||||||
|
:init
|
||||||
|
(add-to-list 'auto-mode-alist '("\\.epub\\'" . nov-mode)))
|
||||||
|
|
||||||
|
(use-package corfu
|
||||||
|
:ensure t
|
||||||
|
:custom
|
||||||
|
(corfu-auto t)
|
||||||
|
(corfu-cycle t)
|
||||||
|
(corfu-auto-prefix 2)
|
||||||
|
(corfu-popupinfo-mode t)
|
||||||
|
(corfu-popupinfo-delay 0.5)
|
||||||
|
(corfu-on-exact-match nil)
|
||||||
|
(completion-ignore-case t)
|
||||||
|
:init
|
||||||
|
(global-corfu-mode))
|
||||||
|
|
||||||
|
(use-package nerd-icons-corfu
|
||||||
|
:ensure t
|
||||||
|
:after corfu
|
||||||
|
:init (add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter))
|
||||||
|
|
||||||
|
(use-package cape
|
||||||
|
:ensure t
|
||||||
|
:after corfu
|
||||||
|
:bind ("C-c p" . cape-prefix-map)
|
||||||
|
:init
|
||||||
|
(add-hook 'completion-at-point-functions #'cape-dabbrev)
|
||||||
|
(add-hook 'completion-at-point-functions #'cape-dict)
|
||||||
|
(add-hook 'completion-at-point-functions #'cape-file)
|
||||||
|
(add-hook 'completion-at-point-functions #'cape-elisp-block)
|
||||||
|
(add-hook 'completion-at-point-functions #'cape-keyword))
|
||||||
|
|
||||||
|
;; (use-package company
|
||||||
|
;; :ensure t
|
||||||
|
;; :defer t
|
||||||
|
;; :custom
|
||||||
|
;; (company-tooltip-align-annotations t)
|
||||||
|
;; (company-minimum-prefix-length 1)
|
||||||
|
;; (company-idle-delay 0.2)
|
||||||
|
;; :hook
|
||||||
|
;; (after-init . global-company-mode))
|
||||||
|
|
||||||
|
(use-package lsp-mode
|
||||||
|
:ensure t
|
||||||
|
:defer t
|
||||||
|
:hook (
|
||||||
|
(bash-ts-mode . lsp)
|
||||||
|
(typescript-ts-mode . lsp)
|
||||||
|
(tsx-ts-mode . lsp)
|
||||||
|
(js-mode . lsp)
|
||||||
|
(js-ts-mode . lsp)
|
||||||
|
(css-ts-mode . lsp)
|
||||||
|
(c-ts-mode . lsp)
|
||||||
|
(c++-ts-mode . lsp)
|
||||||
|
(lsp-mode . lsp-enable-which-key-integration)
|
||||||
|
(lsp-completion-mode . my/lsp-mode-setup-completion))
|
||||||
|
:commands lsp
|
||||||
|
:init
|
||||||
|
(defun my/lsp-mode-setup-completion ()
|
||||||
|
(setf (alist-get 'styles (alist-get 'lsp-capf completion-category-defaults))
|
||||||
|
'(flex))) ;; Configure flex
|
||||||
|
:custom
|
||||||
|
(lsp-keymap-prefix "C-c l") ;; Set the prefix for LSP commands.
|
||||||
|
(lsp-inlay-hint-enable t) ;; Enable inlay hints.
|
||||||
|
(lsp-completion-provider :none) ;; Disable the default completion provider.
|
||||||
|
(lsp-session-file (locate-user-emacs-file ".lsp-session")) ;; Specify session file location.
|
||||||
|
(lsp-log-io nil) ;; Disable IO logging for speed.
|
||||||
|
(lsp-idle-delay 0) ;; Set the delay for LSP to 0 (debouncing).
|
||||||
|
(lsp-keep-workspace-alive nil) ;; Disable keeping the workspace alive.
|
||||||
|
;; Core settings
|
||||||
|
(lsp-enable-xref t) ;; Enable cross-references.
|
||||||
|
(lsp-auto-configure t) ;; Automatically configure LSP.
|
||||||
|
(lsp-enable-links nil) ;; Disable links.
|
||||||
|
(lsp-eldoc-enable-hover t) ;; Enable ElDoc hover.
|
||||||
|
(lsp-enable-file-watchers nil) ;; Disable file watchers.
|
||||||
|
(lsp-enable-folding nil) ;; Disable folding.
|
||||||
|
(lsp-enable-imenu t) ;; Enable Imenu support.
|
||||||
|
(lsp-enable-indentation t) ;; Enable indentation.
|
||||||
|
(lsp-enable-on-type-formatting nil) ;; Disable on-type formatting.
|
||||||
|
(lsp-enable-suggest-server-download t) ;; Enable server download suggestion.
|
||||||
|
(lsp-enable-symbol-highlighting t) ;; Enable symbol highlighting.
|
||||||
|
(lsp-enable-text-document-color nil) ;; Disable text document color.
|
||||||
|
;; Modeline settings
|
||||||
|
(lsp-modeline-code-actions-enable nil) ;; Keep modeline clean.
|
||||||
|
(lsp-modeline-diagnostics-enable nil) ;; Use `flymake' instead.
|
||||||
|
(lsp-modeline-workspace-status-enable t) ;; Display "LSP" in the modeline when enabled.
|
||||||
|
(lsp-signature-doc-lines 1) ;; Limit echo area to one line.
|
||||||
|
(lsp-eldoc-render-all t) ;; Render all ElDoc messages.
|
||||||
|
;; Completion settings
|
||||||
|
(lsp-completion-enable t) ;; Enable completion.
|
||||||
|
(lsp-completion-enable-additional-text-edit t) ;; Enable additional text edits for completions.
|
||||||
|
(lsp-enable-snippet t) ;; Disable snippets
|
||||||
|
(lsp-completion-show-kind t) ;; Show kind in completions.
|
||||||
|
;; Lens settings
|
||||||
|
(lsp-lens-enable t) ;; Enable lens support.
|
||||||
|
;; Headerline settings
|
||||||
|
(lsp-headerline-breadcrumb-enable-symbol-numbers t) ;; Enable symbol numbers in the headerline.
|
||||||
|
(lsp-headerline-arrow "▶") ;; Set arrow for headerline.
|
||||||
|
(lsp-headerline-breadcrumb-enable-diagnostics nil) ;; Disable diagnostics in headerline.
|
||||||
|
(lsp-headerline-breadcrumb-icons-enable nil) ;; Disable icons in breadcrumb.
|
||||||
|
;; Semantic settings
|
||||||
|
(lsp-semantic-tokens-enable nil)) ;; Disable semantic tokens.
|
||||||
|
|
||||||
|
;; lsp-booster
|
||||||
|
(defun lsp-booster--advice-json-parse (old-fn &rest args)
|
||||||
|
"Try to parse bytecode instead of json."
|
||||||
|
(or
|
||||||
|
(when (equal (following-char) ?#)
|
||||||
|
(let ((bytecode (read (current-buffer))))
|
||||||
|
(when (byte-code-function-p bytecode)
|
||||||
|
(funcall bytecode))))
|
||||||
|
(apply old-fn args)))
|
||||||
|
(advice-add (if (progn (require 'json)
|
||||||
|
(fboundp 'json-parse-buffer))
|
||||||
|
'json-parse-buffer
|
||||||
|
'json-read)
|
||||||
|
:around
|
||||||
|
#'lsp-booster--advice-json-parse)
|
||||||
|
|
||||||
|
(defun lsp-booster--advice-final-command (old-fn cmd &optional test?)
|
||||||
|
"Prepend emacs-lsp-booster command to lsp CMD."
|
||||||
|
(let ((orig-result (funcall old-fn cmd test?)))
|
||||||
|
(if (and (not test?) ;; for check lsp-server-present?
|
||||||
|
(not (file-remote-p default-directory)) ;; see lsp-resolve-final-command, it would add extra shell wrapper
|
||||||
|
lsp-use-plists
|
||||||
|
(not (functionp 'json-rpc-connection)) ;; native json-rpc
|
||||||
|
(executable-find "emacs-lsp-booster"))
|
||||||
|
(progn
|
||||||
|
(when-let ((command-from-exec-path (executable-find (car orig-result)))) ;; resolve command from exec-path (in case not found in $PATH)
|
||||||
|
(setcar orig-result command-from-exec-path))
|
||||||
|
(message "Using emacs-lsp-booster for %s!" orig-result)
|
||||||
|
(cons "emacs-lsp-booster" orig-result))
|
||||||
|
orig-result)))
|
||||||
|
(advice-add 'lsp-resolve-final-command :around #'lsp-booster--advice-final-command)
|
||||||
|
|
||||||
|
;; (use-package yasnippet
|
||||||
|
;; :ensure t
|
||||||
|
;; :straight t)
|
||||||
|
|
||||||
|
;; (use-package yasnippet-snippets
|
||||||
|
;; :ensure t
|
||||||
|
;; :straight t
|
||||||
|
;; :hook (prog-mode . yas-minor-mode))
|
||||||
|
|
||||||
|
;; Configure Tempel
|
||||||
|
(use-package tempel
|
||||||
|
:ensure t
|
||||||
|
:bind (("M-+" . tempel-complete)
|
||||||
|
("M-*" . tempel-insert))
|
||||||
|
:init
|
||||||
|
(defun tempel-setup-capf ()
|
||||||
|
(setq-local completion-at-point-functions
|
||||||
|
(cons #'tempel-expand
|
||||||
|
completion-at-point-functions)))
|
||||||
|
(add-hook 'conf-mode-hook 'tempel-setup-capf)
|
||||||
|
(add-hook 'prog-mode-hook 'tempel-setup-capf)
|
||||||
|
(add-hook 'text-mode-hook 'tempel-setup-capf)
|
||||||
|
(add-hook 'prog-mode-hook #'tempel-abbrev-mode)
|
||||||
|
(global-tempel-abbrev-mode))
|
||||||
|
|
||||||
|
(use-package tempel-collection
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(use-package exec-path-from-shell
|
||||||
|
:ensure t
|
||||||
|
:init
|
||||||
|
(exec-path-from-shell-initialize))
|
||||||
|
|
||||||
|
;; (use-package direnv
|
||||||
|
;; :ensure t
|
||||||
|
;; :config
|
||||||
|
;; (direnv-mode))
|
||||||
|
|
||||||
|
(use-package envrc
|
||||||
|
:ensure t
|
||||||
|
:init
|
||||||
|
(setq envrc-show-summary-in-minibuffer nil)
|
||||||
|
:hook
|
||||||
|
(after-init . envrc-global-mode))
|
||||||
|
|
||||||
|
;; (use-package add-node-modules-path
|
||||||
|
;; :ensure t
|
||||||
|
;; :defer t
|
||||||
|
;; :custom
|
||||||
|
;; (eval-after-load 'typescript-ts-mode
|
||||||
|
;; '(add-hook 'typescript-ts-mode-hook #'add-node-modules-path))
|
||||||
|
;; (eval-after-load 'tsx-ts-mode
|
||||||
|
;; '(add-hook 'tsx-ts-mode-hook #'add-node-modules-path))
|
||||||
|
;; (eval-after-load 'typescriptreact-mode
|
||||||
|
;; '(add-hook 'typescriptreact-mode-hook #'add-node-modules-path))
|
||||||
|
;; (eval-after-load 'js-mode
|
||||||
|
;; '(add-hook 'js-mode-hook #'add-node-modules-path)))
|
||||||
|
|
||||||
|
(use-package pulsar
|
||||||
|
:defer t
|
||||||
|
:ensure t
|
||||||
|
:hook
|
||||||
|
(after-init . pulsar-global-mode)
|
||||||
|
:config
|
||||||
|
(setq pulsar-pulse t)
|
||||||
|
(setq pulsar-delay 0.025)
|
||||||
|
(setq pulsar-iterations 10)
|
||||||
|
(setq pulsar-face 'evil-ex-lazy-highlight)
|
||||||
|
|
||||||
|
(add-to-list 'pulsar-pulse-functions 'evil-scroll-down)
|
||||||
|
(add-to-list 'pulsar-pulse-functions 'flymake-goto-next-error)
|
||||||
|
(add-to-list 'pulsar-pulse-functions 'flymake-goto-prev-error)
|
||||||
|
(add-to-list 'pulsar-pulse-functions 'evil-yank)
|
||||||
|
(add-to-list 'pulsar-pulse-functions 'evil-yank-line)
|
||||||
|
(add-to-list 'pulsar-pulse-functions 'evil-delete)
|
||||||
|
(add-to-list 'pulsar-pulse-functions 'evil-delete-line)
|
||||||
|
(add-to-list 'pulsar-pulse-functions 'evil-jump-item)
|
||||||
|
(add-to-list 'pulsar-pulse-functions 'diff-hl-next-hunk)
|
||||||
|
(add-to-list 'pulsar-pulse-functions 'diff-hl-previous-hunk))
|
||||||
|
|
||||||
|
(use-package magit
|
||||||
|
:ensure t
|
||||||
|
:defer t)
|
||||||
|
|
||||||
|
(use-package diff-hl
|
||||||
|
:ensure t
|
||||||
|
:config
|
||||||
|
(global-diff-hl-mode))
|
||||||
|
|
||||||
|
;; Mu4e
|
||||||
|
(use-package mu4e
|
||||||
|
:config
|
||||||
|
;; mbsync
|
||||||
|
;;(setq mu4e-mu-binary "mu")
|
||||||
|
(setq mu4e-get-mail-command (concat (executable-find "mbsync") " -a"))
|
||||||
|
(setq mu4e--get-mail-password-regexp "^Master Password: $")
|
||||||
|
(setq mu4e-update-interval 300)
|
||||||
|
(setq mu4e-change-filenames-when-moving t)
|
||||||
|
(setq mu4e-attachment-dir "~/Downloads")
|
||||||
|
|
||||||
|
;;smtp
|
||||||
|
(setq send-mail-function 'sendmail-send-it)
|
||||||
|
(setq sendmail-program (executable-find "msmtp"))
|
||||||
|
(setq message-sendmail-envelop-from 'header)
|
||||||
|
|
||||||
|
;; contexts
|
||||||
|
(setq mu4e-contexts
|
||||||
|
`(,(make-mu4e-context
|
||||||
|
:name "personal"
|
||||||
|
:enter-func
|
||||||
|
(lambda () (mu4e-message "Opening personal"))
|
||||||
|
:leave-func
|
||||||
|
(lambda () (mu4e-message "Closing personal"))
|
||||||
|
:match-func
|
||||||
|
(lambda (msg)
|
||||||
|
(when msg
|
||||||
|
(string-match-p "^/personal" (mu4e-message-field msg :maildir))))
|
||||||
|
:vars '((user-mail-address . "michael@michaelthomson.dev" )
|
||||||
|
(user-full-name . "Michael Thomson")
|
||||||
|
(mu4e-drafts-folder . "/personal/Drafts")
|
||||||
|
(mu4e-refile-folder . "/personal/Archive")
|
||||||
|
(mu4e-sent-folder . "/personal/Sent")
|
||||||
|
(mu4e-trash-folder . "/personal/Trash"))))))
|
||||||
|
|
||||||
|
(use-package notmuch
|
||||||
|
:ensure t
|
||||||
|
:bind (("C-c m" . notmuch-hello))
|
||||||
|
:custom
|
||||||
|
(notmuch-search-oldest-first nil)
|
||||||
|
(notmuch-saved-searches
|
||||||
|
'((:name "inbox" :query "tag:inbox")
|
||||||
|
(:name "unread" :query "tag:unread")
|
||||||
|
(:name "sent" :query "tag:sent")
|
||||||
|
(:name "drafts" :query "tag:draft")))
|
||||||
|
:init
|
||||||
|
(add-hook 'message-send-hook (lambda ()
|
||||||
|
(let ((from (message-fetch-field "From")))
|
||||||
|
(if (string-match-p (regexp-quote "michael@michaelthomson.dev") from)
|
||||||
|
(progn
|
||||||
|
(setq sendmail-program "msmtp")
|
||||||
|
(setq message-sendmail-extra-arguments nil))
|
||||||
|
(progn
|
||||||
|
(setq sendmail-program "gmi")
|
||||||
|
(setq message-sendmail-extra-arguments '("send" "--quiet" "-t" "-C" "~/Maildir/work")))))))
|
||||||
|
:config
|
||||||
|
(setq notmuch-fcc-dirs nil))
|
||||||
|
|
||||||
|
(use-package ol-notmuch
|
||||||
|
:ensure t
|
||||||
|
:bind
|
||||||
|
("C-c l" . org-store-link))
|
||||||
|
|
||||||
|
;; epubs
|
||||||
|
(use-package nov
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
;; docker
|
||||||
|
(use-package docker
|
||||||
|
:ensure t
|
||||||
|
:bind ("C-c d" . docker))
|
||||||
|
|
||||||
|
(use-package vterm
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(use-package nix-mode
|
||||||
|
:ensure t
|
||||||
|
:mode "\\.nix\\'")
|
||||||
|
|
||||||
|
|
||||||
|
;; RSS
|
||||||
|
(use-package elfeed
|
||||||
|
:ensure t
|
||||||
|
:custom
|
||||||
|
(elfeed-feeds
|
||||||
|
'(("https://hnrss.org/frontpage" hn)
|
||||||
|
("https://lwn.net/headlines/rss" lwn))))
|
||||||
|
|
||||||
|
(provide 'init)
|
||||||
|
;;; init.el ends here
|
Loading…
x
Reference in New Issue
Block a user