development settings, and renaming neovim to nixvim

This commit is contained in:
cnst
2024-08-21 21:21:40 +02:00
parent dd8959e1b4
commit f06c33e482
37 changed files with 349 additions and 267 deletions

93
flake.lock generated
View File

@@ -102,12 +102,12 @@
"yafas": "yafas" "yafas": "yafas"
}, },
"locked": { "locked": {
"lastModified": 1724179929, "lastModified": 1724241860,
"narHash": "sha256-71OTuLbwQ7f9tYn2gOikv2+wA8snkBA2+ozqS9BfptI=", "narHash": "sha256-3TNUwLe94rBqOqsOIYdwkeyyhQFbIvo5e5GeI2Aaayc=",
"rev": "a1a11c4bcc8df500b3e11857d02f457b67342779", "rev": "adc414d4a4eaab4efa1dc7214fb4078b55599cb3",
"revCount": 1355, "revCount": 1356,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/chaotic-cx/nyx/0.1.1355%2Brev-a1a11c4bcc8df500b3e11857d02f457b67342779/01917124-7c92-79ff-85c1-a584be36ebc9/source.tar.gz" "url": "https://api.flakehub.com/f/pinned/chaotic-cx/nyx/0.1.1356%2Brev-adc414d4a4eaab4efa1dc7214fb4078b55599cb3/019174d5-a783-7f21-b0d7-465ab9d08b99/source.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@@ -179,11 +179,32 @@
"rust-analyzer-src": "rust-analyzer-src" "rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"lastModified": 1724135364, "lastModified": 1724221791,
"narHash": "sha256-DuPnJXOeigXK8xQdP6BBc6MqJ9p4TzvNUqSrB2P1GQ4=", "narHash": "sha256-mKX67QPnUybOopVph/LhOV1G/H4EvPxDIfSmbufrVdA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "fenix", "repo": "fenix",
"rev": "b6a1c29a8f460af63f66cad2b5acf3b78867603e", "rev": "e88b38a5a3834e039d413a88f8150a75ef6453ef",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"fenix_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"rust-analyzer-src": "rust-analyzer-src_2"
},
"locked": {
"lastModified": 1724221791,
"narHash": "sha256-mKX67QPnUybOopVph/LhOV1G/H4EvPxDIfSmbufrVdA=",
"owner": "nix-community",
"repo": "fenix",
"rev": "e88b38a5a3834e039d413a88f8150a75ef6453ef",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -226,11 +247,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1724202245, "lastModified": 1724260595,
"narHash": "sha256-f5KOqfiC4pTHFQ9Ef4u9erH0sN9lX8cS8svpBjxE2SM=", "narHash": "sha256-slIZqQQuRhFJzaw83tYkqLheAALK0z2c3MfqKhIS6Hk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "flake-firefox-nightly", "repo": "flake-firefox-nightly",
"rev": "0cad3d778eede09d6eff11c15fb08288bbdb5cbf", "rev": "648ea05123d211254c0fafdb39b9a592b759f7d3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -684,11 +705,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1724085862, "lastModified": 1724243887,
"narHash": "sha256-qIPLv+MmTVZ0sjhx99EZhe/2aGzy5JOskmlqPd6DNFQ=", "narHash": "sha256-qa5TXlcANiWSEzLNZmenvXkqzzh3cDUYSfNniGi+LaU=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "c86db7bbb0cf14d4955ee3a4d13c0ed9f8a0e0ae", "rev": "883463f9dd7f1cdc68c3e32017c0a71ccbe39b26",
"revCount": 5115, "revCount": 5119,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@@ -796,11 +817,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723965596, "lastModified": 1724235914,
"narHash": "sha256-0bk1/7HCi3wzeW1a4t7xPUYXzmOeq/AtXTOe72gC7so=", "narHash": "sha256-QEVuZNXkytS1lqAtRMBAriJREcCTOeprxBTisXxpe3s=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlock", "repo": "hyprlock",
"rev": "f673759d01400e49e25a15566543a6b833466793", "rev": "7bb4113a7e9cb62120e96d7c81066f0c055f0db4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1082,11 +1103,11 @@
}, },
"nixpkgs-small": { "nixpkgs-small": {
"locked": { "locked": {
"lastModified": 1724137240, "lastModified": 1724221631,
"narHash": "sha256-VjbV/91spoYpl+fD7cK1asDhQIjJduP0lT+SgeXtcIc=", "narHash": "sha256-zf3gNf0nX2yOb++h4jW9l4iG8R/LfazWZD+KhmW6fcc=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d2fa2514f041934a6aa261c66dc44829251cffd3", "rev": "ac2df85f4d5c580786c7b4db031c199554152681",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1236,11 +1257,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1724204906, "lastModified": 1724222231,
"narHash": "sha256-5MGgiIY2IKDR3CKzODtLWDfx6xoKdu4YndYblFQ968I=", "narHash": "sha256-IFlMn1lgVsZQZC9WklY9YKcCdI0mUxSYZ7EfkaKCsQU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "38b09c1621b07518b8ba51d68ea4153216a09569", "rev": "b7f419a759f70126e220533b724cc17e8528b184",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1303,6 +1324,7 @@
"ags": "ags", "ags": "ags",
"anyrun": "anyrun", "anyrun": "anyrun",
"chaotic": "chaotic", "chaotic": "chaotic",
"fenix": "fenix_2",
"firefox-addons": "firefox-addons", "firefox-addons": "firefox-addons",
"firefox-nightly": "firefox-nightly", "firefox-nightly": "firefox-nightly",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
@@ -1327,11 +1349,28 @@
"rust-analyzer-src": { "rust-analyzer-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1724088625, "lastModified": 1724153119,
"narHash": "sha256-vgSBWgUKRyT0ZRZYj43GZkZzPEKgNodCuX/uofqlPsc=", "narHash": "sha256-WxpvDJDttkINkXmUA/W5o11lwLPYhATAgu0QUAacZ2g=",
"owner": "rust-lang", "owner": "rust-lang",
"repo": "rust-analyzer", "repo": "rust-analyzer",
"rev": "979e3b54f70f6f231c117a5d628b98106e5c7d31", "rev": "3723e5910c14f0ffbd13de474b8a8fcc74db04ce",
"type": "github"
},
"original": {
"owner": "rust-lang",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
},
"rust-analyzer-src_2": {
"flake": false,
"locked": {
"lastModified": 1724153119,
"narHash": "sha256-WxpvDJDttkINkXmUA/W5o11lwLPYhATAgu0QUAacZ2g=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "3723e5910c14f0ffbd13de474b8a8fcc74db04ce",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -97,5 +97,10 @@
url = "github:Aylur/ags"; url = "github:Aylur/ags";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# rust toolchain
fenix = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
} }

View File

@@ -3,7 +3,7 @@
"${userModules}/browsers/chromium" "${userModules}/browsers/chromium"
"${userModules}/browsers/firefox" "${userModules}/browsers/firefox"
"${userModules}/comm/discord" "${userModules}/comm/discord"
"${userModules}/devtools/neovim" "${userModules}/devtools/nixvim"
"${userModules}/devtools/vscode" "${userModules}/devtools/vscode"
"${userModules}/gaming/lutris" "${userModules}/gaming/lutris"
"${userModules}/gaming/mangohud" "${userModules}/gaming/mangohud"

View File

@@ -1,38 +0,0 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.conform-nvim;
in
{
options = {
modules.devtools.neovim.plugins.conform-nvim.enable = mkEnableOption "Enables Conform plugin for Neovim";
};
config = mkIf cfg.enable {
programs.nixvim.plugins.conform-nvim = {
enable = true;
formatOnSave = {
lspFallback = true;
timeoutMs = 500;
};
notifyOnError = true;
formattersByFt = {
liquidsoap = [ "liquidsoap-prettier" ];
html = [ [ "prettierd" "prettier" ] ];
css = [ [ "prettierd" "prettier" ] ];
javascript = [ [ "prettierd" "prettier" ] ];
javascriptreact = [ [ "prettierd" "prettier" ] ];
typescript = [ [ "prettierd" "prettier" ] ];
typescriptreact = [ [ "prettierd" "prettier" ] ];
python = [ "black" ];
lua = [ "stylua" ];
nix = [ "alejandra" ];
markdown = [ [ "prettierd" "prettier" ] ];
yaml = [ "yamllint" "yamlfmt" ];
};
};
};
}

View File

@@ -1,22 +0,0 @@
{ userModules, ... }: {
imports = [
"${userModules}/devtools/neovim/plugins/ai.nix"
"${userModules}/devtools/neovim/plugins/barbar.nix"
"${userModules}/devtools/neovim/plugins/comment.nix"
"${userModules}/devtools/neovim/plugins/conform.nix"
"${userModules}/devtools/neovim/plugins/efm.nix"
"${userModules}/devtools/neovim/plugins/floaterm.nix"
"${userModules}/devtools/neovim/plugins/harpoon.nix"
"${userModules}/devtools/neovim/plugins/lsp.nix"
"${userModules}/devtools/neovim/plugins/lualine.nix"
"${userModules}/devtools/neovim/plugins/markdown-preview.nix"
"${userModules}/devtools/neovim/plugins/neo-tree.nix"
"${userModules}/devtools/neovim/plugins/nonels.nix"
"${userModules}/devtools/neovim/plugins/startify.nix"
"${userModules}/devtools/neovim/plugins/tagbar.nix"
"${userModules}/devtools/neovim/plugins/telescope.nix"
"${userModules}/devtools/neovim/plugins/treesitter.nix"
"${userModules}/devtools/neovim/plugins/vimtex.nix"
"${userModules}/devtools/neovim/plugins/yanky.nix"
];
}

View File

@@ -1,19 +0,0 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.yanky;
in
{
options = {
modules.devtools.neovim.plugins.yanky.enable = mkEnableOption "Enables Yanky plugin for Neovim";
};
config = mkIf cfg.enable {
programs.nixvim.plugins.yanky = {
enable = true;
};
};
}

View File

@@ -6,7 +6,7 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.modules.devtools.neovim; cfg = config.modules.devtools.nixvim;
in { in {
imports = [ imports = [
inputs.nixvim.homeManagerModules.nixvim inputs.nixvim.homeManagerModules.nixvim
@@ -19,7 +19,7 @@ in {
]; ];
options = { options = {
modules.devtools.neovim.enable = mkEnableOption "Enable Neovim"; modules.devtools.nixvim.enable = mkEnableOption "Enable nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -1,14 +1,13 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.ai;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.ai;
in {
options = { options = {
modules.devtools.neovim.plugins.ai.enable = mkEnableOption "Enables AI tools for Neovim"; modules.devtools.nixvim.plugins.ai.enable = mkEnableOption "Enables AI tools for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -1,14 +1,13 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.barbar;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.barbar;
in {
options = { options = {
modules.devtools.neovim.plugins.barbar.enable = mkEnableOption "Enables Barbar plugin for Neovim"; modules.devtools.nixvim.plugins.barbar.enable = mkEnableOption "Enables Barbar plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -1,14 +1,13 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.comment;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.comment;
in {
options = { options = {
modules.devtools.neovim.plugins.comment.enable = mkEnableOption "Enables Comment plugin for Neovim"; modules.devtools.nixvim.plugins.comment.enable = mkEnableOption "Enables Comment plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -0,0 +1,37 @@
{
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.conform-nvim;
in {
options = {
modules.devtools.nixvim.plugins.conform-nvim.enable = mkEnableOption "Enables Conform plugin for nixvim";
};
config = mkIf cfg.enable {
programs.nixvim.plugins.conform-nvim = {
enable = true;
formatOnSave = {
lspFallback = true;
timeoutMs = 500;
};
notifyOnError = true;
formattersByFt = {
liquidsoap = ["liquidsoap-prettier"];
html = [["prettierd" "prettier"]];
css = [["prettierd" "prettier"]];
javascript = [["prettierd" "prettier"]];
javascriptreact = [["prettierd" "prettier"]];
typescript = [["prettierd" "prettier"]];
typescriptreact = [["prettierd" "prettier"]];
python = ["black"];
lua = ["stylua"];
nix = ["alejandra"];
markdown = [["prettierd" "prettier"]];
yaml = ["yamllint" "yamlfmt"];
};
};
};
}

View File

@@ -0,0 +1,23 @@
{userModules, ...}: {
imports = [
"${userModules}/devtools/nixvim/plugins/ai.nix"
"${userModules}/devtools/nixvim/plugins/barbar.nix"
"${userModules}/devtools/nixvim/plugins/comment.nix"
"${userModules}/devtools/nixvim/plugins/conform.nix"
"${userModules}/devtools/nixvim/plugins/efm.nix"
"${userModules}/devtools/nixvim/plugins/floaterm.nix"
"${userModules}/devtools/nixvim/plugins/harpoon.nix"
"${userModules}/devtools/nixvim/plugins/lsp.nix"
"${userModules}/devtools/nixvim/plugins/lualine.nix"
"${userModules}/devtools/nixvim/plugins/markdown-preview.nix"
"${userModules}/devtools/nixvim/plugins/neo-tree.nix"
"${userModules}/devtools/nixvim/plugins/nonels.nix"
"${userModules}/devtools/nixvim/plugins/startify.nix"
"${userModules}/devtools/nixvim/plugins/tagbar.nix"
"${userModules}/devtools/nixvim/plugins/telescope.nix"
"${userModules}/devtools/nixvim/plugins/treesitter.nix"
"${userModules}/devtools/nixvim/plugins/vimtex.nix"
"${userModules}/devtools/nixvim/plugins/yanky.nix"
"${userModules}/devtools/nixvim/plugins/rustaceanvim.nix"
];
}

View File

@@ -1,14 +1,13 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.efm;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.efm;
in {
options = { options = {
modules.devtools.neovim.plugins.efm.enable = mkEnableOption "Enables EFM LSP support for Neovim"; modules.devtools.nixvim.plugins.efm.enable = mkEnableOption "Enables EFM LSP support for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
@@ -27,7 +26,7 @@ in
lsp-format = { lsp-format = {
enable = true; enable = true;
lspServersToEnable = [ "efm" ]; lspServersToEnable = ["efm"];
}; };
efmls-configs.enable = true; efmls-configs.enable = true;

View File

@@ -1,14 +1,13 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.floaterm;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.floaterm;
in {
options = { options = {
modules.devtools.neovim.plugins.floaterm.enable = mkEnableOption "Enables Floaterm plugin for Neovim"; modules.devtools.nixvim.plugins.floaterm.enable = mkEnableOption "Enables Floaterm plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -1,14 +1,13 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.harpoon;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.harpoon;
in {
options = { options = {
modules.devtools.neovim.plugins.harpoon.enable = mkEnableOption "Enables Harpoon plugin for Neovim"; modules.devtools.nixvim.plugins.harpoon.enable = mkEnableOption "Enables Harpoon plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -4,11 +4,11 @@
... ...
}: let }: let
inherit (lib) mkEnableOption mkIf; inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.lsp; cfg = config.modules.devtools.nixvim.plugins.lsp;
in { in {
options = { options = {
modules.devtools.neovim.plugins.lsp = { modules.devtools.nixvim.plugins.lsp = {
enable = mkEnableOption "Enables LSP support for Neovim"; enable = mkEnableOption "Enables LSP support for nixvim";
servers = { servers = {
cssls.enable = mkEnableOption "Enable CSS LSP"; cssls.enable = mkEnableOption "Enable CSS LSP";
tailwindcss.enable = mkEnableOption "Enable TailwindCSS LSP"; tailwindcss.enable = mkEnableOption "Enable TailwindCSS LSP";

View File

@@ -1,14 +1,13 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.lualine;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.lualine;
in {
options = { options = {
modules.devtools.neovim.plugins.lualine.enable = mkEnableOption "Enables Lualine plugin for Neovim"; modules.devtools.nixvim.plugins.lualine.enable = mkEnableOption "Enables Lualine plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
@@ -18,9 +17,9 @@ in
globalstatus = true; globalstatus = true;
sections = { sections = {
lualine_a = [ "mode" ]; lualine_a = ["mode"];
lualine_b = [ "branch" ]; lualine_b = ["branch"];
lualine_c = [ "filename" "diff" ]; lualine_c = ["filename" "diff"];
lualine_x = [ lualine_x = [
"diagnostics" "diagnostics"

View File

@@ -1,14 +1,13 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.markdown-preview;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.markdown-preview;
in {
options = { options = {
modules.devtools.neovim.plugins.markdown-preview.enable = mkEnableOption "Enables Markdown Preview plugin for Neovim"; modules.devtools.nixvim.plugins.markdown-preview.enable = mkEnableOption "Enables Markdown Preview plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -1,14 +1,13 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.neo-tree;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.neo-tree;
in {
options = { options = {
modules.devtools.neovim.plugins.neo-tree.enable = mkEnableOption "Enables Neo-tree plugin for Neovim"; modules.devtools.nixvim.plugins.neo-tree.enable = mkEnableOption "Enables nix-tree plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
@@ -27,7 +26,7 @@ in
{ {
mode = "n"; mode = "n";
key = "<leader>n"; key = "<leader>n";
action = ":Neotree action=focus reveal toggle<CR>"; action = ":nixtree action=focus reveal toggle<CR>";
options.silent = true; options.silent = true;
} }
]; ];

View File

@@ -1,21 +1,20 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.none-ls;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.none-ls;
in {
options = { options = {
modules.devtools.neovim.plugins.none-ls.enable = mkEnableOption "Enables None-LS plugin for Neovim"; modules.devtools.nixvim.plugins.none-ls.enable = mkEnableOption "Enables None-LS plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.nixvim.plugins.none-ls = { programs.nixvim.plugins.none-ls = {
enable = true; enable = true;
settings = { settings = {
cmd = [ "bash -c nvim" ]; cmd = ["bash -c nvim"];
debug = true; debug = true;
}; };
sources = { sources = {

View File

@@ -0,0 +1,21 @@
{
lib,
pkgs,
config,
...
}:
with lib; let
cfg = config.modules.devtools.nixvim.plugins.rustaceanvim;
in {
options.modules.devtools.nixvim.plugins.rustaceanvim = {
enable = mkEnableOption "Whether to enable rustaceanvim.";
};
config = mkIf cfg.enable {
programs.nixvim = {
plugins = {
rustaceanvim.enable = true;
};
};
};
}

View File

@@ -1,14 +1,13 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.startify;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.startify;
in {
options = { options = {
modules.devtools.neovim.plugins.startify.enable = mkEnableOption "Enables Startify plugin for Neovim"; modules.devtools.nixvim.plugins.startify.enable = mkEnableOption "Enables Startify plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
@@ -28,9 +27,9 @@ in
change_to_dir = false; change_to_dir = false;
use_unicode = true; use_unicode = true;
lists = [{ type = "dir"; }]; lists = [{type = "dir";}];
files_number = 30; files_number = 30;
skiplist = [ "flake.lock" ]; skiplist = ["flake.lock"];
}; };
}; };
}; };

View File

@@ -1,14 +1,13 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.tagbar;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.tagbar;
in {
options = { options = {
modules.devtools.neovim.plugins.tagbar.enable = mkEnableOption "Enables Tagbar plugin for Neovim"; modules.devtools.nixvim.plugins.tagbar.enable = mkEnableOption "Enables Tagbar plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -1,14 +1,13 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.telescope;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.telescope;
in {
options = { options = {
modules.devtools.neovim.plugins.telescope.enable = mkEnableOption "Enables Telescope plugin for Neovim"; modules.devtools.nixvim.plugins.telescope.enable = mkEnableOption "Enables Telescope plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@@ -1,15 +1,14 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.treesitter;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.treesitter;
in {
options = { options = {
modules.devtools.neovim.plugins = { modules.devtools.nixvim.plugins = {
treesitter.enable = mkEnableOption "Enables Treesitter plugin for Neovim"; treesitter.enable = mkEnableOption "Enables Treesitter plugin for nixvim";
}; };
}; };

View File

@@ -1,14 +1,13 @@
{ lib
, config
, ...
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.neovim.plugins.vimtex;
in
{ {
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.vimtex;
in {
options = { options = {
modules.devtools.neovim.plugins.vimtex.enable = mkEnableOption "Enables VimTeX plugin for Neovim"; modules.devtools.nixvim.plugins.vimtex.enable = mkEnableOption "Enables VimTeX plugin for nixvim";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
@@ -27,7 +26,7 @@ in
]; ];
toc_config = { toc_config = {
name = "TOC"; name = "TOC";
layers = [ "content" "todo" ]; layers = ["content" "todo"];
resize = true; resize = true;
split_width = 50; split_width = 50;
todo_sorted = false; todo_sorted = false;
@@ -48,13 +47,13 @@ in
autoCmd = [ autoCmd = [
{ {
event = [ "BufEnter" "BufWinEnter" ]; event = ["BufEnter" "BufWinEnter"];
pattern = "*.tex"; pattern = "*.tex";
command = "set filetype=tex \"| VimtexTocOpen"; command = "set filetype=tex \"| VimtexTocOpen";
} }
{ {
event = "FileType"; event = "FileType";
pattern = [ "tex" "latex" ]; pattern = ["tex" "latex"];
callback = '' callback = ''
function () function ()
vim.o.foldmethod = 'expr' vim.o.foldmethod = 'expr'

View File

@@ -0,0 +1,18 @@
{
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.modules.devtools.nixvim.plugins.yanky;
in {
options = {
modules.devtools.nixvim.plugins.yanky.enable = mkEnableOption "Enables Yanky plugin for nixvim";
};
config = mkIf cfg.enable {
programs.nixvim.plugins.yanky = {
enable = true;
};
};
}

View File

@@ -8,7 +8,7 @@
discord.enable = true; discord.enable = true;
}; };
devtools = { devtools = {
neovim = { nixvim = {
enable = true; enable = true;
plugins = { plugins = {
ai.enable = false; ai.enable = false;

View File

@@ -8,7 +8,7 @@
discord.enable = true; discord.enable = true;
}; };
devtools = { devtools = {
neovim = { nixvim = {
enable = true; enable = true;
plugins = { plugins = {
ai.enable = true; ai.enable = true;
@@ -28,6 +28,7 @@
tagbar.enable = false; tagbar.enable = false;
vimtex.enable = false; vimtex.enable = false;
yanky.enable = false; yanky.enable = false;
rustaceanvim.enable = true;
lsp = { lsp = {
enable = true; enable = true;
servers = { servers = {
@@ -48,7 +49,6 @@
yamlls.enable = true; yamlls.enable = true;
lua-ls.enable = true; lua-ls.enable = true;
tsserver.enable = false; tsserver.enable = false;
rust-analyzer.enable = true;
}; };
}; };
}; };

View File

@@ -8,7 +8,7 @@
discord.enable = true; discord.enable = true;
}; };
devtools = { devtools = {
neovim = { nixvim = {
enable = true; enable = true;
plugins = { plugins = {
ai.enable = false; ai.enable = false;
@@ -28,6 +28,7 @@
tagbar.enable = false; tagbar.enable = false;
vimtex.enable = false; vimtex.enable = false;
yanky.enable = false; yanky.enable = false;
rustaceanvim.enable = true;
lsp = { lsp = {
enable = true; enable = true;
servers = { servers = {
@@ -48,7 +49,6 @@
yamlls.enable = true; yamlls.enable = true;
lua-ls.enable = true; lua-ls.enable = true;
tsserver.enable = false; tsserver.enable = false;
rust-analyzer.enable = true;
}; };
}; };
}; };

View File

@@ -44,6 +44,7 @@
} }
inputs.chaotic.nixosModules.default inputs.chaotic.nixosModules.default
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
(import "${mod}/dev")
]; ];
}; };
toothpc = nixosSystem { toothpc = nixosSystem {
@@ -52,17 +53,21 @@
shared shared
++ [ ++ [
./toothpc ./toothpc
"${mod}/boot/lanzaboote" "${mod}/boot/lanzaboote
"${mod}/nix/nh/toothpc" "
"${mod}/nix/nh/toothpc
"
{ {
home-manager = { home-manager = {
users.toothpick.imports = homeImports."toothpick@toothpc"; users.toothpick.imports = homeImports."
toothpick@toothpc";
extraSpecialArgs = specialArgs; extraSpecialArgs = specialArgs;
}; };
} }
inputs.chaotic.nixosModules.default inputs.chaotic.nixosModules.default
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
(import "${mod}/dev")
]; ];
}; };
adampad = nixosSystem { adampad = nixosSystem {

28
system/dev/default.nix Normal file
View File

@@ -0,0 +1,28 @@
{
pkgs,
inputs,
...
}: {
nixpkgs.overlays = [inputs.fenix.overlays.default];
environment.systemPackages = with pkgs; [
(fenix.complete.withComponents [
"cargo"
"clippy"
"rust-src"
"rustc"
"rustfmt"
])
rust-analyzer-nightly
# Wayland-specific dependencies
wayland # Wayland client library
wayland-protocols # Wayland protocols (essential for building against Wayland)
pkg-config # Helps to manage libraries during compilation
# Aquamarine: Hyprland's new compositor library
aquamarine # Aquamarine compositor library for Wayland
# Other utilities and tools
openssl # Required for some crates that involve networking or encryption
];
}