mirror of
https://github.com/youwen5/nixos.git
synced 2024-11-28 11:43:51 -08:00
Compare commits
6 commits
37caaa036d
...
a44b125f4a
Author | SHA1 | Date | |
---|---|---|---|
a44b125f4a | |||
46bce37908 | |||
5463fb9487 | |||
997cdb92d2 | |||
77708927da | |||
bbe6adc498 |
7 changed files with 160 additions and 113 deletions
|
@ -181,12 +181,8 @@
|
|||
curl
|
||||
librewolf
|
||||
gnumake
|
||||
clang
|
||||
gcc
|
||||
cachix
|
||||
nodejs_22
|
||||
cargo
|
||||
rustc
|
||||
gnupg
|
||||
openssh
|
||||
python3
|
||||
|
|
|
@ -136,23 +136,6 @@
|
|||
wget
|
||||
git
|
||||
curl
|
||||
# librewolf
|
||||
# gnumake
|
||||
# clang
|
||||
# gcc
|
||||
# cachix
|
||||
# nodejs_22
|
||||
# cargo
|
||||
# rustc
|
||||
# gnupg
|
||||
# openssh
|
||||
# python3
|
||||
# steam-run
|
||||
|
||||
# # deps for neovim compilation
|
||||
# lua51Packages.lua
|
||||
# lua51Packages.luarocks
|
||||
# tree-sitter
|
||||
];
|
||||
|
||||
environment.variables = {
|
||||
|
|
|
@ -164,12 +164,8 @@
|
|||
curl
|
||||
librewolf
|
||||
gnumake
|
||||
clang
|
||||
gcc
|
||||
cachix
|
||||
nodejs_22
|
||||
cargo
|
||||
rustc
|
||||
gnupg
|
||||
openssh
|
||||
python3
|
||||
|
|
|
@ -147,4 +147,32 @@
|
|||
enableFishIntegration = true;
|
||||
enableBashIntegration = true;
|
||||
};
|
||||
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
plugins = {
|
||||
mediainfo = pkgs.fetchFromGitHub {
|
||||
owner = "Ape";
|
||||
repo = "mediainfo.yazi";
|
||||
rev = "c69314e80f5b45fe87a0e06a10d064ed54110439";
|
||||
hash = "sha256-8xdBPdKSiwB7iRU8DJdTHY+BjfR9D3FtyVtDL9tNiy4=";
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
plugin = {
|
||||
prepend_previewers = [
|
||||
{
|
||||
mime = "{image,audio,video}/*";
|
||||
run = "mediainfo";
|
||||
}
|
||||
{
|
||||
mime = "application/x-subrip";
|
||||
run = "mediainfo";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,7 +6,29 @@
|
|||
withNodeJs = true;
|
||||
withRuby = true;
|
||||
|
||||
extraPackages = with pkgs; [alejandra black stylua codespell nodePackages.prettier];
|
||||
extraPackages = with pkgs; [
|
||||
# TS/JS
|
||||
nodePackages.prettier
|
||||
|
||||
# Rust
|
||||
rust-analyzer
|
||||
|
||||
# Nix
|
||||
alejandra
|
||||
|
||||
# Python
|
||||
black
|
||||
|
||||
# Lua
|
||||
stylua
|
||||
lua-language-server
|
||||
|
||||
# Misc
|
||||
codespell
|
||||
ripgrep
|
||||
yazi
|
||||
fd
|
||||
];
|
||||
|
||||
luaLoader.enable = true;
|
||||
performance = {
|
||||
|
@ -19,6 +41,7 @@
|
|||
opts = {
|
||||
laststatus = 3;
|
||||
relativenumber = true;
|
||||
number = true;
|
||||
};
|
||||
|
||||
globals = {
|
||||
|
@ -335,6 +358,15 @@
|
|||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = '':lua vim.lsp.buf.code_action()<CR>'';
|
||||
key = "<Leader>ca";
|
||||
options = {
|
||||
desc = "View available code actions";
|
||||
noremap = true;
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
# {
|
||||
# action = ":Yazi<CR>";
|
||||
# key = "<Leader>mf";
|
||||
|
@ -356,6 +388,7 @@
|
|||
];
|
||||
|
||||
plugins = {
|
||||
# LSP and Treesitter related
|
||||
lsp = {
|
||||
enable = true;
|
||||
inlayHints = true;
|
||||
|
@ -368,55 +401,103 @@
|
|||
svelte.enable = true;
|
||||
tailwindcss.enable = true;
|
||||
typst-lsp.enable = true;
|
||||
rust-analyzer = {
|
||||
enable = true;
|
||||
installCargo = true;
|
||||
installRustc = true;
|
||||
};
|
||||
marksman.enable = true;
|
||||
};
|
||||
};
|
||||
typescript-tools.enable = true;
|
||||
presence-nvim = {
|
||||
enable = true;
|
||||
editingText = "Hacking %s";
|
||||
workspaceText = "The One True Text Editor";
|
||||
buttons = [
|
||||
{
|
||||
label = "GitHub";
|
||||
url = "https://github.com/youwen5";
|
||||
}
|
||||
{
|
||||
label = "Code Forge";
|
||||
url = "https://code.youwen.dev/";
|
||||
}
|
||||
];
|
||||
};
|
||||
treesitter = {
|
||||
enable = true;
|
||||
settings = {
|
||||
highlight.enable = true;
|
||||
indent.enable = true;
|
||||
folding.enable = true;
|
||||
};
|
||||
};
|
||||
lsp-lines.enable = true;
|
||||
crates-nvim.enable = true;
|
||||
treesitter-context.enable = true;
|
||||
wakatime.enable = true;
|
||||
|
||||
# Language specific tools
|
||||
markdown-preview.enable = true;
|
||||
# rustaceanvim.enable = true;
|
||||
typescript-tools.enable = true;
|
||||
|
||||
# git stuff
|
||||
lazygit.enable = true;
|
||||
gitsigns.enable = true;
|
||||
|
||||
# QoL and utility
|
||||
intellitab.enable = true;
|
||||
guess-indent.enable = true;
|
||||
vim-bbye.enable = true;
|
||||
indent-blankline.enable = true;
|
||||
which-key.enable = true;
|
||||
zen-mode.enable = true;
|
||||
markdown-preview.enable = true;
|
||||
yanky = {
|
||||
enable = true;
|
||||
enableTelescope = true;
|
||||
};
|
||||
telescope = {
|
||||
enable = true;
|
||||
extensions = {
|
||||
ui-select = {
|
||||
enable = true;
|
||||
settings = {
|
||||
codeactions = true;
|
||||
};
|
||||
};
|
||||
media-files = {
|
||||
enable = true;
|
||||
settings = {
|
||||
filetypes = [
|
||||
"png"
|
||||
"webp"
|
||||
"jpg"
|
||||
"jpeg"
|
||||
"mp4"
|
||||
"svg"
|
||||
"pdf"
|
||||
"mov"
|
||||
"mkv"
|
||||
"avi"
|
||||
];
|
||||
find_cmd = "rg";
|
||||
};
|
||||
dependencies = {
|
||||
imageMagick.enable = true;
|
||||
pdftoppm.enable = true;
|
||||
ffmpegthumbnailer.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
trouble.enable = true;
|
||||
direnv.enable = true;
|
||||
yazi = {
|
||||
enable = true;
|
||||
settings = {
|
||||
open_for_directories = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Code formatting
|
||||
conform-nvim = {
|
||||
enable = true;
|
||||
formatOnSave = {
|
||||
timeoutMs = 500;
|
||||
lspFallback = true;
|
||||
};
|
||||
formattersByFt = {
|
||||
lua = ["stylua"];
|
||||
python = ["black"];
|
||||
nix = ["alejandra"];
|
||||
svelte = ["prettier"];
|
||||
rust = ["rust-analyzer"];
|
||||
"*" = ["codespell"];
|
||||
"_" = ["trim_whitespace"];
|
||||
};
|
||||
};
|
||||
|
||||
# mini.nvim
|
||||
mini = {
|
||||
enable = true;
|
||||
modules = {
|
||||
|
@ -430,25 +511,8 @@
|
|||
comment = {};
|
||||
};
|
||||
};
|
||||
trouble.enable = true;
|
||||
direnv.enable = true;
|
||||
# cmp = {
|
||||
# enable = true;
|
||||
# settings = {
|
||||
# mapping = {
|
||||
# "<C-Space>" = "cmp.mapping.complete()";
|
||||
# "<C-b>" = "cmp.mapping.scroll_docs(-4)";
|
||||
# "<C-e>" = "cmp.mapping.close()";
|
||||
# "<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||||
# "<C-p>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
|
||||
# "<C-n>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
||||
# "<Tab>" = "cmp.mapping.confirm({ select = true })";
|
||||
# };
|
||||
# completion.autocomplete = [
|
||||
# "require('cmp.types').cmp.TriggerEvent.TextChanged"
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
|
||||
# Completion
|
||||
cmp-async-path.enable = true;
|
||||
cmp = {
|
||||
enable = true;
|
||||
|
@ -511,28 +575,23 @@
|
|||
cmp-cmdline = {
|
||||
enable = true; # autocomplete for cmdline
|
||||
};
|
||||
crates-nvim.enable = true;
|
||||
conform-nvim = {
|
||||
|
||||
# Extra (stuff that doesn't affect editing)
|
||||
wakatime.enable = true;
|
||||
presence-nvim = {
|
||||
enable = true;
|
||||
formatOnSave = {
|
||||
timeoutMs = 500;
|
||||
lspFallback = true;
|
||||
};
|
||||
formattersByFt = {
|
||||
lua = ["stylua"];
|
||||
python = ["black"];
|
||||
nix = ["alejandra"];
|
||||
svelte = ["prettier"];
|
||||
rust = ["rust-analyzer"];
|
||||
"*" = ["codespell"];
|
||||
"_" = ["trim_whitespace"];
|
||||
};
|
||||
};
|
||||
yazi = {
|
||||
enable = true;
|
||||
settings = {
|
||||
open_for_directories = true;
|
||||
};
|
||||
editingText = "Hacking %s";
|
||||
workspaceText = "The One True Text Editor";
|
||||
buttons = [
|
||||
{
|
||||
label = "GitHub";
|
||||
url = "https://github.com/youwen5";
|
||||
}
|
||||
{
|
||||
label = "Code Forge";
|
||||
url = "https://code.youwen.dev/";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -564,11 +623,15 @@
|
|||
hash = "sha256-5CS5kvUSqQJe7iFFpicinBjCQXgFPL0ElGgnrZHTT+Y=";
|
||||
};
|
||||
})
|
||||
(pkgs.vimUtils.buildVimPlugin {
|
||||
name = "rustaceanvim";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "mrcjkb";
|
||||
repo = "rustaceanvim";
|
||||
rev = "7cba8e599deca98d4b44cac1bcbd720c62937d90";
|
||||
hash = "sha256-OYfeJuo4FZUBdW9wGGCT0lZGYr/ur1uy8frcyUJMF3k=";
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -40,11 +40,6 @@
|
|||
# it provides the command `nom` works just like `nix`
|
||||
# with more details log output
|
||||
nix-output-monitor
|
||||
|
||||
# dev tools
|
||||
nodePackages_latest.pnpm
|
||||
rustfmt
|
||||
rust-analyzer
|
||||
];
|
||||
|
||||
programs.git.extraConfig.commit.gpgsign = "false";
|
||||
|
|
|
@ -39,21 +39,7 @@ with pkgs; [
|
|||
vesktop
|
||||
signal-desktop
|
||||
|
||||
# dev tools
|
||||
nodePackages_latest.pnpm
|
||||
rustfmt
|
||||
rust-analyzer
|
||||
gcc
|
||||
lua51Packages.luarocks
|
||||
lua
|
||||
nodejs_22
|
||||
python3
|
||||
tree-sitter
|
||||
cargo
|
||||
rustc
|
||||
# currently marked broken
|
||||
# haskellPackages.stack
|
||||
# haskellPackages.ghcup
|
||||
|
||||
# desktop ricing
|
||||
bibata-cursors
|
||||
|
|
Loading…
Reference in a new issue