1
0
Fork 0
mirror of https://git.sr.ht/~roxwize/.dotfiles synced 2025-06-07 12:39:29 +00:00
This commit is contained in:
Rae 5e 2025-06-02 22:50:45 -04:00
parent 9e7e438323
commit 8ec5885b26
Signed by: rae
GPG key ID: 5B1A0FAB9BAB81EE
5 changed files with 82 additions and 120 deletions

View file

@ -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" }
}
'';
};
}

View file

@ -4,6 +4,7 @@
./hardware-configuration.nix
./packages.nix
../base.nix
../../modules/system
];
r5e.system = {

View file

@ -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

View file

@ -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;
};
};
};
};
}

View file

@ -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;
};
};
};
}