emacs with prisma and treesitter

This commit is contained in:
Ivan Dimitrov 2023-08-16 09:03:48 +03:00
parent 41d4dffeff
commit ebaa4f46a1
3 changed files with 113 additions and 21 deletions

View File

@ -16,6 +16,28 @@
"type": "gitlab"
}
},
"emacs-overlay": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1692125006,
"narHash": "sha256-D3UuE9aiKBFmNuzRfZLmNUlwujXDFeD8/ZSSaNwAuAs=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "ff4dba8979ddc3bfa40867d4f256cc7f0e635d75",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "emacs-overlay",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
@ -32,6 +54,24 @@
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1689068808,
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -97,6 +137,22 @@
"type": "indirect"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1692025715,
"narHash": "sha256-tsRiiopGT7HA8d/cuk5xYBRXgdnnvD+JhUGUe3x7vmY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "09a137528c3aea3780720d19f99cd706f52c3823",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1670751203,
@ -114,6 +170,7 @@
},
"root": {
"inputs": {
"emacs-overlay": "emacs-overlay",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"simple-nixos-mailserver": "simple-nixos-mailserver"
@ -142,6 +199,21 @@
"type": "gitlab"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"locked": {
"lastModified": 1605370193,

View File

@ -7,29 +7,37 @@
};
simple-nixos-mailserver.url =
"gitlab:simple-nixos-mailserver/nixos-mailserver";
emacs-overlay = {
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, home-manager, simple-nixos-mailserver, ... }: {
nixosConfigurations = {
laptop = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [ ./sys/laptop ];
outputs = { self, nixpkgs, home-manager, simple-nixos-mailserver
, emacs-overlay, ... }: {
nixosConfigurations = {
laptop = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [ ./sys/laptop ];
};
mailserver = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
(nixpkgs
+ "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix")
./sys/mailserver
simple-nixos-mailserver.nixosModule
];
};
};
mailserver = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
(nixpkgs
+ "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix")
./sys/mailserver
simple-nixos-mailserver.nixosModule
];
homeConfigurations = {
ivand = home-manager.lib.homeManagerConfiguration {
modules = [ ./home/laptop ];
pkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [ emacs-overlay.overlay ];
};
};
};
};
homeConfigurations = {
ivand = home-manager.lib.homeManagerConfiguration {
modules = [ ./home/laptop ];
pkgs = import nixpkgs { system = "x86_64-linux"; };
};
};
};
}

View File

@ -10,6 +10,18 @@
programs.emacs = {
enable = true;
package = pkgs.emacs29-pgtk;
package = with pkgs;
(emacsPackagesFor emacs-unstable).emacsWithPackages (epkgs:
with epkgs; [
treesit-grammars.with-all-grammars
treesit-auto
prisma-mode
]);
extraConfig = ''
(use-package treesit-auto
:config
(global-treesit-auto-mode))
(use-package prisma-mode)
'';
};
}