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, ... }: {
|
{ 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" }
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./packages.nix
|
./packages.nix
|
||||||
../base.nix
|
../base.nix
|
||||||
|
../../modules/system
|
||||||
];
|
];
|
||||||
|
|
||||||
r5e.system = {
|
r5e.system = {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 = {
|
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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue