diff --git a/flake.lock b/flake.lock index a556391..ed5df6b 100644 --- a/flake.lock +++ b/flake.lock @@ -58,6 +58,26 @@ "type": "github" } }, + "naersk": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1629707199, + "narHash": "sha256-sGxlmfp5eXL5sAMNqHSb04Zq6gPl+JeltIZ226OYN0w=", + "owner": "nmattia", + "repo": "naersk", + "rev": "df71f5e4babda41cd919a8684b72218e2e809fa9", + "type": "github" + }, + "original": { + "owner": "nmattia", + "repo": "naersk", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1635471979, @@ -119,6 +139,22 @@ } }, "nixpkgs_4": { + "locked": { + "lastModified": 1630481079, + "narHash": "sha256-leWXLchbAbqOlLT6tju631G40SzQWPqaAXQG3zH1Imw=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "110a2c9ebbf5d4a94486854f18a37a938cfacbbb", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-21.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { "locked": { "lastModified": 1625223284, "narHash": "sha256-jjLcDSU1rRiJb+n3uez23XAa7kbnPcGZTa6jIKh1GMQ=", @@ -149,6 +185,26 @@ "type": "github" } }, + "rnix-lsp": { + "inputs": { + "naersk": "naersk", + "nixpkgs": "nixpkgs_4", + "utils": "utils" + }, + "locked": { + "lastModified": 1634449716, + "narHash": "sha256-JuRCU4KCIA3/pp8BjHqqF9dj1d2xtpkxKKAtSuOzTIY=", + "owner": "nix-community", + "repo": "rnix-lsp", + "rev": "a2d06d2d2910cbe35b4f323a54ef484f51d71e20", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "rnix-lsp", + "type": "github" + } + }, "root": { "inputs": { "darwin": "darwin", @@ -157,12 +213,13 @@ "nixpkgs": "nixpkgs_3", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur", + "rnix-lsp": "rnix-lsp", "sops-nix": "sops-nix" } }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1633273832, @@ -177,6 +234,21 @@ "repo": "sops-nix", "type": "github" } + }, + "utils": { + "locked": { + "lastModified": 1629481132, + "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "997f7efcb746a9c140ce1f13c72263189225f482", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index f8fd8b7..f26be2b 100644 --- a/flake.nix +++ b/flake.nix @@ -10,9 +10,13 @@ home-manager-21_05.url = "github:nix-community/home-manager/release-21.05"; sops-nix.url = "github:Mic92/sops-nix"; nur.url = "github:nix-community/NUR"; + + # --- + # Imported apps + rnix-lsp.url = "github:nix-community/rnix-lsp"; }; - outputs = { self, darwin, nixpkgs, nixpkgs-unstable, home-manager-unstable, home-manager-21_05, sops-nix, nur }: { + outputs = { self, darwin, nixpkgs, nixpkgs-unstable, home-manager-unstable, home-manager-21_05, sops-nix, nur, ... }@inputs : { # MacBook configuration: nix-darwin + home-manager darwinConfigurations."nki-macbook" = darwin.lib.darwinSystem { system = "aarch64-darwin"; @@ -49,9 +53,12 @@ # override some packages that needs unstable that cannot be changed in the setup. nix-direnv = prev.unstable.nix-direnv; }; + overlay-imported = final: prev: { + rnix-lsp = inputs.rnix-lsp.defaultPackage."x86_64-linux"; + }; in { - nixpkgs.overlays = [ overlay-unstable overlay-needs-unstable nur.overlay ]; # we assign the overlay created before to the overlays of nixpkgs. + nixpkgs.overlays = [ overlay-unstable overlay-needs-unstable overlay-imported nur.overlay ]; # we assign the overlay created before to the overlays of nixpkgs. }) ]; }; diff --git a/home/common.nix b/home/common.nix index c18bab7..3091c81 100644 --- a/home/common.nix +++ b/home/common.nix @@ -28,6 +28,7 @@ yarn ## Nix cachix + rnix-lsp # Fonts fantasque-sans-mono diff --git a/home/kakoune/kak-lsp.toml b/home/kakoune/kak-lsp.toml index 244d42f..986e36f 100644 --- a/home/kakoune/kak-lsp.toml +++ b/home/kakoune/kak-lsp.toml @@ -159,4 +159,7 @@ command = "FSharpLanguageServer" # command = "dotnet" # args = ["/home/natsukagami/Projects/FsAutoComplete/bin/release_netcore/fsautocomplete.dll", "--background-service-enabled"] - +[language.nix] +filetypes = ["nix"] +roots = ["flake.nix", "shell.nix", ".git"] +command = "rnix-lsp" diff --git a/home/kakoune/kakrc b/home/kakoune/kakrc index c55d54c..21214e4 100644 --- a/home/kakoune/kakrc +++ b/home/kakoune/kakrc @@ -95,7 +95,7 @@ hook global InsertCompletionHide .* %{ try %{ eval %sh{test -z "$WE_STARTED_KAK" && kak-lsp --kakoune -s $kak_session} } -hook global WinSetOption filetype=(racket|rust|python|go|javascript|typescript|c|cpp|tex|latex|fsharp|ocaml|haskell) %{ +hook global WinSetOption filetype=(racket|rust|python|go|javascript|typescript|c|cpp|tex|latex|fsharp|ocaml|haskell|nix) %{ lsp-enable-window map global normal ": enter-user-mode lsp" lsp-auto-hover-enable