diff --git a/flake.lock b/flake.lock index 5026fd4..374492e 100644 --- a/flake.lock +++ b/flake.lock @@ -99,6 +99,27 @@ "type": "github" } }, + "devshell": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1728330715, + "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", + "owner": "numtide", + "repo": "devshell", + "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -116,6 +137,20 @@ } }, "flake-compat_2": { + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "revCount": 57, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1673956053, @@ -131,7 +166,46 @@ "type": "github" } }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { + "inputs": { + "systems": "systems_3" + }, + "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" + } + }, + "flake-utils_2": { "inputs": { "systems": [ "stylix", @@ -168,6 +242,36 @@ "type": "github" } }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "nixvim", + "flake-compat" + ], + "gitignore": "gitignore_2", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ], + "nixpkgs-stable": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1732021966, + "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -190,6 +294,28 @@ "type": "github" } }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "nixvim", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "gnome-shell": { "flake": false, "locked": { @@ -228,6 +354,27 @@ } }, "home-manager_2": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1732025103, + "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "a46e702093a5c46e192243edbd977d5749e7f294", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_3": { "inputs": { "nixpkgs": [ "stylix", @@ -408,6 +555,55 @@ "type": "github" } }, + "ixx": { + "inputs": { + "flake-utils": [ + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729958008, + "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.0.6", + "repo": "ixx", + "type": "github" + } + }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1732016537, + "narHash": "sha256-XwXUK+meYnlhdQz2TVE4Wv+tsx1CkdGbDPt1tRzCNH4=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "61cee20168a3ebb71a9efd70a55adebaadfbe4d4", + "type": "github" + }, + "original": { + "owner": "lnl7", + "repo": "nix-darwin", + "type": "github" + } + }, "nix-flatpak": { "inputs": { "nixpkgs": "nixpkgs_2", @@ -508,6 +704,57 @@ "type": "github" } }, + "nixvim": { + "inputs": { + "devshell": "devshell", + "flake-compat": "flake-compat_2", + "flake-parts": "flake-parts", + "git-hooks": "git-hooks", + "home-manager": "home-manager_2", + "nix-darwin": "nix-darwin", + "nixpkgs": [ + "nixpkgs" + ], + "nuschtosSearch": "nuschtosSearch", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1732143099, + "narHash": "sha256-lh2Qi8gd1SwJVGo7gJjoFvS/djS5Nimaw25j792PJjM=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "2f71c4250bef7a52fe21bd00d1e58c119f62008c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils", + "ixx": "ixx", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1731936508, + "narHash": "sha256-z0BSSf78LkxIrrFXZYmCoRRAxAmxMUKpK7CyxQRvkZI=", + "owner": "NuschtOS", + "repo": "search", + "rev": "fe07070f811b717a4626d01fab714a87d422a9e1", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat", @@ -538,6 +785,7 @@ "hyprland": "hyprland", "nix-flatpak": "nix-flatpak", "nixpkgs": "nixpkgs_3", + "nixvim": "nixvim", "stylix": "stylix" } }, @@ -547,12 +795,12 @@ "base16-fish": "base16-fish", "base16-helix": "base16-helix", "base16-vim": "base16-vim", - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils", + "flake-compat": "flake-compat_3", + "flake-utils": "flake-utils_2", "gnome-shell": "gnome-shell", - "home-manager": "home-manager_2", + "home-manager": "home-manager_3", "nixpkgs": "nixpkgs_4", - "systems": "systems_3", + "systems": "systems_4", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-tmux": "tinted-tmux" @@ -616,6 +864,21 @@ "type": "github" } }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tinted-foot": { "flake": false, "locked": { @@ -666,6 +929,27 @@ "type": "github" } }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1732111664, + "narHash": "sha256-XWHuPWcP59QnHEewdZJXBX1TA2lAP78Vz4daG6tfIr4=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "62003fdad7a5ab7b6af3ea9bd7290e4c220277d0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "utils": { "inputs": { "systems": "systems_2" diff --git a/flake.nix b/flake.nix index 71f4f2e..a930ddc 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,10 @@ url = "github:nixos/nixpkgs?ref=nixos-unstable"; + }; + nixvim = { + url = "github:nix-community/nixvim"; + inputs.nixpkgs.follows = "nixpkgs"; }; hyprland.url = "github:hyprwm/Hyprland"; stylix.url = "github:danth/stylix"; @@ -19,7 +23,7 @@ }; }; - outputs = { self, nixpkgs, stylix, nix-flatpak, ... }@inputs: + outputs = { self, nixpkgs, stylix, nixvim, nix-flatpak, ... }@inputs: let #systems = ["aarch64-linux" "x86_64-linux" ]; #forAllSystems = nixpkgs.lib.genAttrs systems; diff --git a/nixos/configuration.nix b/nixos/configuration.nix index f68cb96..84b6314 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -2,12 +2,13 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ config, pkgs, stylix, hostname, system, inputs, ... }: +{ config, pkgs, stylix, hostname, system, nixvim, inputs, ... }: { imports = [ # Include the results of the hardware scan. inputs.home-manager.nixosModules.default + inputs.nixvim.nixosModules.nixvim ./firefox.nix ]; @@ -167,9 +168,19 @@ mime.enable = true; }; - programs.neovim = { + programs.nixvim = { enable = true; defaultEditor = true; + + colorschemes.catppuccin.enable = true; + plugins = { + lualine.enable = true; + }; + + opts = { + number = true; + shiftwidth = 4; + }; }; #https://discourse.nixos.org/t/dolphin-does-not-have-mime-associations/48985/3 # This fixes the unpopulated MIME menus @@ -240,7 +251,7 @@ }; home-manager = { - extraSpecialArgs = {inherit pkgs; inherit hostname; inherit inputs;}; + extraSpecialArgs = {inherit pkgs; inherit hostname; inherit nixvim; inherit inputs;}; users = { "kylekrein" = import ./home.nix; }; diff --git a/nixos/home.nix b/nixos/home.nix index 3df5056..d121298 100644 --- a/nixos/home.nix +++ b/nixos/home.nix @@ -1,4 +1,4 @@ -{ config, pkgs, stylix, ... }: +{ config, pkgs, stylix, inputs, ... }: let #nur = import (builtins.fetchTarball { @@ -14,6 +14,7 @@ imports = [ ./hyprland/hyprland.nix + ./nixvim ]; # Home Manager needs a bit of information about you and the paths it should # manage. diff --git a/nixos/nixvim/default.nix b/nixos/nixvim/default.nix new file mode 100644 index 0000000..399e643 --- /dev/null +++ b/nixos/nixvim/default.nix @@ -0,0 +1,20 @@ +{ pkgs, inputs, ... }: +{ + imports = [ + inputs.nixvim.homeManagerModules.nixvim + ]; + + programs.nixvim = { + enable = true; + colorschemes.catppuccin.enable = true; + plugins = { + + }; + opts = { + number = true; + shiftwidth = 4; + relativenumber = false; + }; + }; + +}