diff --git a/flake.nix b/flake.nix index 69b55fb..d2e8712 100644 --- a/flake.nix +++ b/flake.nix @@ -31,6 +31,7 @@ homeManagerModules = import ./modules/home-manager; packages = forEachSystem (pkgs: import ./pkgs { inherit pkgs; }); + devShells = forEachSystem (pkgs: import ./shell.nix { inherit pkgs; }); nixosConfigurations = { # X1 Carbon diff --git a/home/ooks/opt/nvim/default.nix b/home/ooks/opt/nvim/default.nix index 340aeb0..baec161 100644 --- a/home/ooks/opt/nvim/default.nix +++ b/home/ooks/opt/nvim/default.nix @@ -45,12 +45,14 @@ in programs.bash.initExtra = lib.mkAfter '' export EDITOR="${config.programs.neovim.package}/bin/nvim" - ''; + ''; programs.zsh.initExtra = lib.mkAfter '' - export EDITOR="${config.programs.neovim.package}/bin/nvim" + export EDITOR="${config.programs.neovim.package}/bin/nvim" ''; + home.sessionVariables.EDITOR = "nvim"; + # Required packages -------------------------------------------------------------------------- {{{ programs.neovim.extraPackages = with pkgs; [ diff --git a/nixpkgs.nix b/nixpkgs.nix new file mode 100644 index 0000000..792931e --- /dev/null +++ b/nixpkgs.nix @@ -0,0 +1,8 @@ +# # A nixpkgs instance that is grabbed from the pinned nixpkgs commit in the lock file +# # This is useful to avoid using channels when using legacy nix commands + let lock = (builtins.fromJSON (builtins.readFile ./flake.lock)).nodes.nixpkgs.locked; + in + import (fetchTarball { + url = "https://github.com/nixos/nixpkgs/archive/${lock.rev}.tar.gz"; + sha256 = lock.narHash; + }) diff --git a/pkgs/default.nix b/pkgs/default.nix index a505f5c..ef23ce2 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,4 +1,5 @@ { pkgs ? (import ../nixpkgs.nix) { } }: { - # example = pkgs.callPackage ./example { }; + nvchad = pkgs.callPackage ./nvchad { }; + } diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..8a04807 --- /dev/null +++ b/shell.nix @@ -0,0 +1,7 @@ +{ pkgs ? (import ./nixpkgs.nix) { } }: { + default = pkgs.mkShell { + # Enable experimental features without having to specify the argument + NIX_CONFIG = "experimental-features = nix-command flakes"; + nativeBuildInputs = with pkgs; [ nix home-manager git neovim ]; + }; +}