Skip to content

Commit 804596f

Browse files
committed
update: flake, emacs, add emacats
1 parent 03a688e commit 804596f

10 files changed

Lines changed: 478 additions & 110 deletions

File tree

flake.lock

Lines changed: 81 additions & 101 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

home/common.nix

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
...
77
}: {
88
imports = [
9-
inputs.stylix.homeManagerModules.stylix
9+
inputs.stylix.homeModules.stylix
1010
inputs.nix-index-database.hmModules.nix-index
1111
];
1212

@@ -69,10 +69,10 @@
6969
};
7070

7171
# Nixcat hmModule
72-
nvimcat = {
73-
enable = true;
74-
packageNames = ["nvimcat"];
75-
};
72+
# nvimcat = {
73+
# enable = true;
74+
# packageNames = ["nvimcat"];
75+
# };
7676

7777
custom = {
7878
programs.bash.enable = true;

home/hosts/frost/default.nix

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
vlc
2727
vesktop
2828
prismlauncher
29+
typst
30+
oversteer
2931
];
3032

3133
wayland.windowManager.hyprland = {

home/modules/emacs/default.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
prettierd
1313
nixd
1414
vscode-langservers-extracted
15+
typst
1516
tinymist
1617
]);
1718

@@ -41,7 +42,6 @@ in {
4142
programs.emacs = {
4243
enable = true;
4344
package = myEmacs;
44-
extraConfig = builtins.readFile ./init.el;
4545
};
4646

4747
services.emacs = {

home/modules/emacs/init.el

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,9 @@
121121
:hook (after-init . doom-modeline-mode)
122122
(doom-modeline-mode . display-battery-mode))
123123

124+
(use-package nerd-icons
125+
:custom (nerd-icons-font-family "Symbols Nerd Font Mono"))
126+
124127
;; Git support in mini-buffer
125128
(use-package magit
126129
:bind ("C-x g" . magit-status)
@@ -275,6 +278,9 @@
275278
(use-package json-ts-mode
276279
:defer t
277280
:mode (("\\.json\\'" . json-ts-mode)))
281+
(use-package lua-ts-mode
282+
:defer t
283+
:mode (("\\.lua\\'" . lua-ts-mode)))
278284
(use-package zig-ts-mode
279285
:defer t
280286
:mode (("\\.zig\\'" . zig-ts-mode)))

overlays.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
zen-browser = final: _prev: {
2525
zen-browser-twilight = inputs.zen-browser.packages.${final.system}.twilight;
2626
zen-browser = inputs.zen-browser.packages.${final.system}.default.override {
27-
nativeMessagingHosts = [final.pkgs.firefoxpwa];
27+
# nativeMessagingHosts = [final.pkgs.firefoxpwa];
2828
extraPolicies = {
2929
DisableAppUpdate = true;
3030
DisableTelemetry = true;

packages/default.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ in
2121
})
2222
packages)
2323
// (import ./nixcats {inherit inputs;}).packages.${pkgs.system}
24+
// (import ./emacats {inherit inputs;}).packages.${pkgs.system}

packages/emacats/default.nix

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{inputs}: let
2+
# Currently emacats requires `inputs.nixpkgs` and `inputs.emacs-overlay`
3+
# to import packages and utility functions respectively.
4+
inherit (builtins) foldl' attrNames elem;
5+
lib = inputs.nixpkgs.lib;
6+
7+
/* From github:birdee/nixCats-nvim */
8+
eachSystem = systems: f: let
9+
# get function result and insert system variable
10+
op = attrs: system: let
11+
ret = f system;
12+
op = attrs: key: attrs // {
13+
${key} = (attrs.${key} or { })
14+
// { ${system} = ret.${key}; };
15+
};
16+
in foldl' op attrs (attrNames ret);
17+
# Merge together the outputs for all systems.
18+
in foldl' op { } (systems ++
19+
(if builtins ? currentSystem && ! elem builtins.currentSystem systems
20+
# add the current system if --impure is used
21+
then [ builtins.currentSystem ]
22+
else []));
23+
24+
# Make the derivation buildable by all available platforms in nixpkgs
25+
forEachSystem = eachSystem lib.platforms.all;
26+
27+
28+
# Function that gives a list of treesitter grammers
29+
# Use this instead of `epkgs.treesit-grammers.with-all-grammers`
30+
mkTreeSitterGrammers = epkgs: with epkgs; [
31+
tree-sitter
32+
(treesit-grammars.with-grammars (g: with g; [
33+
tree-sitter-bash tree-sitter-c tree-sitter-c-sharp tree-sitter-clojure tree-sitter-cmake tree-sitter-comment tree-sitter-commonlisp tree-sitter-cpp tree-sitter-css tree-sitter-dockerfile tree-sitter-elisp tree-sitter-elm tree-sitter-fennel tree-sitter-haskell tree-sitter-html tree-sitter-http tree-sitter-hyprlang tree-sitter-java tree-sitter-javascript tree-sitter-jsdoc tree-sitter-json tree-sitter-json5 tree-sitter-kotlin tree-sitter-lua tree-sitter-make tree-sitter-markdown tree-sitter-markdown-inline tree-sitter-nix tree-sitter-python tree-sitter-query tree-sitter-regex tree-sitter-rust tree-sitter-scheme tree-sitter-scss tree-sitter-sql tree-sitter-toml tree-sitter-tsx tree-sitter-typescript tree-sitter-typst tree-sitter-vim tree-sitter-yaml tree-sitter-zig
34+
]))
35+
];
36+
37+
in forEachSystem (system: let
38+
pkgs = import inputs.nixpkgs {inherit system;};
39+
elib = inputs.emacs-overlay.lib.${system};
40+
41+
# These are runtime dependencies which include things like LSPs, Linters,
42+
# Formatters, Compilers etc.
43+
EmacsRuntimeDeps = (with pkgs; [
44+
prettierd
45+
nixd
46+
vscode-langservers-extracted
47+
typst
48+
tinymist
49+
]);
50+
51+
# Parse and add all packages defined with `use-package` inside init file.
52+
# https://github.com/nix-community/emacs-overlay/blob/master/README.org#extra-library-functionality
53+
defaultPackage = elib.emacsWithPackagesFromUsePackage {
54+
config = ./init.el;
55+
defaultInitFile = true;
56+
alwaysEnsure = true;
57+
package = pkgs.emacs-pgtk;
58+
extraEmacsPackages = epkgs:
59+
(mkTreeSitterGrammers epkgs)
60+
++ EmacsRuntimeDeps;
61+
};
62+
in {
63+
packages.emacats = defaultPackage;
64+
})

0 commit comments

Comments
 (0)