mirror of
https://git.sr.ht/~roxwize/.dotfiles
synced 2025-06-07 12:39:29 +00:00
~
This commit is contained in:
parent
9e7e438323
commit
8ec5885b26
5 changed files with 82 additions and 120 deletions
|
@ -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 = {
|
||||
['<C-up>'] = cmp.mapping.select_prev_item(),
|
||||
['<C-down>'] = cmp.mapping.select_next_item(),
|
||||
['<C-space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.close(),
|
||||
['<tab>'] = 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 = {
|
||||
['<C-up>'] = cmp.mapping.select_prev_item(),
|
||||
['<C-down>'] = cmp.mapping.select_next_item(),
|
||||
['<C-space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.close(),
|
||||
['<tab>'] = 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" }
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
./hardware-configuration.nix
|
||||
./packages.nix
|
||||
../base.nix
|
||||
../../modules/system
|
||||
];
|
||||
|
||||
r5e.system = {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue