From 02fca8be4ce1f050457190b8dc12b1eb852a24cf Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Mon, 7 Aug 2023 22:23:17 +0200 Subject: [PATCH] Stuff --- .gitignore | 5 +++++ flake.lock | 35 ++++++++++++++++++++++++++--------- flake.nix | 18 +++++++----------- hmModules/default.nix | 1 + hydra/default.nix | 5 ----- init.el | 32 +++++++++++++++++++++----------- packages/default.nix | 7 ++----- packages/indent-bars.nix | 18 ++++++++++++++++++ packages/packages.nix | 8 ++++++++ 9 files changed, 88 insertions(+), 41 deletions(-) create mode 100644 .gitignore delete mode 100644 hydra/default.nix create mode 100644 packages/indent-bars.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a7a8bc3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +auto-save-list +elpa +projects +transient +result \ No newline at end of file diff --git a/flake.lock b/flake.lock index 2d17fe0..027e7ca 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1689306175, - "narHash": "sha256-8A9V2m8SsHMmn2F7SAwsbwu5QVTRR9MkX9kF48T+Qsk=", + "lastModified": 1691119623, + "narHash": "sha256-zL2Lh+tni8YfRHJl1d2btxk5gl6mlOrp/NoDu9ftBRw=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "a44ec998f6c8f04973f8e8630847157efec2bbfb", + "rev": "180dc7cbf6af0cae6ce6c404e9dd5ea3b3790733", "type": "github" }, "original": { @@ -56,13 +56,29 @@ "type": "github" } }, + "indent-bars": { + "flake": false, + "locked": { + "lastModified": 1691423189, + "narHash": "sha256-NHkv6lU0WoVeQo369eWeyTFx1c+JEs1iHUDzV4hTR8Y=", + "owner": "jdtsmith", + "repo": "indent-bars", + "rev": "3a971623afc40532d0472c2e5c084abfcb8c5970", + "type": "github" + }, + "original": { + "owner": "jdtsmith", + "repo": "indent-bars", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1689192006, - "narHash": "sha256-QM0f0d8oPphOTYJebsHioR9+FzJcy1QNIzREyubB91U=", + "lastModified": 1691006197, + "narHash": "sha256-DbtxVWPt+ZP5W0Usg7jAyTomIM//c3Jtfa59Ht7AV8s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2de8efefb6ce7f5e4e75bdf57376a96555986841", + "rev": "66aedfd010204949cb225cf749be08cb13ce1813", "type": "github" }, "original": { @@ -92,11 +108,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1689209875, - "narHash": "sha256-8AVcBV1DiszaZzHFd5iLc8HSLfxRAuqcU0QdfBEF3Ag=", + "lastModified": 1690927903, + "narHash": "sha256-D5gCaCROnjEKDOel//8TO/pOP87pAEtT0uT8X+0Bj/U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fcc147b1e9358a8386b2c4368bd928e1f63a7df2", + "rev": "bd836ac5e5a7358dea73cb74a013ca32864ccb86", "type": "github" }, "original": { @@ -110,6 +126,7 @@ "inputs": { "emacs-overlay": "emacs-overlay", "flake-parts": "flake-parts", + "indent-bars": "indent-bars", "nixpkgs": [ "emacs-overlay", "nixpkgs" diff --git a/flake.nix b/flake.nix index db1bdaa..9ce0154 100644 --- a/flake.nix +++ b/flake.nix @@ -5,12 +5,14 @@ flake-parts.url = "github:hercules-ci/flake-parts"; emacs-overlay.url = "github:nix-community/emacs-overlay"; nixpkgs.follows = "emacs-overlay/nixpkgs"; + indent-bars = { + # TODO remove when it lands on (M)ELPA + url = "github:jdtsmith/indent-bars"; + flake = false; + }; }; - - outputs = inputs @ { - flake-parts, - ... - } : + + outputs = inputs @ {flake-parts, ...}: flake-parts.lib.mkFlake {inherit inputs;} { systems = ["x86_64-linux"]; imports = [ @@ -18,20 +20,14 @@ ./hmModules ./formatter ./diff-closures - ./hydra ]; }; nixConfig = { extra-substituters = [ - "https://aciceri-emacs.cachix.org" "https://nix-community.cachix.org" ]; extra-trusted-public-keys = [ - "aciceri-emacs.cachix.org-1:kxDGDFWV6LUj41tb8xmPRBI56UJSZOVveN49LZDUKdA=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; }; } - - - diff --git a/hmModules/default.nix b/hmModules/default.nix index aea89dd..1edeb45 100644 --- a/hmModules/default.nix +++ b/hmModules/default.nix @@ -61,6 +61,7 @@ jq xclip hunspell + python3 ] ++ (with hunspellDicts; [ en_US-large diff --git a/hydra/default.nix b/hydra/default.nix deleted file mode 100644 index 635d38c..0000000 --- a/hydra/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{self, ...}: { - flake.hydraJobs = { - packages = self.packages; - }; -} diff --git a/init.el b/init.el index d700954..57d0867 100644 --- a/init.el +++ b/init.el @@ -1,14 +1,10 @@ ;; package --- My Emacs config ;;; Commentary: ;; TODO -;; - use-package is part of vim now, let's use it instead of setup.el! -;; - org-roam;; - org goodies -;; - persp-mode -;; - understand how cape works -;; - dirvish -;; - prettify eshell -;; - projectile - +;; - org-roam +;; - org goodies +;; - persp-mode? +;; - understand how to configure cape ;;; Code: (use-package flymake @@ -75,6 +71,10 @@ :config (set-face-background 'solaire-default-face "#1c1d26")) +(use-package clipetty + :ensure t + :hook (after-init . global-clipetty-mode)) + (use-package nerd-icons) (use-package nerd-icons-completion @@ -95,7 +95,13 @@ :hook (dired-mode . nerd-icons-dired-mode)) -(use-package diredfl +(use-package indent-bars + :custom + (indent-bars-color-by-depth '(:regexp "outline-\\([0-9]+\\)" :blend 0.2)) + (indent-bars-highlight-current-depth '(:blend 0.4)) + (indent-bars-no-stipple-char (string-to-char "┋"))) + +(use-package diredf :config (diredfl-global-mode)) (use-package treemacs @@ -341,7 +347,8 @@ (use-package nix-mode :hook ((nix-mode . eglot-ensure) - (nix-mode . tree-sitter-hl-mode)) + (nix-mode . tree-sitter-hl-mode) + (nix-mode . (lambda () (setq indent-bars-spacing-override 2) (indent-bars-mode)))) :config (global-nix-prettify-mode)) @@ -349,10 +356,13 @@ :hook ((haskell-mode . eglot-ensure) (haskell-mode . tree-sitter-hl-mode))) +(use-package purescript-mode + :hook (purescript-mode . turn-on-purescript-indentation)) + (use-package terraform-mode :hook ((terraform-mode . eglot-ensure) (terraform-mode . tree-sitter-hl-mode))) - + (use-package yaml-mode :hook (yaml-mode . tree-sitter-hl-mode)) diff --git a/packages/default.nix b/packages/default.nix index c669ebd..66c6967 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -1,8 +1,4 @@ -{ - inputs, - self, - ... -}: { +{inputs, ...}: { imports = [ inputs.flake-parts.flakeModules.easyOverlay ]; @@ -21,6 +17,7 @@ # Some tree-sitter grammars in nixpksg are built with a too new ABI # https://github.com/NixOS/nixpkgs/issues/209114 _module.args.pkgs = inputs.nixpkgs.legacyPackages.${system}.extend (self: super: { + indent-bars-source = inputs.indent-bars; tree-sitter-grammars = super.tree-sitter-grammars // { diff --git a/packages/indent-bars.nix b/packages/indent-bars.nix new file mode 100644 index 0000000..7571127 --- /dev/null +++ b/packages/indent-bars.nix @@ -0,0 +1,18 @@ +{ + trivialBuild, + compat, + src, +}: let + rev = "de347fc7fd2bdb905f95b986460ec485cd047992"; +in + trivialBuild { + inherit src; + pname = "indent-bars"; + version = rev; + propagatedUserEnvPkgs = [ + compat + ]; + buildInputs = [ + compat + ]; + } diff --git a/packages/packages.nix b/packages/packages.nix index 82d34b1..63723a1 100644 --- a/packages/packages.nix +++ b/packages/packages.nix @@ -9,6 +9,7 @@ with epkgs; [ nerd-icons-dired treemacs-nerd-icons eat + clipetty sideline sideline-flymake delight @@ -27,6 +28,9 @@ with epkgs; [ cape which-key nix-mode + unisonlang-mode + purescript-mode + dhall-mode envrc inheritenv popper @@ -39,4 +43,8 @@ with epkgs; [ haskell-mode terraform-mode diredfl + (pkgs.callPackage ./indent-bars.nix { + src = pkgs.indent-bars-source; + inherit (epkgs) trivialBuild compat; + }) ]