Merge branch 'master' of git.bitlab21.com:sam/nixos
This commit is contained in:
commit
ceeb920d5a
|
@ -5,9 +5,7 @@
|
|||
mode = ["n"];
|
||||
action = "<C-w>h";
|
||||
key = "<S-h>";
|
||||
options = {
|
||||
silent = true;
|
||||
};
|
||||
options = {silent = true;};
|
||||
}
|
||||
{
|
||||
mode = ["n"];
|
||||
|
@ -52,35 +50,6 @@
|
|||
options = {noremap = true;};
|
||||
}
|
||||
|
||||
# Telescope Plugin
|
||||
{
|
||||
# find files
|
||||
mode = ["n"];
|
||||
key = "<Leader>ff";
|
||||
action = "<cmd>Telescope find_files<CR>";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
{
|
||||
# live grep
|
||||
mode = ["n"];
|
||||
key = "<Leader>fg";
|
||||
action = "<cmd>Telescope live_grep<CR>";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
{
|
||||
# buffers
|
||||
mode = ["n"];
|
||||
key = "<Leader>fb";
|
||||
action = "<cmd>Telescope buffers<CR>";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
{
|
||||
# help tags
|
||||
mode = ["n"];
|
||||
key = "<Leader>fh";
|
||||
action = "<cmd>Telescope help_tags<CR>";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
# paste over selected text without yanking it
|
||||
{
|
||||
mode = ["v"];
|
||||
|
@ -113,5 +82,33 @@
|
|||
action = ": resize +1<CR>";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
|
||||
# indent line in or out
|
||||
{
|
||||
mode = ["v"];
|
||||
key = "<";
|
||||
action = "<gv";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
{
|
||||
mode = ["v"];
|
||||
key = ">";
|
||||
action = ">gv";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
|
||||
# move selected line up or down
|
||||
{
|
||||
mode = ["v"];
|
||||
key = "J";
|
||||
action = ":m '>+1<CR>gv=gv";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
{
|
||||
mode = ["v"];
|
||||
key = "K";
|
||||
action = ":m '<-2<CR>gv=gv";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
|
@ -38,4 +38,16 @@
|
|||
}
|
||||
|
||||
'';
|
||||
programs.nixvim.keymaps = [
|
||||
# format document with Conform
|
||||
{
|
||||
mode = ["n"];
|
||||
key = "<leader>cf";
|
||||
action = "<CMD>Format<CR>";
|
||||
options = {
|
||||
silent = true;
|
||||
desc = "Conform auto-format document";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
enable = true;
|
||||
keymaps = {
|
||||
toggleQuickMenu = "<leader>h";
|
||||
addFile = "<leader>a";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{
|
||||
programs.nixvim.plugins.oil = {
|
||||
enable = true;
|
||||
settings = {
|
||||
columns = ["icon"];
|
||||
view_options.show_hidden = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -3,4 +3,48 @@
|
|||
enable = true;
|
||||
extensions.fzy-native.enable = true;
|
||||
};
|
||||
programs.nixvim.keymaps = [
|
||||
{
|
||||
# find files
|
||||
mode = ["n"];
|
||||
key = "<Leader>ff";
|
||||
action = "<cmd>Telescope find_files<CR>";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
{
|
||||
# live grep
|
||||
mode = ["n"];
|
||||
key = "<Leader>fg";
|
||||
action = "<cmd>Telescope live_grep<CR>";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
{
|
||||
# grep string under cursor
|
||||
mode = ["n"];
|
||||
key = "<Leader>fs";
|
||||
action = "<cmd>Telescope string_grep<CR>";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
{
|
||||
# buffers
|
||||
mode = ["n"];
|
||||
key = "<Leader>fb";
|
||||
action = "<cmd>Telescope buffers<CR>";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
{
|
||||
# help tags
|
||||
mode = ["n"];
|
||||
key = "<Leader>fh";
|
||||
action = "<cmd>Telescope help_tags<CR>";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
{
|
||||
# show recently opened files
|
||||
mode = ["n"];
|
||||
key = "<Leader>fo";
|
||||
action = "<cmd>Telescope oldfiles<CR>";
|
||||
options = {noremap = true;};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.kodi = {
|
||||
enable = true;
|
||||
package = pkgs.kodi.withPackages (kodiPkgs:
|
||||
with kodiPkgs; [
|
||||
netflix
|
||||
jellycon
|
||||
]);
|
||||
};
|
||||
}
|
|
@ -11,6 +11,7 @@
|
|||
./common/optional/git.nix
|
||||
./common/optional/syncthing.nix
|
||||
./common/optional/desktop/cinnamon
|
||||
./common/optional/desktop/common/kodi.nix
|
||||
|
||||
];
|
||||
|
||||
|
|
|
@ -54,6 +54,7 @@ in {
|
|||
../common/optional/backlight.nix
|
||||
../common/optional/xmodmap-arrow-remaps.nix
|
||||
../common/optional/nix-ld.nix
|
||||
../common/optional/gaming.nix
|
||||
];
|
||||
|
||||
boot = {
|
||||
|
@ -71,10 +72,12 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
swapDevices = [ {
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/.swapvol/swapfile";
|
||||
size = 32 * 1024;
|
||||
} ];
|
||||
}
|
||||
];
|
||||
|
||||
services = {
|
||||
libinput.touchpad.accelSpeed = "0.5";
|
||||
|
@ -93,6 +96,10 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
# fix cpu throttling on Lenovo Thinkpad
|
||||
# see: https://github.com/erpalma/throttled
|
||||
services.throttled.enable = true;
|
||||
|
||||
environment.variables = {
|
||||
GDK_SCALE = "2.2";
|
||||
GDK_DPI_SCALE = "0.8";
|
||||
|
@ -123,6 +130,67 @@ in {
|
|||
];
|
||||
};
|
||||
|
||||
# nvidia
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
hardware.nvidia = {
|
||||
prime = {
|
||||
offload = {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
};
|
||||
intelBusId = "PCI:0:2:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
};
|
||||
nvidiaPersistenced = true;
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = false;
|
||||
powerManagement.finegrained = false;
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
# FIXME issue with stable nvidia driver and latest linux kernel
|
||||
# use mkDriver to specify newer nvidia driver that is compatible
|
||||
# see: https://github.com/NixOS/nixpkgs/issues/341844#issuecomment-2351075413
|
||||
# and https://discourse.nixos.org/t/builder-for-nvidia-x11-550-78-6-10-drv-failed-with-exit-code-2/49360/32
|
||||
package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
||||
version = "555.58.02";
|
||||
sha256_64bit = "sha256-xctt4TPRlOJ6r5S54h5W6PT6/3Zy2R4ASNFPu8TSHKM=";
|
||||
sha256_aarch64 = "sha256-wb20isMrRg8PeQBU96lWJzBMkjfySAUaqt4EgZnhyF8=";
|
||||
openSha256 = "sha256-8hyRiGB+m2hL3c9MDA/Pon+Xl6E788MZ50WrrAGUVuY=";
|
||||
settingsSha256 = "sha256-ZpuVZybW6CFN/gz9rx+UJvQ715FZnAOYfHn5jt5Z2C8=";
|
||||
persistencedSha256 = "sha256-a1D7ZZmcKFWfPjjH1REqPM5j/YLWKnbkP9qfRyIyxAw=";
|
||||
};
|
||||
};
|
||||
# https://bbs.archlinux.org/viewtopic.php?id=297276 for NVreg_EnableGpuFirmware fix
|
||||
# https://discourse.nixos.org/t/how-to-use-nvidia-prime-offload-to-run-the-x-server-on-the-integrated-board/9091/15
|
||||
# for udev rules to disable dGPU when not in use
|
||||
boot.extraModprobeConfig = ''
|
||||
options nvidia NVreg_DynamicPowerManagement=0x02
|
||||
options nvidia NVreg_EnableGpuFirmware=0
|
||||
'';
|
||||
services.udev.extraRules = ''
|
||||
# Remove NVIDIA USB xHCI Host Controller devices, if present
|
||||
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"
|
||||
|
||||
# Remove NVIDIA USB Type-C UCSI devices, if present
|
||||
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"
|
||||
|
||||
# Remove NVIDIA Audio devices, if present
|
||||
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
|
||||
|
||||
# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
|
||||
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
|
||||
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
|
||||
|
||||
# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
|
||||
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
|
||||
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"
|
||||
'';
|
||||
|
||||
networking = {
|
||||
hostName = "citadel";
|
||||
networkmanager.enable = true;
|
||||
|
|
|
@ -49,6 +49,7 @@ in
|
|||
pkgs.just
|
||||
pkgs.git
|
||||
pkgs.vim
|
||||
pkgs.linuxKernel.packages.linux_zen.cpupower
|
||||
];
|
||||
|
||||
system.stateVersion = "24.05";
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
# Steam
|
||||
mangohud
|
||||
gamemode
|
||||
gamescope
|
||||
|
||||
# WINE
|
||||
wine
|
||||
|
@ -41,11 +40,9 @@
|
|||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
gamescopeSession.enable = true;
|
||||
};
|
||||
|
||||
programs.gamemode.enable = true;
|
||||
programs.gamescope.enable = true;
|
||||
|
||||
nixpkgs.config.packageOverrides = pkgs: {
|
||||
steam = pkgs.steam.override {
|
||||
|
|
Loading…
Reference in New Issue