Compare commits
2 Commits
5e5e1334aa
...
d1629cd8b0
| Author | SHA1 | Date | |
|---|---|---|---|
| d1629cd8b0 | |||
| 8896c27e13 |
117
home-manager/development/helix.nix
Normal file
117
home-manager/development/helix.nix
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
{ inputs, config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
helix = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
settings = {
|
||||||
|
theme = "dracula";
|
||||||
|
};
|
||||||
|
languages = {
|
||||||
|
language = [
|
||||||
|
{
|
||||||
|
name = "nix";
|
||||||
|
language-servers = [ "nixd" "nil" ];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "html";
|
||||||
|
language-servers = [ "superhtml" "vscode-html-language-server" ];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "bash";
|
||||||
|
formatter = { command = "${pkgs.shfmt}/bin/shfmt"; };
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "javascript";
|
||||||
|
language-servers = [
|
||||||
|
{ name = "biome"; }
|
||||||
|
{
|
||||||
|
name = "typescript-language-server";
|
||||||
|
except-features = [ "format" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
auto-format = true;
|
||||||
|
formatter = { command = "biome"; args = [ "format" "--stdin-file-path" "a.js" ]; };
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "typescript";
|
||||||
|
language-servers = [
|
||||||
|
{ name = "biome"; }
|
||||||
|
{
|
||||||
|
name = "typescript-language-server";
|
||||||
|
except-features = [ "format" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
auto-format = true;
|
||||||
|
formatter = { command = "biome"; args = [ "format" "--stdin-file-path" "a.ts" ]; };
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "jsx";
|
||||||
|
language-servers = [
|
||||||
|
{ name = "biome"; }
|
||||||
|
{
|
||||||
|
name = "typescript-language-server";
|
||||||
|
except-features = [ "format" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
auto-format = true;
|
||||||
|
formatter = { command = "biome"; args = [ "format" "--stdin-file-path" "a.jsx" ]; };
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "tsx";
|
||||||
|
language-servers = [
|
||||||
|
{ name = "biome"; }
|
||||||
|
{
|
||||||
|
name = "typescript-language-server";
|
||||||
|
except-features = [ "format" ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
auto-format = true;
|
||||||
|
formatter = { command = "biome"; args = [ "format" "--stdin-file-path" "a.tsx" ]; };
|
||||||
|
}
|
||||||
|
];
|
||||||
|
language-server = with pkgs;{
|
||||||
|
bash-language-server = {
|
||||||
|
command = "${bash-language-server}/bin/bash-language-server";
|
||||||
|
args = [ "start" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
superhtml = {
|
||||||
|
command = "${superhtml}/bin/superhtml";
|
||||||
|
args = [ "lsp" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nixd = {
|
||||||
|
command = "${nixd}/bin/nixd";
|
||||||
|
config.nil = {
|
||||||
|
formatting.command = [ "${nixpkgs-fmt}/bin/nixpkgs-fmt" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
typescript-language-server = with nodePackages; {
|
||||||
|
command = "${typescript-language-server}/bin/typescript-language-server";
|
||||||
|
args = [ "--stdio" "--tsserver-path=${typescript}/lib/node_modules/typescript/lib" ];
|
||||||
|
};
|
||||||
|
vscode-css-language-server = {
|
||||||
|
command = "${vscode-langservers-extracted}/bin/vscode-css-language-server";
|
||||||
|
args = [ "--stdio" ];
|
||||||
|
};
|
||||||
|
vscode-json-language-server = {
|
||||||
|
command = "${vscode-langservers-extracted}/bin/vscode-json-language-server";
|
||||||
|
args = [ "--stdio" ];
|
||||||
|
};
|
||||||
|
vscode-markdown-language-server = {
|
||||||
|
command = "${vscode-langservers-extracted}/bin/vscode-markdown-language-server";
|
||||||
|
args = [ "--stdio" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
biome = {
|
||||||
|
command = "${biome}/bin/biome";
|
||||||
|
args = [ "lsp-proxy" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -6,8 +6,6 @@ in
|
|||||||
{
|
{
|
||||||
home.packages = with pkgs;[
|
home.packages = with pkgs;[
|
||||||
(nerdfonts.override { fonts = [ "SpaceMono" ]; })
|
(nerdfonts.override { fonts = [ "SpaceMono" ]; })
|
||||||
shellcheck
|
|
||||||
biome
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
@@ -26,10 +24,11 @@ in
|
|||||||
esbenp.prettier-vscode
|
esbenp.prettier-vscode
|
||||||
bradlc.vscode-tailwindcss
|
bradlc.vscode-tailwindcss
|
||||||
humao.rest-client
|
humao.rest-client
|
||||||
rogalmic.bash-debug
|
|
||||||
loriscro.super
|
loriscro.super
|
||||||
|
mads-hartmann.bash-ide-vscode
|
||||||
|
foxundermoon.shell-format
|
||||||
];
|
];
|
||||||
userSettings = {
|
userSettings = with pkgs;{
|
||||||
"workbench.iconTheme" = "material-icon-theme";
|
"workbench.iconTheme" = "material-icon-theme";
|
||||||
"window.titleBarStyle" = "custom";
|
"window.titleBarStyle" = "custom";
|
||||||
"workbench.colorTheme" = "Dracula Theme";
|
"workbench.colorTheme" = "Dracula Theme";
|
||||||
@@ -45,7 +44,21 @@ in
|
|||||||
|
|
||||||
"typescript.preferences.preferTypeOnlyAutoImports" = true;
|
"typescript.preferences.preferTypeOnlyAutoImports" = true;
|
||||||
"chat.commandCenter.enabled" = false;
|
"chat.commandCenter.enabled" = false;
|
||||||
|
|
||||||
|
"nix.enableLanguageServer" = true; # Enable LSP.
|
||||||
|
"nix.serverPath" = "${nixd}/bin/nixd"; # The path to the LSP server executable.
|
||||||
|
"nix.serverSettings" = {
|
||||||
|
nixd = {
|
||||||
|
formatting.command = [ "${nixpkgs-fmt}/bin/nixpkgs-fmt" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"biome.lsp.bin" = "${biome}/bin/biome";
|
||||||
|
|
||||||
|
"bashIde.shellcheckPath" = "${shellcheck}/bin/shellcheck";
|
||||||
|
"shellformat.path" = "${shfmt}/bin/shfmt";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,6 @@
|
|||||||
{ lib, inputs, config, pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.programs.atuin;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
options.terminal = {
|
options.terminal = {
|
||||||
nixUpdateLocation = mkOption {
|
nixUpdateLocation = mkOption {
|
||||||
@@ -73,7 +69,13 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
helix.enable = true;
|
helix = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
settings = {
|
||||||
|
theme = "dracula";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
bat = {
|
bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -91,6 +93,16 @@ in
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
yazi = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
manager = {
|
||||||
|
sort_by = "natural";
|
||||||
|
show_hidden = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
bottom = {
|
bottom = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
@@ -130,6 +142,21 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# eh not feeling it
|
||||||
|
# ghostty = {
|
||||||
|
# enable = true;
|
||||||
|
# enableBashIntegration = true;
|
||||||
|
# settings = {
|
||||||
|
# "font-family" = "SpaceMono Nerd Font";
|
||||||
|
# "font-size" = 14;
|
||||||
|
# theme = "Dracula";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
|
yt-dlp = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,9 +53,6 @@
|
|||||||
joplin-desktop
|
joplin-desktop
|
||||||
obsidian
|
obsidian
|
||||||
|
|
||||||
# cmd line tools
|
|
||||||
yt-dlp
|
|
||||||
|
|
||||||
# media
|
# media
|
||||||
strawberry-qt6
|
strawberry-qt6
|
||||||
jellyfin-media-player
|
jellyfin-media-player
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
../home-manager/firefox/firefox.nix
|
../home-manager/firefox/firefox.nix
|
||||||
../home-manager/development/tools.nix
|
../home-manager/development/tools.nix
|
||||||
../home-manager/development/vscode.nix
|
../home-manager/development/vscode.nix
|
||||||
|
../home-manager/development/helix.nix
|
||||||
../home-manager/gaming.nix
|
../home-manager/gaming.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -61,7 +62,6 @@
|
|||||||
inotify-tools
|
inotify-tools
|
||||||
libnotify
|
libnotify
|
||||||
ffmpeg-full
|
ffmpeg-full
|
||||||
yt-dlp
|
|
||||||
|
|
||||||
# comms
|
# comms
|
||||||
teamspeak_client
|
teamspeak_client
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
FLAKE=${1:?"missing arg 1 for flake target"}
|
FLAKE=${1:?"missing arg 1 for flake target"}
|
||||||
sudo nixos-rebuild switch --flake "/home/worble/Projects/nixos#$FLAKE"
|
sudo nixos-rebuild switch --flake "/home/worble/Projects/nixos#$FLAKE"
|
||||||
|
|||||||
Reference in New Issue
Block a user