diff --git a/nixos/home/neovim.nix b/nixos/home/neovim.nix index e75d8c4..9f3490a 100644 --- a/nixos/home/neovim.nix +++ b/nixos/home/neovim.nix @@ -1,63 +1,78 @@ { pkgs, ... }: { - programs.neovim = { - enable = true; - defaultEditor = true; - vimAlias = true; - plugins = with pkgs.vimPlugins; [ - cmp_luasnip - cmp-nvim-lsp - luasnip - nvim-cmp - nvim-lspconfig - rustaceanvim - vim-just - vim-sleuth - vim-wakatime - ]; - extraLuaConfig = '' - vim.opt.tabstop = 4 - vim.opt.softtabstop = 4 - vim.opt.shiftwidth = 4 - vim.opt.expandtab = true - - vim.opt.number = true + programs.neovim = { + enable = true; + defaultEditor = true; + vimAlias = true; + plugins = with pkgs.vimPlugins; [ + cmp_luasnip + cmp-nvim-lsp + luasnip + nvim-cmp + nvim-lspconfig + rustaceanvim + vim-just + vim-sleuth + vim-wakatime + ]; + extraLuaConfig = '' + vim.opt.tabstop = 4 + vim.opt.softtabstop = 4 + vim.opt.shiftwidth = 4 + vim.opt.expandtab = true + + vim.opt.number = true - -- cmp - local cmp = require("cmp") - cmp.setup { - snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end - }, - mapping = { - [''] = cmp.mapping.select_prev_item(), - [''] = cmp.mapping.select_next_item(), - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.close(), - [''] = cmp.mapping.confirm { select = true } - }, - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "luasnip" } - }) - } + -- cmp + local cmp = require("cmp") + cmp.setup { + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end + }, + mapping = { + [''] = cmp.mapping.select_prev_item(), + [''] = cmp.mapping.select_next_item(), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.close(), + [''] = cmp.mapping.confirm { select = true } + }, + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + { name = "luasnip" } + }) + } - local caps = vim.tbl_deep_extend( - "force", - vim.lsp.protocol.make_client_capabilities(), - require("cmp_nvim_lsp").default_capabilities(), - { workspace = { didChangeWatchedFiles = { dynamicRegistration = true } } } - ) + local caps = vim.tbl_deep_extend( + "force", + vim.lsp.protocol.make_client_capabilities(), + require("cmp_nvim_lsp").default_capabilities(), + { workspace = { didChangeWatchedFiles = { dynamicRegistration = true } } } + ) - -- lspconfig - local lc = require("lspconfig") + -- lspconfig + local lc = require("lspconfig") - lc.nil_ls.setup { - autostart = true, - capabilities = caps, - cmd = { "nil" } - } - ''; - }; + lc.clangd.setup { + autostart = true, + capabilities = caps, + cmd = { "clangd" } + } + lc.nil_ls.setup { + autostart = true, + capabilities = caps, + cmd = { "nil" } + } + lc.typescript_ls.setup { + autostart = true, + capabilities = caps, + cmd = { "typescript-language-server" } + } + lc.vala_ls.setup { + autostart = true, + capabilities = caps, + cmd = { "vala-language-server" } + } + ''; + }; } diff --git a/nixos/hosts/ioides/configuration.nix b/nixos/hosts/ioides/configuration.nix index 44c7678..82daf01 100644 --- a/nixos/hosts/ioides/configuration.nix +++ b/nixos/hosts/ioides/configuration.nix @@ -4,6 +4,7 @@ ./hardware-configuration.nix ./packages.nix ../base.nix + ../../modules/system ]; r5e.system = { diff --git a/nixos/hosts/ioides/packages.nix b/nixos/hosts/ioides/packages.nix index 3521044..e061ad0 100644 --- a/nixos/hosts/ioides/packages.nix +++ b/nixos/hosts/ioides/packages.nix @@ -24,6 +24,7 @@ mesonlsp # Meson nil # Nix rust-analyzer # Rust + typescript-language-server # TS/JS vala-language-server # Vala # games alvr # Stream VR games from your PC to your headset via Wi-Fi diff --git a/nixos/hosts/marquet/configuration.nix b/nixos/hosts/marquet/configuration.nix deleted file mode 100644 index 241650a..0000000 --- a/nixos/hosts/marquet/configuration.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ pkgs, ... }: { - imports = [ - ./hardware-configuration.nix - ../base.nix - ../../modules/system - ]; - - r5e.system = { - graphics = { - display.x11 = { - enable = true; - windowManagers = { - twm.enable = true; - }; - displayManager.autologin = { - enable = false; - session = "none+twm"; - }; - }; - hardwareAcceleration = { - enable = true; - intel.videoPlayback = { - enable = true; - package = pkgs.intel-vaapi-driver; - }; - }; - }; - }; -} - diff --git a/nixos/modules/system/default.nix b/nixos/modules/system/default.nix index 32f9a1f..08da683 100644 --- a/nixos/modules/system/default.nix +++ b/nixos/modules/system/default.nix @@ -5,8 +5,9 @@ in with lib; { graphics = { display.x11 = { enable = mkEnableOption "X11"; - windowManagers = { - twm.enable = mkEnableOption "twm"; + windowManagers = mkOption { + type = types.listOf types.str; + default = [ "twm" ]; }; displayManager = { # enable = mkEnableOption "SDDM"; @@ -30,32 +31,19 @@ in with lib; { videoPlayback = { # TODO wiki.nixos.org/wiki/Intel_Graphics enable = mkEnableOption "accelerated video playback"; - package = mkPackageOption pkgs "intel-media-driver"; + package = mkPackageOption pkgs "intel-media-driver" {}; }; qsv = { enable = mkEnableOption "Intel Quick Sync Video"; - package = mkPackageOption pkgs "vpl-gpu-rt"; + package = mkPackageOption pkgs "Intel Quick Sync Video" { default = [ "vpl-gpu-rt" ]; }; }; }; nvidia = { enable = mkEnableOption "NVIDIA drivers"; - package = mkPackageOption config.boot.kernelPackages.nvidiaPackages "stable"; + package = mkPackageOption config.boot.kernelPackages.nvidiaPackages "NVIDIA driver" { default = [ "stable" ]; }; }; }; }; - - programs = { - steam = { - enable = mkEnableOption "Steam"; - openFirewall = mkOption { - type = types.bool; - default = false; - }; - }; - thunderbird = { - enable = mkEnableOption "Mozilla Thunderbird"; - }; - }; }; config = { @@ -89,8 +77,8 @@ in with lib; { xserver = { enable = cfg.graphics.display.x11.enable; xkb.layout = "us"; - windowManager = cfg.graphics.display.x11.windowManagers; - videoDrivers = optional cfg.graphics.hardwareAcceleration.nvidia.enable "nvidia"; + windowManager = builtins.listToAttrs (builtins.map (x: { name = x; value = { enable = true; }; }) cfg.graphics.display.x11.windowManagers); + videoDrivers = (optional cfg.graphics.hardwareAcceleration.nvidia.enable "nvidia") ++ [ "modesetting" ]; }; displayManager.sddm = { enable = cfg.graphics.display.x11.enable; @@ -100,19 +88,6 @@ in with lib; { }; }; }; - - programs = { - steam = { - enable = cfg.programs.steam.enable; - remotePlay.openFirewall = cfg.programs.steam.openFirewall; - dedicatedServer.openFirewall = cfg.programs.steam.openFirewall; - localNetworkGameTransfers.openFirewall = cfg.programs.steam.openFirewall; - }; - thunderbird = { - enable = cfg.programs.thunderbird.enable; - policies.DisableTelemetry = true; - }; - }; }; }