diff --git a/flake.nix b/flake.nix index 716a179..2f5ee8d 100644 --- a/flake.nix +++ b/flake.nix @@ -34,6 +34,7 @@ in { pkgs.go-task pkgs.convco pkgs.typos + pkgs.home-manager ]; }; }); @@ -72,11 +73,7 @@ in { system = "x86_64-linux"; specialArgs = { inherit stateVersion inputs; - hostname = "luci"; - username = "ephase"; - hostConfig = { - desktop = true; - }; + }; modules = [ ./nixos/default.nix @@ -99,6 +96,20 @@ in { ./home-manager/default.nix ]; }; + work = home-manager.lib.homeManagerConfiguration { + pkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ nixgl.overlay ]; + }; + extraSpecialArgs = { + inherit stateVersion inputs; + hostname = "work"; + username = "yorick-barbanneau"; + }; + modules = [ + ./home-manager/default.nix + ]; + }; }; }; } diff --git a/home-manager/default.nix b/home-manager/default.nix index d3b9cbc..50f33fa 100644 --- a/home-manager/default.nix +++ b/home-manager/default.nix @@ -15,5 +15,4 @@ ]++ lib.optional ( builtins.pathExists ../hosts/${hostname}/includes/home-manager.nix ) ../hosts/${hostname}/includes/home-manager.nix; - } diff --git a/hosts/rick/home-config.nix b/hosts/rick/home-config.nix index abe7342..6ba8027 100644 --- a/hosts/rick/home-config.nix +++ b/hosts/rick/home-config.nix @@ -6,6 +6,9 @@ foot.enable = false; imv.enable = false; }; + audio = { + cmus.enable = true; + }; cli = { direnv.enable = true; ghq.enable = true; diff --git a/hosts/work/home-config.nix b/hosts/work/home-config.nix new file mode 100644 index 0000000..6059fb3 --- /dev/null +++ b/hosts/work/home-config.nix @@ -0,0 +1,26 @@ +{ ... }: { + config.modules = { + application = { + zathura.enable = true; + foot.enable = true; + }; + audio.cmus.enable = true; + cli = { + direnv.enable = true; + ghq.enable = true; + git = { + enable = true; + userEmail = "ybarbanneau@sellsy.com"; + }; + neovim.enable = true; + starship.enable = true; + utils.enable = true; + vifm.enable = true; + zsh.enable = true; + }; + web.firefox = { + enable = true; + enableNixGL = true; + }; + }; +} diff --git a/hosts/work/includes/home-manager.nix b/hosts/work/includes/home-manager.nix new file mode 100644 index 0000000..b8cd4e4 --- /dev/null +++ b/hosts/work/includes/home-manager.nix @@ -0,0 +1,22 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + dejavu_fonts + font-awesome + lato + liberation_ttf + libertine + libnotify + (nerdfonts.override { + fonts = [ + "FiraCode" + ]; + }) + noto-fonts-emoji + noto-fonts-cjk + slurp + wl-clipboard + ]; + targets.genericLinux.enable = true; + xdg.mime.enable = true; +} diff --git a/modules/home-manager/cli/neovim/default.nix b/modules/home-manager/cli/neovim/default.nix index 998b326..19d8962 100644 --- a/modules/home-manager/cli/neovim/default.nix +++ b/modules/home-manager/cli/neovim/default.nix @@ -28,13 +28,17 @@ in # LSP Servers clang-tools hadolint + helm-ls lua-language-server marksman nil nodePackages.bash-language-server python3Packages.python-lsp-server shellcheck - # yaml-language-server + + terraform-lsp + tflint + yaml-language-server # Formatters nixfmt-rfc-style @@ -115,12 +119,15 @@ in p.cpp p.cmake p.dockerfile + p.hcl + p.helm p.latex p.lua p.llvm p.markdown p.markdown_inline p.python + p.terraform p.vim p.yaml ]) @@ -158,6 +165,7 @@ in type = "lua"; config = ( builtins.readFile ./files/whichkey.lua ); } + vim-helm ]; }; }; diff --git a/modules/home-manager/cli/neovim/files/lspconfig.lua b/modules/home-manager/cli/neovim/files/lspconfig.lua index 6ddfddf..84fb126 100644 --- a/modules/home-manager/cli/neovim/files/lspconfig.lua +++ b/modules/home-manager/cli/neovim/files/lspconfig.lua @@ -2,6 +2,21 @@ local lspconfig = require('lspconfig') lspconfig.bashls.setup {} lspconfig.clangd.setup {} +lspconfig.helm_ls.setup{ + settings = { + ['helm-ls'] = { + logLevel = "info", + valuesFiles = { + mainValuesFile = "values.yaml", + lintOverlayValuesFile = "values.lint.yaml", + additionalValuesFilesGlobPattern = "values*.yaml" + } + }, + yamlls = { + enabled = false, + } + } +} lspconfig.lua_ls.setup { single_file_support = true, flags = { @@ -14,14 +29,25 @@ lspconfig.pylsp.setup { settings = { pylsp = { plugins = { - pylint = { + pylint = { enabled = true } } } } } -lspconfig.yamlls.setup{} +lspconfig.terraformls.setup{} +lspconfig.tflint.setup{} +lspconfig.yamlls.setup{ + settings = { + yaml = { + schemas = { + ["https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.30.0/all.json"] = {"k8s/**/*.yaml", "cluster/**/*.yaml",}, + ["https://taskfile.dev/schema.json"] = {"**/Taskfile.*", "**/taskfile.*",}, + }, + }, + }, +} vim.api.nvim_create_autocmd('LspAttach', { desc = 'LSP actions',