This commit is contained in:
cnst
2024-06-22 22:35:13 +02:00
parent bd872d5985
commit b2aec1af0d
5 changed files with 168 additions and 23 deletions

View File

@@ -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;

View 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;
};
}