feat: working neovim

This commit is contained in:
2026-02-19 22:12:45 -05:00
parent 9329547aab
commit 068eba7c26
4 changed files with 188 additions and 68 deletions
+33 -12
View File
@@ -110,6 +110,7 @@
code-cursor code-cursor
adwaita-icon-theme adwaita-icon-theme
obsidian obsidian
claude-code
]; ];
# Some programs need SUID wrappers, can be configured further or are # Some programs need SUID wrappers, can be configured further or are
@@ -216,18 +217,9 @@
# security.pki.certificateFiles = [ /etc/nixos/certs/ipa-ca.crt ]; # security.pki.certificateFiles = [ /etc/nixos/certs/ipa-ca.crt ];
programs.hyprland = {
enable = true;
withUWSM = true; # Recommended for NixOS 24.11+
xwayland.enable = true;
};
# Enable necessary services # Enable necessary services
xdg.portal = { xdg.portal = {
enable = true; enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-hyprland
];
}; };
security.pam.services = { security.pam.services = {
@@ -244,15 +236,34 @@
RUN+="${pkgs.systemd}/bin/loginctl lock-sessions" RUN+="${pkgs.systemd}/bin/loginctl lock-sessions"
''; '';
# Optimize shutdown handling to prevent user manager hangs
# Reduce timeout for user manager service during shutdown (default is 90s, reducing to 30s)
# This prevents the 2-minute hang when shutting down with linger enabled
systemd.services."user@".serviceConfig = {
TimeoutStopSec = "30s";
};
# Reduce default timeout for all user services
systemd.user.extraConfig = ''
DefaultTimeoutStopSec=30s
'';
# Gnome Configuration # Gnome Configuration
fonts.packages = [ fonts.packages = [
pkgs.adwaita-icon-theme pkgs.adwaita-icon-theme
pkgs.nerd-fonts._0xproto pkgs.nerd-fonts._0xproto
]; ];
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
services.gnome.core-apps.enable = false; services.gnome = {
services.gnome.core-developer-tools.enable = false; core-apps.enable = true;
services.gnome.games.enable = false; core-developer-tools.enable = true;
games.enable = false;
};
services.desktopManager.gnome.extraGSettingsOverrides = ''
[org.gnome.mutter]
experimental-features=['scale-monitor-framebuffer', 'xwayland-native-scaling']
'';
environment.gnome.excludePackages = with pkgs; [ environment.gnome.excludePackages = with pkgs; [
gnome-tour gnome-user-docs gnome-tour gnome-user-docs
]; ];
@@ -263,5 +274,15 @@
style = "adwaita-dark"; style = "adwaita-dark";
}; };
security.wrappers = {
# Low-level unprivileged sandboxing tool, see <https://github.com/containers/bubblewrap>.
bwrap = {
owner = "root";
group = "root";
source = "${pkgs.bubblewrap}/bin/bwrap";
setuid = true;
};
};
} }
Generated
+117
View File
@@ -0,0 +1,117 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1771531206,
"narHash": "sha256-1R3Wx6KUkMb4x4E5UOhW9p6rqiexzSGGWxZqSHqW5n0=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "91be7cce763fa4022c7cf025a71b0c366d1b6e77",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"kickstart-nvim": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1771545825,
"narHash": "sha256-xGrTr8aXGzKBpF+RRwnLR8y8yDweojaoqttfA6RH1ws=",
"owner": "0xWheatyz",
"repo": "kickstart.nvim",
"rev": "cef178c27d1b3840d943f5a28b3a45f9eae049d7",
"type": "github"
},
"original": {
"owner": "0xWheatyz",
"repo": "kickstart.nvim",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1771369470,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1771369470,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"kickstart-nvim": "kickstart-nvim",
"nixpkgs": "nixpkgs_2"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
+11 -33
View File
@@ -1,47 +1,25 @@
{ {
description = "FrostPhoenix's nixos configuration"; description = "Home Manager configuration with kickstart.nvim";
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nur.url = "github:nix-community/NUR";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
kickstart-nvim.url = "github:0xWheatyz/kickstart.nvim";
nix-gaming.url = "github:fufexan/nix-gaming";
nix-flatpak.url = "github:gmodena/nix-flatpak";
nix-index-database = {
url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
maple-mono = {
url = "github:subframe7536/maple-font/variable";
flake = false;
};
superfile.url = "github:yorukot/superfile";
vicinae.url = "github:vicinaehq/vicinae";
zen-browser.url = "github:0xc000022070/zen-browser-flake/beta";
}; };
outputs = { self, nixpkgs, home-manager, ... }: { outputs = { nixpkgs, home-manager, kickstart-nvim, ... }: {
nixosConfigurations = { homeConfigurations = {
yourhostname = nixpkgs.lib.nixosSystem { "l-wyatt" = home-manager.lib.homeManagerConfiguration {
system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.x86_64-linux;
modules = [ modules = [
./configuration.nix ./home.nix
home-manager.nixosModules.home-manager kickstart-nvim.homeManagerModules.default
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.yourusername = import ./home.nix;
}
]; ];
}; };
}; };
}; };
}` }
+27 -23
View File
@@ -114,30 +114,34 @@
}; };
}; };
# Neovim management # Neovim management - using kickstart.nvim via flake
programs.neovim = { # Basic fallback config (uncomment if not using the flake)
enable = true; #programs.neovim = {
defaultEditor = true; # enable = true;
# defaultEditor = true;
#
# # Load Lua config inline
# extraLuaConfig = ''
# vim.opt.number = true
# vim.opt.tabstop = 2
# vim.opt.shiftwidth = 2
# vim.opt.expandtab = true
# vim.opt.relativenumber = true
#
# require("telescope").setup {}
# require("nvim-treesitter.configs").setup { highlight = { enable = true } }
# '';
#
# plugins = with pkgs.vimPlugins; [
# telescope-nvim
# nvim-treesitter
# nvim-lspconfig
# gruvbox
# ];
#};
# Load Lua config inline # Use kickstart.nvim configuration from flake
extraLuaConfig = '' programs.neovim-kickstart.enable = true;
vim.opt.number = true
vim.opt.tabstop = 2
vim.opt.shiftwidth = 2
vim.opt.expandtab = true
vim.opt.relativenumber = true
require("telescope").setup {}
require("nvim-treesitter.configs").setup { highlight = { enable = true } }
'';
plugins = with pkgs.vimPlugins; [
telescope-nvim
nvim-treesitter
nvim-lspconfig
gruvbox
];
};
programs.ssh = { programs.ssh = {
enable = true; enable = true;