alots3
This commit is contained in:
@@ -9,11 +9,7 @@
|
||||
}: {
|
||||
# You can import other home-manager modules here
|
||||
imports = [
|
||||
# If you want to use home-manager modules from other flakes (such as nix-colors):
|
||||
# inputs.nix-colors.homeManagerModule
|
||||
|
||||
# You can also split up your configuration and import pieces of it here:
|
||||
# ./nvim.nix
|
||||
./neovim
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
@@ -58,7 +54,7 @@
|
||||
xfce.thunar
|
||||
xfce.thunar-volman
|
||||
xfce.thunar-archive-plugin
|
||||
xarchiver
|
||||
gnome.file-roller
|
||||
gvfs
|
||||
swaybg
|
||||
wireguard-tools
|
||||
@@ -77,10 +73,6 @@
|
||||
fastfetch
|
||||
waybar
|
||||
nwg-look
|
||||
lxappearance
|
||||
orchis-theme
|
||||
gruvbox-plus-icons
|
||||
gruvbox-gtk-theme
|
||||
mullvad-vpn
|
||||
thefuck
|
||||
calcurse
|
||||
@@ -91,27 +83,40 @@
|
||||
# programs.waybar.enable = true;
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
# Whether to enable Hyprland wayland compositor
|
||||
enable = true;
|
||||
# The hyprland package to use
|
||||
package = pkgs.hyprland;
|
||||
# Whether to enable XWayland
|
||||
xwayland.enable = true;
|
||||
extraConfig = ''
|
||||
${builtins.readFile ./hypr/hyprland.conf}
|
||||
'';
|
||||
# Optional
|
||||
# Whether to enable hyprland-session.target on hyprland startup
|
||||
systemd.enable = true;
|
||||
};
|
||||
|
||||
xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-gtk];
|
||||
|
||||
home.sessionVariables = {
|
||||
MOZ_ENABLE_WAYLAND = 1;
|
||||
NIXOS_OZONE_WL = 1;
|
||||
SDL_VIDEODRIVER = "wayland";
|
||||
QT_QPA_PLATFORM = "wayland";
|
||||
GTK_THEME = "Orchis-Grey-Dark";
|
||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||
};
|
||||
|
||||
xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-wlr];
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
package = pkgs.orchis-theme;
|
||||
name = "Orchis-Grey-Dark-Compact";
|
||||
};
|
||||
iconTheme = {
|
||||
package = pkgs.gruvbox-plus-icons;
|
||||
name = "Gruvbox-Plus-Dark";
|
||||
};
|
||||
font = {
|
||||
name = "FiraCode Nerd Font Light";
|
||||
size = 11;
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
|
||||
131
home-manager/neovim/default.nix
Normal file
131
home-manager/neovim/default.nix
Normal file
@@ -0,0 +1,131 @@
|
||||
{ pkgs, ... }:
|
||||
with pkgs;
|
||||
let
|
||||
|
||||
tools = [
|
||||
fswatch # File watcher utility, replacing libuv.fs_event for neovim 10.0
|
||||
fzf
|
||||
git
|
||||
sqlite
|
||||
tree-sitter
|
||||
];
|
||||
|
||||
c = [
|
||||
clang
|
||||
clang-tools
|
||||
cmake
|
||||
gcc
|
||||
gnumake
|
||||
];
|
||||
|
||||
gamedev = [
|
||||
# parser, linter and formatter for GDScript
|
||||
gdtoolkit_3
|
||||
gdtoolkit_4
|
||||
];
|
||||
|
||||
golang = [
|
||||
delve # debugger
|
||||
go
|
||||
gofumpt
|
||||
goimports-reviser
|
||||
golines
|
||||
gopls
|
||||
gotools
|
||||
];
|
||||
|
||||
haskell = [
|
||||
haskell-language-server
|
||||
ghc
|
||||
];
|
||||
|
||||
lua = [
|
||||
lua-language-server
|
||||
stylua
|
||||
];
|
||||
|
||||
markup = [
|
||||
cbfmt # format codeblocks
|
||||
codespell
|
||||
markdownlint-cli
|
||||
mdformat
|
||||
typst-lsp
|
||||
];
|
||||
|
||||
nix = [
|
||||
alejandra
|
||||
nixd
|
||||
nixfmt-rfc-style
|
||||
nixpkgs-fmt
|
||||
statix
|
||||
];
|
||||
|
||||
python = [
|
||||
black
|
||||
isort
|
||||
python311Packages.jedi-language-server
|
||||
ruff
|
||||
ruff-lsp
|
||||
];
|
||||
|
||||
rust = [
|
||||
rustToolchain
|
||||
bacon # background code check
|
||||
];
|
||||
rustToolchain = pkgs.fenix.stable.withComponents [
|
||||
"cargo"
|
||||
"clippy"
|
||||
"rust-src"
|
||||
"rustc"
|
||||
"rustfmt"
|
||||
"rust-analyzer"
|
||||
];
|
||||
|
||||
shell = [
|
||||
nodePackages.bash-language-server
|
||||
shellcheck
|
||||
shfmt
|
||||
];
|
||||
|
||||
web = [
|
||||
deno
|
||||
nodePackages.sql-formatter
|
||||
nodePackages.typescript-language-server
|
||||
nodejs
|
||||
prettierd # multi-language formatters
|
||||
vscode-langservers-extracted
|
||||
yarn
|
||||
];
|
||||
|
||||
extraPackages =
|
||||
tools
|
||||
++ c
|
||||
++ gamedev
|
||||
++ golang
|
||||
++ haskell
|
||||
++ lua
|
||||
++ markup
|
||||
++ nix
|
||||
++ python
|
||||
++ rust
|
||||
++ shell
|
||||
++ web;
|
||||
in
|
||||
|
||||
{
|
||||
# for quick development
|
||||
home.packages = rust;
|
||||
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
package = pkgs.neovim-unwrapped;
|
||||
plugins = with pkgs.vimPlugins; [ telescope-cheat-nvim ];
|
||||
inherit extraPackages;
|
||||
};
|
||||
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
inherit extraPackages;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user