From 1b74745d5d2a3dacc081cf0d0114980b219a6fca Mon Sep 17 00:00:00 2001 From: teesh3rt Date: Wed, 11 Mar 2026 08:59:55 +0200 Subject: [PATCH 1/2] feat: add zig to neovim --- modules/base/neovim.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/base/neovim.nix b/modules/base/neovim.nix index 7f4cf27..c753dfa 100644 --- a/modules/base/neovim.nix +++ b/modules/base/neovim.nix @@ -24,6 +24,7 @@ alejandra statix libgit2.lib + zls vimPlugins.nvim-treesitter.withAllGrammars ] @@ -135,6 +136,8 @@ lang.gleam.installDependencies = true; lang.erlang.enable = true; lang.erlang.installDependencies = true; + lang.zig.enable = true; + lang.zig.installDependencies = true; # only reason we don't add `pkgs.claude-code` to base is because base is meant to be things for servers, # we do need neovim on the server but we don't need a clanker on there too! From 5b6dff7fc009c7d0ec61a92e621b3db6721da5f3 Mon Sep 17 00:00:00 2001 From: teesh3rt Date: Wed, 11 Mar 2026 09:26:30 +0200 Subject: [PATCH 2/2] feat: configure discord via nix such that it themes and is declarative --- flake.lock | 92 ++++++++++++++++++++++++++++++-- flake.nix | 2 + modules/desktop/apps/discord.nix | 33 +++++++++--- 3 files changed, 116 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index 7e9b4d2..939897d 100644 --- a/flake.lock +++ b/flake.lock @@ -193,6 +193,20 @@ "type": "github" } }, + "flake-compat": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "revCount": 69, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -232,6 +246,24 @@ } }, "flake-parts_3": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" + }, + "locked": { + "lastModified": 1772408722, + "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { "inputs": { "nixpkgs-lib": [ "stylix", @@ -529,6 +561,26 @@ "type": "github" } }, + "nixcord": { + "inputs": { + "flake-compat": "flake-compat", + "flake-parts": "flake-parts_3", + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1773189831, + "narHash": "sha256-l/p0bQ6meRcY8gbgdoYIDP6etll0IV2f3rXe2nD+yPk=", + "owner": "FlameFlag", + "repo": "nixcord", + "rev": "9a65dc8e902c6a0d1ed2a1b945639b7c72afcfc4", + "type": "github" + }, + "original": { + "owner": "FlameFlag", + "repo": "nixcord", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1748162331, @@ -559,6 +611,21 @@ "type": "github" } }, + "nixpkgs-lib_2": { + "locked": { + "lastModified": 1772328832, + "narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1771714954, @@ -624,6 +691,22 @@ } }, "nixpkgs_5": { + "locked": { + "lastModified": 1772465433, + "narHash": "sha256-ywy9troNEfpgh0Ee+zaV1UTgU8kYBVKtvPSxh6clYGU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c581273b8d5bdf1c6ce7e0a54da9841e6a763913", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { "locked": { "lastModified": 1771714954, "narHash": "sha256-nhZJPnBavtu40/L2aqpljrfUNb2rxmWTmSjK2c9UKds=", @@ -639,7 +722,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { "lastModified": 1771369470, "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", @@ -712,7 +795,8 @@ "lazyvim": "lazyvim", "niri-flake": "niri-flake", "nix-openclaw": "nix-openclaw", - "nixpkgs": "nixpkgs_5", + "nixcord": "nixcord", + "nixpkgs": "nixpkgs_6", "noctalia": "noctalia", "sops-nix": "sops-nix", "spicetify-nix": "spicetify-nix", @@ -741,7 +825,7 @@ }, "spicetify-nix": { "inputs": { - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "systems": "systems_4" }, "locked": { @@ -765,7 +849,7 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_4", "gnome-shell": "gnome-shell", "nixpkgs": [ "nixpkgs" diff --git a/flake.nix b/flake.nix index f90543d..d7769d8 100644 --- a/flake.nix +++ b/flake.nix @@ -48,6 +48,8 @@ nix-openclaw.url = "github:openclaw/nix-openclaw"; nix-openclaw.inputs.nixpkgs.follows = "nixpkgs"; + + nixcord.url = "github:FlameFlag/nixcord"; }; outputs = inputs @ {flake-parts, ...}: diff --git a/modules/desktop/apps/discord.nix b/modules/desktop/apps/discord.nix index 0c0bfa5..2f1883a 100644 --- a/modules/desktop/apps/discord.nix +++ b/modules/desktop/apps/discord.nix @@ -1,10 +1,29 @@ -{...}: { - flake.modules.nixos.desktop = {pkgs, ...}: let - discord = pkgs.discord.override { - withOpenASAR = true; - withVencord = true; +{inputs, ...}: { + flake.modules.homeManager.desktop = { + imports = [inputs.nixcord.homeModules.nixcord]; + + programs.nixcord = { + enable = true; + + discord.vencord.enable = false; + discord.equicord.enable = true; + + config = { + frameless = true; + enableReactDevtools = true; + + plugins.ClearURLs.enable = true; + plugins.shikiCodeblocks.enable = true; + plugins.betterGifPicker.enable = true; + plugins.betterCommands.enable = true; + plugins.betterPlusReacts.enable = true; + plugins.betterSettings.enable = true; + plugins.bypassPinPrompt.enable = true; + plugins.commandPalette.enable = true; + plugins.experiments.enable = true; + plugins.betterInvites.enable = true; + plugins.fakeNitro.enable = true; + }; }; - in { - environment.systemPackages = [discord]; }; }