feat: working neovim
This commit is contained in:
+33
-12
@@ -110,6 +110,7 @@
|
||||
code-cursor
|
||||
adwaita-icon-theme
|
||||
obsidian
|
||||
claude-code
|
||||
];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
@@ -216,18 +217,9 @@
|
||||
|
||||
# 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
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-hyprland
|
||||
];
|
||||
};
|
||||
|
||||
security.pam.services = {
|
||||
@@ -244,15 +236,34 @@
|
||||
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
|
||||
fonts.packages = [
|
||||
pkgs.adwaita-icon-theme
|
||||
pkgs.nerd-fonts._0xproto
|
||||
];
|
||||
fonts.fontconfig.enable = true;
|
||||
services.gnome.core-apps.enable = false;
|
||||
services.gnome.core-developer-tools.enable = false;
|
||||
services.gnome.games.enable = false;
|
||||
services.gnome = {
|
||||
core-apps.enable = true;
|
||||
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; [
|
||||
gnome-tour gnome-user-docs
|
||||
];
|
||||
@@ -263,5 +274,15 @@
|
||||
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
@@ -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
|
||||
}
|
||||
@@ -1,47 +1,25 @@
|
||||
{
|
||||
description = "FrostPhoenix's nixos configuration";
|
||||
description = "Home Manager configuration with kickstart.nvim";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nur.url = "github:nix-community/NUR";
|
||||
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
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";
|
||||
kickstart-nvim.url = "github:0xWheatyz/kickstart.nvim";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, ... }: {
|
||||
nixosConfigurations = {
|
||||
yourhostname = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
outputs = { nixpkgs, home-manager, kickstart-nvim, ... }: {
|
||||
homeConfigurations = {
|
||||
"l-wyatt" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||
|
||||
modules = [
|
||||
./configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.yourusername = import ./home.nix;
|
||||
}
|
||||
./home.nix
|
||||
kickstart-nvim.homeManagerModules.default
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}`
|
||||
}
|
||||
|
||||
@@ -114,30 +114,34 @@
|
||||
};
|
||||
};
|
||||
|
||||
# Neovim management
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
# Neovim management - using kickstart.nvim via flake
|
||||
# Basic fallback config (uncomment if not using the flake)
|
||||
#programs.neovim = {
|
||||
# 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
|
||||
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
|
||||
];
|
||||
};
|
||||
# Use kickstart.nvim configuration from flake
|
||||
programs.neovim-kickstart.enable = true;
|
||||
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
|
||||
Reference in New Issue
Block a user