diff --git a/home/features/neovim/default.nix b/home/features/neovim/default.nix
index f317569..4cf1857 100644
--- a/home/features/neovim/default.nix
+++ b/home/features/neovim/default.nix
@@ -11,6 +11,7 @@ let
     rust = false;
     typst = true;
     web = true;
+    csharp = false;
   };
 
   korora = inputs.korora.lib;
@@ -940,6 +941,9 @@ let
             optionals purescript [
               pkgs.purescript-language-server
               pkgs.nodePackages.purs-tidy
+            ] ++
+            optionals csharp [
+              pkgs.csharp-ls
             ]
           );
           # }}}
diff --git a/home/features/neovim/plugins/lspconfig.lua b/home/features/neovim/plugins/lspconfig.lua
index 0c3e1a9..384f5cd 100644
--- a/home/features/neovim/plugins/lspconfig.lua
+++ b/home/features/neovim/plugins/lspconfig.lua
@@ -97,6 +97,7 @@ function M.config()
       exportPdf = "onType",
     },
     elmls = {},
+    csharp_ls = {},
   }
   -- }}}
 
diff --git a/home/features/neovim/snippets/cs.miros b/home/features/neovim/snippets/cs.miros
new file mode 100644
index 0000000..1d4f845
--- /dev/null
+++ b/home/features/neovim/snippets/cs.miros
@@ -0,0 +1,18 @@
+block start
+  string maxlen
+    name Maxlength annotation
+    snip [MaxLength(255)]
+
+  string keyann
+    name Key annotation
+    snip [Key]
+
+  string prop
+    name Object db property
+    snip public$|1⟨ required$1,$1⟩ $2 $3 { get; set; }
+
+  string stringprop
+    name String db property
+    snip
+      [MaxLength(255)]
+      public$|1⟨ required$1,$1⟩ string $2 { get; set; }