alots3
This commit is contained in:
6
flake.lock
generated
6
flake.lock
generated
@@ -351,11 +351,11 @@
|
||||
"pre-commit-hooks": "pre-commit-hooks"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1719068614,
|
||||
"narHash": "sha256-XTVc7z7HJiX1j4zVCm9+V3223f4FQuNt5lZKgOeMzNA=",
|
||||
"lastModified": 1719085595,
|
||||
"narHash": "sha256-Dvk+5eKgRwrTkx8FF6RceQP3+oEtQ+HYHNuM1MLtYcE=",
|
||||
"owner": "cnsta",
|
||||
"repo": "cnixvim",
|
||||
"rev": "ef0e10e815060ff243ba85d56f63e84f434d2717",
|
||||
"rev": "4a3f231c6e979b77ccdae4c6766e231b821a50b1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
url = "https://flakehub.com/f/Svenum/Solaar-Flake/*.tar.gz";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
# Nixvim
|
||||
nixvim = {
|
||||
url = "github:cnsta/cnixvim";
|
||||
# Neovim Nightly
|
||||
neovim-nightly-overlay = {
|
||||
url = "github:nix-community/neovim-nightly-overlay";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
# Home manager
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -89,6 +89,9 @@
|
||||
pkgs.python312Packages.oauth2
|
||||
pkgs.python312Packages.httplib2
|
||||
pkgs.killall
|
||||
pkgs.alejandra
|
||||
pkgs.tree-sitter
|
||||
pkgs.lazygit
|
||||
];
|
||||
localBinInPath = true;
|
||||
};
|
||||
@@ -129,6 +132,12 @@
|
||||
|
||||
programs = {
|
||||
solaar.enable = true;
|
||||
nix-ld.enable = true;
|
||||
adb.enable = true;
|
||||
neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
};
|
||||
hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
|
||||
Reference in New Issue
Block a user