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, ... }: { { pkgs, ... }: {
programs.neovim = { programs.neovim = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
vimAlias = true; vimAlias = true;
plugins = with pkgs.vimPlugins; [ plugins = with pkgs.vimPlugins; [
cmp_luasnip cmp_luasnip
cmp-nvim-lsp cmp-nvim-lsp
luasnip luasnip
nvim-cmp nvim-cmp
nvim-lspconfig nvim-lspconfig
rustaceanvim rustaceanvim
vim-just vim-just
vim-sleuth vim-sleuth
vim-wakatime vim-wakatime
]; ];
extraLuaConfig = '' extraLuaConfig = ''
vim.opt.tabstop = 4 vim.opt.tabstop = 4
vim.opt.softtabstop = 4 vim.opt.softtabstop = 4
vim.opt.shiftwidth = 4 vim.opt.shiftwidth = 4
vim.opt.expandtab = true vim.opt.expandtab = true
vim.opt.number = true vim.opt.number = true
-- cmp -- cmp
local cmp = require("cmp") local cmp = require("cmp")
cmp.setup { cmp.setup {
snippet = { snippet = {
expand = function(args) expand = function(args)
require("luasnip").lsp_expand(args.body) require("luasnip").lsp_expand(args.body)
end end
}, },
mapping = { mapping = {
['<C-up>'] = cmp.mapping.select_prev_item(), ['<C-up>'] = cmp.mapping.select_prev_item(),
['<C-down>'] = cmp.mapping.select_next_item(), ['<C-down>'] = cmp.mapping.select_next_item(),
['<C-space>'] = cmp.mapping.complete(), ['<C-space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.close(), ['<C-e>'] = cmp.mapping.close(),
['<tab>'] = cmp.mapping.confirm { select = true } ['<tab>'] = cmp.mapping.confirm { select = true }
}, },
sources = cmp.config.sources({ sources = cmp.config.sources({
{ name = "nvim_lsp" }, { name = "nvim_lsp" },
{ name = "luasnip" } { name = "luasnip" }
}) })
} }
local caps = vim.tbl_deep_extend( local caps = vim.tbl_deep_extend(
"force", "force",
vim.lsp.protocol.make_client_capabilities(), vim.lsp.protocol.make_client_capabilities(),
require("cmp_nvim_lsp").default_capabilities(), require("cmp_nvim_lsp").default_capabilities(),
{ workspace = { didChangeWatchedFiles = { dynamicRegistration = true } } } { workspace = { didChangeWatchedFiles = { dynamicRegistration = true } } }
) )
-- lspconfig -- lspconfig
local lc = require("lspconfig") local lc = require("lspconfig")
lc.nil_ls.setup { lc.clangd.setup {
autostart = true, autostart = true,
capabilities = caps, capabilities = caps,
cmd = { "nil" } 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 ./hardware-configuration.nix
./packages.nix ./packages.nix
../base.nix ../base.nix
../../modules/system
]; ];
r5e.system = { r5e.system = {

View file

@ -24,6 +24,7 @@
mesonlsp # Meson mesonlsp # Meson
nil # Nix nil # Nix
rust-analyzer # Rust rust-analyzer # Rust
typescript-language-server # TS/JS
vala-language-server # Vala vala-language-server # Vala
# games # games
alvr # Stream VR games from your PC to your headset via Wi-Fi 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 = { graphics = {
display.x11 = { display.x11 = {
enable = mkEnableOption "X11"; enable = mkEnableOption "X11";
windowManagers = { windowManagers = mkOption {
twm.enable = mkEnableOption "twm"; type = types.listOf types.str;
default = [ "twm" ];
}; };
displayManager = { displayManager = {
# enable = mkEnableOption "SDDM"; # enable = mkEnableOption "SDDM";
@ -30,32 +31,19 @@ in with lib; {
videoPlayback = { videoPlayback = {
# TODO wiki.nixos.org/wiki/Intel_Graphics # TODO wiki.nixos.org/wiki/Intel_Graphics
enable = mkEnableOption "accelerated video playback"; enable = mkEnableOption "accelerated video playback";
package = mkPackageOption pkgs "intel-media-driver"; package = mkPackageOption pkgs "intel-media-driver" {};
}; };
qsv = { qsv = {
enable = mkEnableOption "Intel Quick Sync Video"; enable = mkEnableOption "Intel Quick Sync Video";
package = mkPackageOption pkgs "vpl-gpu-rt"; package = mkPackageOption pkgs "Intel Quick Sync Video" { default = [ "vpl-gpu-rt" ]; };
}; };
}; };
nvidia = { nvidia = {
enable = mkEnableOption "NVIDIA drivers"; 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 = { config = {
@ -89,8 +77,8 @@ in with lib; {
xserver = { xserver = {
enable = cfg.graphics.display.x11.enable; enable = cfg.graphics.display.x11.enable;
xkb.layout = "us"; xkb.layout = "us";
windowManager = cfg.graphics.display.x11.windowManagers; windowManager = builtins.listToAttrs (builtins.map (x: { name = x; value = { enable = true; }; }) cfg.graphics.display.x11.windowManagers);
videoDrivers = optional cfg.graphics.hardwareAcceleration.nvidia.enable "nvidia"; videoDrivers = (optional cfg.graphics.hardwareAcceleration.nvidia.enable "nvidia") ++ [ "modesetting" ];
}; };
displayManager.sddm = { displayManager.sddm = {
enable = cfg.graphics.display.x11.enable; 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;
};
};
}; };
} }