Skip to content

Commit 47828a5

Browse files
committed
feat(emacs): add indent-bars
1 parent 6540acd commit 47828a5

File tree

3 files changed

+44
-0
lines changed

3 files changed

+44
-0
lines changed

modules/nixos/programs/emacs/default.nix

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ in
1818
extraEmacsPackages = epkgs: [
1919
epkgs.treesit-grammars.with-all-grammars
2020
pkgs.elementary.kanagawa-theme
21+
pkgs.elementary.indent-bars
2122
];
2223
};
2324
earlyInitText = readFiles [

modules/nixos/programs/emacs/init.el

+17
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,21 @@
9393
space-before-tab
9494
tab-mark)))
9595

96+
(use-package indent-bars
97+
:hook
98+
(prog-mode . indent-bars-mode)
99+
(conf-mode . indent-bars-mode)
100+
(json-ts-mode . indent-bars-mode)
101+
:init
102+
(advice-add 'indent-bars--current-indentation-depth :filter-return
103+
(lambda (d) (max 0 (1- d))))
104+
:custom
105+
(indent-bars-color '(highlight :face-bg t :blend 0.1))
106+
(indent-bars-pattern ".")
107+
(indent-bars-width-frac 0.1)
108+
(indent-bars-pad-frac 0.1)
109+
(indent-bars-highlight-current-depth '(:blend 1)))
110+
96111
;; TODO: serialize to file
97112
(defun gg/set-background-opacity (opacity)
98113
"Interactively change the current frame's OPACITY."
@@ -658,6 +673,8 @@
658673
(use-package nix-mode
659674
:hook (nix-mode . lsp-deferred))
660675

676+
(use-package nix-ts-mode)
677+
661678
(use-package lsp-pyright
662679
:hook (python-ts-mode . (lambda ()
663680
(require 'lsp-pyright)

packages/indent-bars/default.nix

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{ lib
2+
, emacsPackages
3+
, fetchFromGitHub
4+
, ...
5+
}:
6+
emacsPackages.trivialBuild rec {
7+
pname = "indent-bars";
8+
version = "13cebfa";
9+
10+
src = fetchFromGitHub {
11+
owner = "jdtsmith";
12+
repo = "indent-bars";
13+
rev = version;
14+
hash = "sha256-CY51OLcdR99CFbFlXYoJAX8qvnucORjhzQeT5Kd+v8E=";
15+
};
16+
17+
packageRequires = [
18+
emacsPackages.compat
19+
];
20+
21+
meta = {
22+
homepage = "https://github.com/jdtsmith/indent-bars";
23+
description = "Fast, configurable indentation guide-bars for Emacs";
24+
license = lib.licenses.gpl3;
25+
};
26+
}

0 commit comments

Comments
 (0)