From 205d16809978f127bfe061d83423d22d0ab0f4e9 Mon Sep 17 00:00:00 2001 From: Sakooooo <78461130+Sakooooo@users.noreply.github.com> Date: Mon, 7 Aug 2023 16:28:33 +0300 Subject: [PATCH] back to nil_ls --- .nixd.json | 17 --- .../lua/core/plugin_config/lsp_config.lua | 60 ++++---- default-options.nix | 123 ---------------- default.nix | 133 ++++++++++++++++-- flake.nix | 74 +++++----- hosts/sakotop/configuration.nix | 4 +- packages/.nixd.json | 10 -- 7 files changed, 195 insertions(+), 226 deletions(-) delete mode 100644 .nixd.json delete mode 100644 default-options.nix delete mode 100644 packages/.nixd.json diff --git a/.nixd.json b/.nixd.json deleted file mode 100644 index b232595b..00000000 --- a/.nixd.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "eval": { - "target": { - "args": ["-f", "default.nix"], - "installable": "nixosConfigurations.sakotop.config.system.build.toplevel" - }, - "depth": 0, - "workers": 3 - }, - "options": { - "enable": true, - "target": { - "args": [], - "installable": ".#nixosConfigurations.sakotop.options" - } - } -} diff --git a/config/nvim/lua/core/plugin_config/lsp_config.lua b/config/nvim/lua/core/plugin_config/lsp_config.lua index 6a0c8bd2..80d4cb8b 100644 --- a/config/nvim/lua/core/plugin_config/lsp_config.lua +++ b/config/nvim/lua/core/plugin_config/lsp_config.lua @@ -7,13 +7,13 @@ require("mason-lspconfig").setup() local mason_null_ls = require("mason-null-ls") local on_attach = function(client, bufnr) - vim.keymap.set("n", "rn", vim.lsp.buf.rename, {}) - vim.keymap.set("n", "ca", vim.lsp.buf.code_action, {}) + vim.keymap.set("n", "rn", vim.lsp.buf.rename, {}) + vim.keymap.set("n", "ca", vim.lsp.buf.code_action, {}) - vim.keymap.set("n", "gd", vim.lsp.buf.definition, {}) - vim.keymap.set("n", "gi", vim.lsp.buf.implementation, {}) - vim.keymap.set("n", "gr", require("telescope.builtin").lsp_references, {}) - vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) + vim.keymap.set("n", "gd", vim.lsp.buf.definition, {}) + vim.keymap.set("n", "gi", vim.lsp.buf.implementation, {}) + vim.keymap.set("n", "gr", require("telescope.builtin").lsp_references, {}) + vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) end -- enable autocomplete @@ -29,61 +29,61 @@ local capabilities = require("cmp_nvim_lsp").default_capabilities() mason_null_ls.setup() -- funny lsp config stuff -require('lspconfig').nixd.setup({ +require('lspconfig').nil_ls.setup({ on_attach = on_attach, capabilities = capabilities, }) require("lspconfig").lua_ls.setup({ - on_attach = on_attach, - capabilities = capabilities, + on_attach = on_attach, + capabilities = capabilities, }) require("lspconfig").omnisharp.setup({ - on_attach = on_attach, - capabilities = capabilities, + on_attach = on_attach, + capabilities = capabilities, }) require("lspconfig").cmake.setup({ - on_attach = on_attach, - capabilities = capabilities, + on_attach = on_attach, + capabilities = capabilities, }) require("lspconfig").clangd.setup({ - on_attach = on_attach, - capabilities = capabilities, + on_attach = on_attach, + capabilities = capabilities, }) require("lspconfig").tsserver.setup({ - on_attach = on_attach, - capabilities = capabilities, + on_attach = on_attach, + capabilities = capabilities, }) require("lspconfig").html.setup({ - on_attach = on_attach, - capabilities = capabilities, + on_attach = on_attach, + capabilities = capabilities, }) require("lspconfig").eslint.setup({ - on_attach = function(client, bufnr) - vim.api.nvim_create_autocmd("BufWritePre", { - buffer = bufnr, - command = "EslintFixAll", - }) - end, + on_attach = function(client, bufnr) + vim.api.nvim_create_autocmd("BufWritePre", { + buffer = bufnr, + command = "EslintFixAll", + }) + end, }) require("lspconfig").pyright.setup({ - on_attach = on_attach, - capabilities = capabilities, + on_attach = on_attach, + capabilities = capabilities, }) require("lspconfig").cssls.setup({ - on_attach = on_attach, - capabilities = capabilities, + on_attach = on_attach, + capabilities = capabilities, }) -require('lspconfig')['hls'].setup{ +require('lspconfig')['hls'].setup { filetypes = { 'haskell', 'lhaskell', 'cabal' }, } diff --git a/default-options.nix b/default-options.nix deleted file mode 100644 index 45985814..00000000 --- a/default-options.nix +++ /dev/null @@ -1,123 +0,0 @@ -{ config, inputs, outputs, pkgs, lib, home-manager, ...}: -{ - imports = [ - # home manager - inputs.home-manager.nixosModules.default - # modules - # import for each folder - # modules/desktop IMPORT - # modules/desktop/example DO NOT IMPORT, - # add entry to module's default.nix - outputs.nixosModules.desktop - outputs.nixosModules.shell - outputs.nixosModules.hardware - outputs.nixosModules.dev - outputs.nixosModules.media - ]; - - # flakes - nix.settings.experimental-features = [ "nix-command" "flakes"]; - - # import the overlays - nixpkgs = { - overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.unstable-packages - ]; - }; - - # grub (mount efi partition to /boot/efi) - # why /boot/efi? instead of /efi? - # 1. when dualbooting, windows makes the efi partition 100mb instead of 512mb+ (we need this for generations - # and intel microcode) - # 2. nixos does not like /efi :( - # 3. i dont like systemd boot D: - # TODO(sako):: add shim secure boot - # because window and riot games devs :( - boot.loader = { - efi = { - canTouchEfiVariables = true; - efiSysMountPoint = "/boot/efi"; - }; - grub = { - devices = [ "nodev" ]; - efiSupport = true; - enable = true; - useOSProber = true; - configurationLimit = 10; - }; - }; - - # this shouldnt cause any issues right? - networking.networkmanager.enable = true; - - time.timeZone = "Africa/Cairo"; - - i18n.defaultLocale = "en_US.UTF-8"; - console = { - font = "Lat2-Terminus16"; - # keyMap = "us"; - # use xorg layout option - # TODO(sako):: add arabic locale - useXkbConfig = true; - }; - - # xorg layout - # change to needed - services.xserver.layout = "us"; - - # already sold soul to corporations \_o_/ - nixpkgs.config.allowUnfree = true; - - home-manager.useUserPackages = true; - home-manager.users.sako = { pkgs, ...}: { - # CHANGE THIS WHEN THE SYSTEM VERSION CHANGES TOO!!! - home.stateVersion = "23.05"; - home.packages = []; - home.username = "sako"; - home.homeDirectory = "/home/sako"; - programs.bash.enable = true; - programs.home-manager.enable = true; - xdg.configFile.git = { - source = ./config/git; - }; - }; - # bare minimum - environment.systemPackages = with pkgs; [ - vim # backup - wget #double u get - killall # die processes - alsa-utils # unsupported application - pulseaudio # unsupported application - pamixer # unsupported application - feh # im different - unzip # zip file - gh # github - htop # htop - tree # trees - ]; - # you phisiclally cannot live without this - # litearlly! ! ! ! ! ! - programs.gnupg.agent = { - enable = true; - pinentryFlavor = "gtk2"; - # enableSSHSupport = true; - }; - - programs.git = { - enable = true; - package = pkgs.gitFull; - }; - - - # something nixos release - # something use ful in for mat ion - # blah blah blah - # nixos packages type shit - # change this on every update idiot - # dont name it to string beans or some shit - # you idiot - system.stateVersion = "23.05"; - # read comment you read the comment? -} diff --git a/default.nix b/default.nix index 2cccff28..45985814 100644 --- a/default.nix +++ b/default.nix @@ -1,10 +1,123 @@ -(import - ( - let lock = builtins.fromJSON (builtins.readFile ./flake.lock); in - fetchTarball { - url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz"; - sha256 = lock.nodes.flake-compat.locked.narHash; - } - ) - { src = ./.; } -).defaultNix +{ config, inputs, outputs, pkgs, lib, home-manager, ...}: +{ + imports = [ + # home manager + inputs.home-manager.nixosModules.default + # modules + # import for each folder + # modules/desktop IMPORT + # modules/desktop/example DO NOT IMPORT, + # add entry to module's default.nix + outputs.nixosModules.desktop + outputs.nixosModules.shell + outputs.nixosModules.hardware + outputs.nixosModules.dev + outputs.nixosModules.media + ]; + + # flakes + nix.settings.experimental-features = [ "nix-command" "flakes"]; + + # import the overlays + nixpkgs = { + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.unstable-packages + ]; + }; + + # grub (mount efi partition to /boot/efi) + # why /boot/efi? instead of /efi? + # 1. when dualbooting, windows makes the efi partition 100mb instead of 512mb+ (we need this for generations + # and intel microcode) + # 2. nixos does not like /efi :( + # 3. i dont like systemd boot D: + # TODO(sako):: add shim secure boot + # because window and riot games devs :( + boot.loader = { + efi = { + canTouchEfiVariables = true; + efiSysMountPoint = "/boot/efi"; + }; + grub = { + devices = [ "nodev" ]; + efiSupport = true; + enable = true; + useOSProber = true; + configurationLimit = 10; + }; + }; + + # this shouldnt cause any issues right? + networking.networkmanager.enable = true; + + time.timeZone = "Africa/Cairo"; + + i18n.defaultLocale = "en_US.UTF-8"; + console = { + font = "Lat2-Terminus16"; + # keyMap = "us"; + # use xorg layout option + # TODO(sako):: add arabic locale + useXkbConfig = true; + }; + + # xorg layout + # change to needed + services.xserver.layout = "us"; + + # already sold soul to corporations \_o_/ + nixpkgs.config.allowUnfree = true; + + home-manager.useUserPackages = true; + home-manager.users.sako = { pkgs, ...}: { + # CHANGE THIS WHEN THE SYSTEM VERSION CHANGES TOO!!! + home.stateVersion = "23.05"; + home.packages = []; + home.username = "sako"; + home.homeDirectory = "/home/sako"; + programs.bash.enable = true; + programs.home-manager.enable = true; + xdg.configFile.git = { + source = ./config/git; + }; + }; + # bare minimum + environment.systemPackages = with pkgs; [ + vim # backup + wget #double u get + killall # die processes + alsa-utils # unsupported application + pulseaudio # unsupported application + pamixer # unsupported application + feh # im different + unzip # zip file + gh # github + htop # htop + tree # trees + ]; + # you phisiclally cannot live without this + # litearlly! ! ! ! ! ! + programs.gnupg.agent = { + enable = true; + pinentryFlavor = "gtk2"; + # enableSSHSupport = true; + }; + + programs.git = { + enable = true; + package = pkgs.gitFull; + }; + + + # something nixos release + # something use ful in for mat ion + # blah blah blah + # nixos packages type shit + # change this on every update idiot + # dont name it to string beans or some shit + # you idiot + system.stateVersion = "23.05"; + # read comment you read the comment? +} diff --git a/flake.nix b/flake.nix index d1a77950..8564c87f 100644 --- a/flake.nix +++ b/flake.nix @@ -3,63 +3,69 @@ description = "horrible dotfiles for amazing distro"; inputs = { - # nixpkgs - nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; - # unstable for a few packages - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - home-manager.url = "github:nix-community/home-manager/release-23.05"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; - # flake-compat for nixd - flake-compat = { - url = "github:edolstra/flake-compat"; - flake = false; - }; - # TODO(sako):: add agenix or sops-nix - # https://github.com/ryantm/agenix#install-via-flakes - # https://github.com/Mic92/sops-nix + # nixpkgs + nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; + # unstable for a few packages + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + home-manager.url = "github:nix-community/home-manager/release-23.05"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + # flake-compat for nixd + #flake-compat = { + # url = "github:edolstra/flake-compat"; + # flake = false; + #}; + # TODO(sako):: add agenix or sops-nix + # https://github.com/ryantm/agenix#install-via-flakes + # https://github.com/Mic92/sops-nix }; - outputs = { self, nixpkgs, home-manager, ...}@inputs: - let + outputs = { + self, + nixpkgs, + home-manager, + ... + } @ inputs: let inherit (self) outputs; - forAllSystems = nixpkgs.lib.genAttrs [ - "x86_64-linux" - ]; - in - rec { + forAllSystems = nixpkgs.lib.genAttrs [ + "x86_64-linux" + ]; + in rec { # custom packages - packages = forAllSystems (system: - let pkgs = nixpkgs.legacyPackages.${system}; - in import ./packages { inherit pkgs; } + packages = forAllSystems ( + system: let + pkgs = nixpkgs.legacyPackages.${system}; + in + import ./packages {inherit pkgs;} ); # dev shell for bootstrap - devShells = forAllSystems (system: - let pkgs = nixpkgs.legacyPackages.${system}; - in import ./shell.nix { inherit pkgs; } + devShells = forAllSystems ( + system: let + pkgs = nixpkgs.legacyPackages.${system}; + in + import ./shell.nix {inherit pkgs;} ); - + # overlays here - overlays = import ./overlays { inherit inputs; }; + overlays = import ./overlays {inherit inputs;}; # modules :D nixosModules = import ./modules; nixosConfigurations = { sakotop = nixpkgs.lib.nixosSystem { - specialArgs = { inherit inputs outputs; }; + specialArgs = {inherit inputs outputs;}; modules = [ - ./default-options.nix + ./default.nix ./hosts/sakotop/configuration.nix ]; }; sakopc = nixpkgs.lib.nixosSystem { - specialArgs = { inherit inputs outputs; }; + specialArgs = {inherit inputs outputs;}; modules = [ - ./default-options.nix + ./default.nix ./hosts/sakopc/configuration.nix ]; }; }; - }; } diff --git a/hosts/sakotop/configuration.nix b/hosts/sakotop/configuration.nix index 91dad965..07363f18 100644 --- a/hosts/sakotop/configuration.nix +++ b/hosts/sakotop/configuration.nix @@ -65,8 +65,8 @@ nvim.enable = true; vscode.fhs.enable = true; }; - nixd.enable = true; - nil.enable = false; + nixd.enable = false; + nil.enable = true; cc.enable = true; javascript.enable = true; python.enable = true; diff --git a/packages/.nixd.json b/packages/.nixd.json deleted file mode 100644 index 9cc5cfb6..00000000 --- a/packages/.nixd.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "eval": { - "target": { - "args": [ - "--expr", - "with import { }; callPackage ./nullpomino.nix { }" - ] - } - } -}