This commit is contained in:
KoenDR06 2024-09-10 10:53:01 +02:00
parent cb28a1d6dd
commit ba3b50e935
7 changed files with 54 additions and 458 deletions

View file

@ -18,10 +18,6 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = {
url = "github:nix-community/nixvim/nixos-24.05";
inputs.nixpkgs.follows = "nixos";
};
};
outputs = {

View file

@ -6,11 +6,7 @@
pkgs,
...
}: {
imports = [
./neovim.nix
./plasma.nix
./gnome.nix
];
imports = [];
nixpkgs = {
overlays = [
@ -34,6 +30,8 @@
direnv
discord-ptb
docker-compose
dotnetCorePackages.dotnet_9.runtime
dotnetCorePackages.dotnet_9.sdk
file
fzf
gimp
@ -48,6 +46,7 @@
inkscape
inotify-tools
libreoffice
mono5
mullvad-vpn
neofetch
obsidian

View file

@ -2,25 +2,23 @@
programs.plasma = {
enable = true;
shortcuts = {
"ActivityManager"."switch-to-activity-037b4336-809c-4a07-a148-9ef660a5cc9c" = [ ];
"ActivityManager"."switch-to-activity-c82192f5-3d2d-4f8d-9c58-364b4cca1b53" = [ ];
"ActivityManager"."switch-to-activity-d15629d7-eac1-4856-990c-e88d4acd7c5d" = [ ];
"ActivityManager"."switch-to-activity-df5108d4-687b-4cd3-835e-318d72116b93" = "\\, \\, ,none,Switch to activity \"Default\"";
"ActivityManager"."switch-to-activity-b2ab5fe5-5164-403b-a54c-47948116f11a" = ",none,Switch to activity \"Stay Awake\"";
"ActivityManager"."switch-to-activity-df5108d4-687b-4cd3-835e-318d72116b93" = [ ];
"KDE Keyboard Layout Switcher"."Switch to Last-Used Keyboard Layout" = "Meta+Alt+L";
"KDE Keyboard Layout Switcher"."Switch to Next Keyboard Layout" = "Meta+Alt+K";
"kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S";
"kcm_touchpad"."Disable Touchpad" = "none,Touchpad Off";
"kcm_touchpad"."Enable Touchpad" = "none,Touchpad On";
"kcm_touchpad"."Toggle Touchpad" = ["none,Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"];
"kmix"."decrease_microphone_volume" = "Ctrl+Volume Down,Microphone Volume Down,Decrease Microphone Volume";
"kcm_touchpad"."Disable Touchpad" = "\\, Touchpad Off,Touchpad Off";
"kcm_touchpad"."Enable Touchpad" = "\\, Touchpad On,Touchpad On";
"kcm_touchpad"."Toggle Touchpad" = ["\\, Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku,Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"];
"kmix"."decrease_microphone_volume" = "Ctrl+Volume Down\\, Microphone Volume Down,Microphone Volume Down,Decrease Microphone Volume";
"kmix"."decrease_volume" = "Volume Down";
"kmix"."decrease_volume_small" = "Shift+Volume Down";
"kmix"."increase_microphone_volume" = "Ctrl+Volume Up,Microphone Volume Up,Increase Microphone Volume";
"kmix"."increase_microphone_volume" = "Ctrl+Volume Up\\, Microphone Volume Up,Microphone Volume Up,Increase Microphone Volume";
"kmix"."increase_volume" = "Volume Up";
"kmix"."increase_volume_small" = "Shift+Volume Up";
"kmix"."mic_mute" = ["Microphone Mute,Microphone Mute" "Meta+Volume Mute,Mute Microphone"];
"kmix"."mic_mute" = ["Microphone Mute\\, Microphone Mute" "Meta+Volume Mute,Microphone Mute" "Meta+Volume Mute,Mute Microphone"];
"kmix"."mute" = "Volume Mute";
"ksmserver"."Halt Without Confirmation" = "none,,Shut Down Without Confirmation";
"ksmserver"."Halt Without Confirmation" = [ ];
"ksmserver"."Lock Session" = ["Meta+L" "Screensaver,Meta+L" "Screensaver,Lock Session"];
"ksmserver"."Log Out" = "Ctrl+Alt+Del";
"ksmserver"."Log Out Without Confirmation" = "none,,Log Out Without Confirmation";
@ -29,11 +27,11 @@
"ksmserver"."Reboot Without Confirmation" = "none,,Reboot Without Confirmation";
"ksmserver"."Shut Down" = "none,,Shut Down";
"kwin"."Activate Window Demanding Attention" = "Meta+Ctrl+A";
"kwin"."Cube" = [ ];
"kwin"."Cube" = "Meta+Ctrl+G,none,Toggle Cube";
"kwin"."Cycle Overview" = [ ];
"kwin"."Cycle Overview Opposite" = [ ];
"kwin"."Decrease Opacity" = "none,,Decrease Opacity of Active Window by 5%";
"kwin"."Edit Tiles" = "Meta+Y,Meta+T,Toggle Tiles Editor";
"kwin"."Edit Tiles" = "Meta+Y\\, Meta+T,Meta+T,Toggle Tiles Editor";
"kwin"."Expose" = "Ctrl+F9";
"kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C),Ctrl+F10" "Launch (C),Toggle Present Windows (All desktops)"];
"kwin"."ExposeClass" = "Ctrl+F7";
@ -57,14 +55,14 @@
"kwin"."Show Desktop" = "Meta+D";
"kwin"."Suspend Compositing" = "Alt+Shift+F12,none";
"kwin"."Switch One Desktop Down" = "Meta+Ctrl+Down";
"kwin"."Switch One Desktop Up" = ["Meta+Ctrl+Left" "Meta+Ctrl+Up,Meta+Ctrl+Up,Switch One Desktop Up"];
"kwin"."Switch One Desktop to the Left" = "none,Meta+Ctrl+Left,Switch One Desktop to the Left";
"kwin"."Switch One Desktop to the Right" = "none,Meta+Ctrl+Right,Switch One Desktop to the Right";
"kwin"."Switch One Desktop Up" = "Meta+Ctrl+Up";
"kwin"."Switch One Desktop to the Left" = "Meta+Ctrl+Left";
"kwin"."Switch One Desktop to the Right" = "Meta+Ctrl+Right";
"kwin"."Switch Window Down" = "Meta+Alt+Down";
"kwin"."Switch Window Left" = "Meta+Alt+Left";
"kwin"."Switch Window Right" = "Meta+Alt+Right";
"kwin"."Switch Window Up" = "Meta+Alt+Up";
"kwin"."Switch to Desktop 1" = "Ctrl+F1";
"kwin"."Switch to Desktop 1" = "none,Ctrl+F1,Switch to Desktop 1";
"kwin"."Switch to Desktop 10" = "none,,Switch to Desktop 10";
"kwin"."Switch to Desktop 11" = "none,,Switch to Desktop 11";
"kwin"."Switch to Desktop 12" = "none,,Switch to Desktop 12";
@ -75,10 +73,10 @@
"kwin"."Switch to Desktop 17" = "none,,Switch to Desktop 17";
"kwin"."Switch to Desktop 18" = "none,,Switch to Desktop 18";
"kwin"."Switch to Desktop 19" = "none,,Switch to Desktop 19";
"kwin"."Switch to Desktop 2" = "Ctrl+F2";
"kwin"."Switch to Desktop 2" = "none,Ctrl+F2,Switch to Desktop 2";
"kwin"."Switch to Desktop 20" = "none,,Switch to Desktop 20";
"kwin"."Switch to Desktop 3" = "Ctrl+F3";
"kwin"."Switch to Desktop 4" = "Ctrl+F4";
"kwin"."Switch to Desktop 3" = "none,Ctrl+F3,Switch to Desktop 3";
"kwin"."Switch to Desktop 4" = "none,Ctrl+F4,Switch to Desktop 4";
"kwin"."Switch to Desktop 5" = "none,,Switch to Desktop 5";
"kwin"."Switch to Desktop 6" = "none,,Switch to Desktop 6";
"kwin"."Switch to Desktop 7" = "none,,Switch to Desktop 7";
@ -105,12 +103,12 @@
"kwin"."Toggle Window Raise/Lower" = "none,,Toggle Window Raise/Lower";
"kwin"."Walk Through Windows" = "Alt+Tab";
"kwin"."Walk Through Windows (Reverse)" = "Alt+Shift+Tab";
"kwin"."Walk Through Windows Alternative" = "none,,Walk Through Windows Alternative";
"kwin"."Walk Through Windows Alternative (Reverse)" = "none,,Walk Through Windows Alternative (Reverse)";
"kwin"."Walk Through Windows Alternative" = [ ];
"kwin"."Walk Through Windows Alternative (Reverse)" = [ ];
"kwin"."Walk Through Windows of Current Application" = "Alt+`";
"kwin"."Walk Through Windows of Current Application (Reverse)" = "Alt+~";
"kwin"."Walk Through Windows of Current Application Alternative" = "none,,Walk Through Windows of Current Application Alternative";
"kwin"."Walk Through Windows of Current Application Alternative (Reverse)" = "none,,Walk Through Windows of Current Application Alternative (Reverse)";
"kwin"."Walk Through Windows of Current Application Alternative" = [ ];
"kwin"."Walk Through Windows of Current Application Alternative (Reverse)" = [ ];
"kwin"."Window Above Other Windows" = "none,,Keep Window Above Others";
"kwin"."Window Below Other Windows" = "none,,Keep Window Below Others";
"kwin"."Window Close" = "Alt+F4";
@ -118,7 +116,7 @@
"kwin"."Window Grow Horizontal" = "none,,Expand Window Horizontally";
"kwin"."Window Grow Vertical" = "none,,Expand Window Vertically";
"kwin"."Window Lower" = "none,,Lower Window";
"kwin"."Window Maximize" = ["Meta+PgUp" "Meta+Up,Meta+PgUp,Maximize Window"];
"kwin"."Window Maximize" = "Meta+PgUp";
"kwin"."Window Maximize Horizontal" = "none,,Maximize Window Horizontally";
"kwin"."Window Maximize Vertical" = "none,,Maximize Window Vertically";
"kwin"."Window Minimize" = "Meta+PgDown";
@ -132,8 +130,8 @@
"kwin"."Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right";
"kwin"."Window One Screen Down" = "Meta+Shift+Down,,Move Window One Screen Down";
"kwin"."Window One Screen Up" = "Meta+Shift+Up,,Move Window One Screen Up";
"kwin"."Window One Screen to the Left" = "Meta+Shift+Left,,Move Window One Screen to the Left";
"kwin"."Window One Screen to the Right" = "Meta+Shift+Right,,Move Window One Screen to the Right";
"kwin"."Window One Screen to the Left" = [ ];
"kwin"."Window One Screen to the Right" = [ ];
"kwin"."Window Operations Menu" = "Alt+F3";
"kwin"."Window Pack Down" = "none,,Move Window Down";
"kwin"."Window Pack Left" = "none,,Move Window Left";
@ -184,8 +182,8 @@
"kwin"."Window to Screen 5" = "none,,Move Window to Screen 5";
"kwin"."Window to Screen 6" = "none,,Move Window to Screen 6";
"kwin"."Window to Screen 7" = "none,,Move Window to Screen 7";
"kwin"."view_actual_size" = "Meta+0";
"kwin"."view_zoom_in" = ["Meta++,Meta++" "Meta+=,Zoom In"];
"kwin"."view_actual_size" = "none,Meta+0,Zoom to Actual Size";
"kwin"."view_zoom_in" = ["Meta++\\, Meta++" "Meta+=\\, Zoom In,Meta++" "Meta+=,Zoom In"];
"kwin"."view_zoom_out" = "Meta+-";
"mediacontrol"."mediavolumedown" = "none,,Media volume down";
"mediacontrol"."mediavolumeup" = "none,,Media volume up";
@ -204,13 +202,13 @@
"org_kde_powerdevil"."Increase Screen Brightness Small" = "Shift+Monitor Brightness Up";
"org_kde_powerdevil"."PowerDown" = "Power Down";
"org_kde_powerdevil"."PowerOff" = "Power Off";
"org_kde_powerdevil"."Sleep" = "none,Sleep,Suspend";
"org_kde_powerdevil"."Sleep" = "\\, Sleep\\, Suspend,Sleep,Suspend";
"org_kde_powerdevil"."Toggle Keyboard Backlight" = "Keyboard Light On/Off";
"org_kde_powerdevil"."Turn Off Screen" = [ ];
"org_kde_powerdevil"."powerProfile" = ["Battery" "Meta+B,Battery" "Meta+B,Switch Power Profile"];
"plasmashell"."activate application launcher" = ["Meta" "" "Alt+F1\\, ,Meta" "Alt+F1,Activate Application Launcher"];
"plasmashell"."activate application launcher" = ["Meta" "Alt+F1,Meta" "Alt+F1,Activate Application Launcher"];
"plasmashell"."activate task manager entry 1" = "Meta+1";
"plasmashell"."activate task manager entry 10" = "none,Meta+0,Activate Task Manager Entry 10";
"plasmashell"."activate task manager entry 10" = "Meta+0";
"plasmashell"."activate task manager entry 2" = "Meta+2";
"plasmashell"."activate task manager entry 3" = "Meta+3";
"plasmashell"."activate task manager entry 4" = "Meta+4";
@ -227,7 +225,7 @@
"plasmashell"."manage activities" = "Meta+Q";
"plasmashell"."next activity" = [ ];
"plasmashell"."previous activity" = [ ];
"plasmashell"."repeat_action" = "none,Meta+Ctrl+R,Manually Invoke Action on Current Clipboard";
"plasmashell"."repeat_action" = "\\, Meta+Ctrl+R,Meta+Ctrl+R,Manually Invoke Action on Current Clipboard";
"plasmashell"."show dashboard" = "Ctrl+F12";
"plasmashell"."show-barcode" = "none,,Show Barcode";
"plasmashell"."show-on-mouse-pos" = "Meta+V";
@ -235,15 +233,15 @@
"plasmashell"."switch to next activity" = "none,,Switch to Next Activity";
"plasmashell"."switch to previous activity" = "none,,Switch to Previous Activity";
"plasmashell"."toggle do not disturb" = "none,,Toggle do not disturb";
"services/lookandfeeltool-2.desktop"."_launch" = "Sleep";
"services/lookandfeeltool.desktop"."_launch" = "Ctrl+Sleep";
"services/org.kde.konsole.desktop"."_launch" = "Meta+T";
"services/org.kde.konsole.desktop"."_launch" = [ ];
"services/org.kde.plasma-systemmonitor.desktop"."_launch" = ["Ctrl+Shift+Esc" "Meta+Esc"];
"services/org.kde.spectacle.desktop"."ActiveWindowScreenShot" = [ ];
"services/org.kde.spectacle.desktop"."FullScreenScreenShot" = [ ];
"services/org.kde.spectacle.desktop"."RecordRegion" = [ ];
"services/org.kde.spectacle.desktop"."RecordScreen" = [ ];
"services/org.kde.spectacle.desktop"."RecordWindow" = [ ];
"services/org.kde.spectacle.desktop"."RectangularRegionScreenShot" = [ ];
"services/org.kde.spectacle.desktop"."RectangularRegionScreenShot" = "Meta+Shift+S";
"services/org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = [ ];
"services/org.kde.spectacle.desktop"."_launch" = [ ];
};
@ -256,19 +254,18 @@
"dolphinrc"."IconsMode"."PreviewSize" = 144;
"dolphinrc"."KFileDialog Settings"."Places Icons Auto-resize" = false;
"dolphinrc"."KFileDialog Settings"."Places Icons Static Size" = 22;
"kactivitymanagerdrc"."activities"."037b4336-809c-4a07-a148-9ef660a5cc9c" = "Default";
"kactivitymanagerdrc"."activities"."c82192f5-3d2d-4f8d-9c58-364b4cca1b53" = "Default";
"kactivitymanagerdrc"."activities"."d15629d7-eac1-4856-990c-e88d4acd7c5d" = "Stay Awake";
"kactivitymanagerdrc"."activities"."b2ab5fe5-5164-403b-a54c-47948116f11a" = "Stay Awake";
"kactivitymanagerdrc"."activities"."df5108d4-687b-4cd3-835e-318d72116b93" = "Default";
"kactivitymanagerdrc"."activities-icons"."d15629d7-eac1-4856-990c-e88d4acd7c5d" = "activities";
"kactivitymanagerdrc"."activities-icons"."b2ab5fe5-5164-403b-a54c-47948116f11a" = "activities";
"kactivitymanagerdrc"."activities-icons"."df5108d4-687b-4cd3-835e-318d72116b93" = "activities";
"kactivitymanagerdrc"."main"."currentActivity" = "c82192f5-3d2d-4f8d-9c58-364b4cca1b53";
"kactivitymanagerdrc"."main"."runningActivities" = "c82192f5-3d2d-4f8d-9c58-364b4cca1b53";
"kactivitymanagerdrc"."main"."currentActivity" = "df5108d4-687b-4cd3-835e-318d72116b93";
"kactivitymanagerdrc"."main"."runningActivities" = "df5108d4-687b-4cd3-835e-318d72116b93";
"kactivitymanagerdrc"."main"."stoppedActivities" = "";
"kcminputrc"."Keyboard"."NumLock" = 0;
"kcminputrc"."Libinput/1133/49970/Logitech Gaming Mouse G502"."ScrollFactor" = 0.5;
"kcminputrc"."Libinput/1133/50504/Logitech USB Receiver Mouse"."MiddleButtonEmulation" = false;
"kcminputrc"."Libinput/1133/50504/Logitech USB Receiver Mouse"."PointerAccelerationProfile" = 1;
"kcminputrc"."Libinput/1133/50504/Logitech USB Receiver Mouse"."ScrollFactor" = 0.5;
"kcminputrc"."Libinput/1133/50504/Logitech USB Receiver Mouse"."ScrollFactor" = 0.3;
"kcminputrc"."Libinput/1267/12432/ELAN1200:00 04F3:3090 Touchpad"."ClickMethod" = 2;
"kcminputrc"."Libinput/1267/12432/ELAN1200:00 04F3:3090 Touchpad"."Enabled" = true;
"kcminputrc"."Mouse"."X11LibInputXAccelProfileFlat" = true;
@ -276,7 +273,8 @@
"kded5rc"."Module-device_automounter"."autoload" = false;
"kdeglobals"."DirSelect Dialog"."DirSelectDialog Size" = "820,584";
"kdeglobals"."General"."AllowKDEAppsToRememberWindowPositions" = true;
"kdeglobals"."KDE"."SingleClick" = true;
"kdeglobals"."General"."UseSystemBell" = true;
"kdeglobals"."KDE"."AnimationDurationFactor" = 0.35355339059327373;
"kdeglobals"."KFileDialog Settings"."Allow Expansion" = false;
"kdeglobals"."KFileDialog Settings"."Automatically select filename extension" = true;
"kdeglobals"."KFileDialog Settings"."Breadcrumb Navigation" = true;
@ -301,7 +299,7 @@
"kdeglobals"."WM"."inactiveBackground" = "239,240,241";
"kdeglobals"."WM"."inactiveBlend" = "239,240,241";
"kdeglobals"."WM"."inactiveForeground" = "112,125,138";
"krunnerrc"."Plugins"."baloosearchEnabled" = true;
"krunnerrc"."Plugins"."baloosearchEnabled" = false;
"krunnerrc"."Plugins"."browserhistoryEnabled" = false;
"krunnerrc"."Plugins"."browsertabsEnabled" = false;
"krunnerrc"."Plugins"."krunner_appstreamEnabled" = false;
@ -310,9 +308,11 @@
"krunnerrc"."Plugins"."krunner_webshortcutsEnabled" = false;
"krunnerrc"."Plugins/Favorites"."plugins" = "krunner_services";
"kscreenlockerrc"."Daemon"."Autolock" = false;
"ksmserverrc"."General"."loginMode" = "emptySession";
"ksmserverrc"."General"."loginMode" = "restoreSavedSession";
"ksmserverrc"."SubSession: 037b4336-809c-4a07-a148-9ef660a5cc9c"."count" = 0;
"ksmserverrc"."SubSession: c82192f5-3d2d-4f8d-9c58-364b4cca1b53"."count" = 0;
"ksmserverrc"."SubSession: d15629d7-eac1-4856-990c-e88d4acd7c5d"."count" = 0;
"ksmserverrc"."SubSession: df5108d4-687b-4cd3-835e-318d72116b93"."count" = 0;
"kwalletrc"."Wallet"."First Use" = false;
"kwinrc"."Desktops"."Id_1" = "e1429fd3-ee1a-43d1-a96c-3e98155ffa70";
"kwinrc"."Desktops"."Id_2" = "91da48f0-dcd0-40fa-937a-9f6a40f98a61";
@ -330,6 +330,9 @@
"kwinrc"."Desktops"."Rows" = 2;
"kwinrc"."Effect-diminactive"."Strength" = 50;
"kwinrc"."Effect-magiclamp"."AnimationDuration" = 4096;
"kwinrc"."Effect-overview"."BorderActivate" = 9;
"kwinrc"."Effect-overview"."GridBorderActivate" = 7;
"kwinrc"."Effect-shakecursor"."Magnification" = 10;
"kwinrc"."Effect-slide"."HorizontalGap" = 0;
"kwinrc"."Effect-slide"."SlideBackground" = false;
"kwinrc"."Effect-slide"."VerticalGap" = 0;
@ -363,6 +366,7 @@
"kwinrc"."Tiling/e25cd7d6-e0d8-55e7-92de-7a085da94915"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling/ece7370d-6d13-5618-ad29-14697e609bd2"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}x5d}";
"kwinrc"."Tiling/f60e4345-d01f-58c0-a5d7-07b5e48a0bdd"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":x5b{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}x5d}";
"kwinrc"."Windows"."ElectricBorders" = 1;
"kwinrc"."Windows"."HideUtilityWindowsForInactive" = false;
"kwinrc"."Windows"."RollOverDesktops" = true;
"kwinrc"."Windows"."SnapOnlyWhenOverlapping" = true;
@ -372,10 +376,6 @@
"kwinrulesrc"."096aaa12-acd7-4ed3-8682-1135d85ec9be"."aboverule" = 3;
"kwinrulesrc"."096aaa12-acd7-4ed3-8682-1135d85ec9be"."wmclasscomplete" = true;
"kwinrulesrc"."096aaa12-acd7-4ed3-8682-1135d85ec9be"."wmclassmatch" = 2;
"kwinrulesrc"."1"."Description" = "Application settings for org.kde.konsole";
"kwinrulesrc"."1"."aboverule" = 3;
"kwinrulesrc"."1"."wmclasscomplete" = true;
"kwinrulesrc"."1"."wmclassmatch" = 2;
"kwinrulesrc"."6abee73a-6ad7-4238-8e85-ae830edacafa"."Description" = "Window settings for org.kde.konsole";
"kwinrulesrc"."6abee73a-6ad7-4238-8e85-ae830edacafa"."noborder" = true;
"kwinrulesrc"."6abee73a-6ad7-4238-8e85-ae830edacafa"."noborderrule" = 3;
@ -384,8 +384,6 @@
"kwinrulesrc"."6abee73a-6ad7-4238-8e85-ae830edacafa"."wmclass" = "konsole org.kde.konsole";
"kwinrulesrc"."6abee73a-6ad7-4238-8e85-ae830edacafa"."wmclasscomplete" = true;
"kwinrulesrc"."6abee73a-6ad7-4238-8e85-ae830edacafa"."wmclassmatch" = 1;
"kwinrulesrc"."General"."count" = 1;
"kwinrulesrc"."General"."rules" = 1;
"kxkbrc"."Layout"."Options" = "terminate:ctrl_alt_bksp";
"kxkbrc"."Layout"."ResetOldOptions" = true;
"plasma-localerc"."Formats"."LANG" = "en_US.UTF-8";

View file

@ -1,89 +0,0 @@
{ inputs, pkgs, ... }:
{
imports = [
inputs.nixvim.homeManagerModules.nixvim
./language.nix
./running.nix
./shortcuts.nix
];
home.packages = [
# used by telescope find_files and file_browser
pkgs.fd
];
# adds and configures neovim using
# https://github.com/nix-community/nixvim
# todo: git, zooming in and out,
# better indentation,
# latex, competative programming, ...
# These are some misc thingies
programs.nixvim = {
enable = true;
withRuby = false;
colorschemes.onedark = {
enable = true;
settings.style = "darker";
};
clipboard = {
providers.wl-copy.enable = true;
};
opts = {
relativenumber = true;
number = true; # Display the absolute line number of the current line
expandtab = true;
autoindent = true;
shiftwidth = 4;
tabstop = 4;
};
# TODO Should be removed when upgrading from 24.05,
# see ./language.nix, plugins.lsp.inlayHints
package = (import inputs.nixos-unstable { inherit (pkgs) system; }).neovim-unwrapped;
# TODO enable performance stuff once upgrading 24.05
plugins = {
lualine.enable = true;
comment.enable = true;
nvim-autopairs.enable = true;
diffview.enable = true;
neoscroll.enable = true;
gitsigns.enable = true;
hop.enable = true;
# Does not exist yet?
# guess-indent.enable = true;
toggleterm = {
enable = true;
settings = {
direction = "horizontal";
size = 15;
};
};
telescope = {
enable = true;
extensions = {
# better selection ui, used for code actions
ui-select.enable = true;
fzf-native.enable = true;
file-browser = {
enable = true;
settings.hijack_netrw = true;
};
};
};
};
};
}

View file

@ -1,89 +0,0 @@
{ inputs, pkgs, ... }:
{
imports = [
inputs.nixvim.homeManagerModules.nixvim
./language.nix
./running.nix
./shortcuts.nix
];
home.packages = [
# used by telescope find_files and file_browser
pkgs.fd
];
# adds and configures neovim using
# https://github.com/nix-community/nixvim
# todo: git, zooming in and out,
# better indentation,
# latex, competative programming, ...
# These are some misc thingies
programs.nixvim = {
enable = true;
withRuby = false;
colorschemes.onedark = {
enable = true;
settings.style = "darker";
};
clipboard = {
providers.wl-copy.enable = true;
};
opts = {
relativenumber = true;
number = true; # Display the absolute line number of the current line
expandtab = true;
autoindent = true;
shiftwidth = 4;
tabstop = 4;
};
# TODO Should be removed when upgrading from 24.05,
# see ./language.nix, plugins.lsp.inlayHints
package = (import inputs.nixos-unstable { inherit (pkgs) system; }).neovim-unwrapped;
# TODO enable performance stuff once upgrading 24.05
plugins = {
lualine.enable = true;
comment.enable = true;
nvim-autopairs.enable = true;
diffview.enable = true;
neoscroll.enable = true;
gitsigns.enable = true;
hop.enable = true;
# Does not exist yet?
# guess-indent.enable = true;
toggleterm = {
enable = true;
settings = {
direction = "horizontal";
size = 15;
};
};
telescope = {
enable = true;
extensions = {
# better selection ui, used for code actions
ui-select.enable = true;
fzf-native.enable = true;
file-browser = {
enable = true;
settings.hijack_netrw = true;
};
};
};
};
};
}

View file

@ -1,130 +0,0 @@
{ pkgs, ... }:
{
programs.nixvim = {
# Automaticly open and close dap-ui
extraConfigLuaPost = ''
local dap, dapui = require("dap"), require("dapui")
dap.listeners.before.attach.dapui_config = dapui.open
dap.listeners.before.launch.dapui_config = dapui.open
dap.listeners.before.event_terminated.dapui_config = dapui.close
dap.listeners.before.event_exited.dapui_config = dapui.close
'';
plugins = {
competitest = {
enable = true;
settings = {
template_file.cpp = "${./cp-template.cpp}";
evaluate_template_modifiers = true;
date_format = "%Y-%m-%d %H:%M:%S";
testcases_use_single_file = true;
testcases_single_file_format = "./tests/$(FNOEXT).testcases";
compile_command.cpp = {
exec = "g++";
args = [ "-Wall" "$(FNAME)" "-o" "./bin/$(FNOEXT)" ];
};
run_command.cpp = {
exec = "./bin/$(FNOEXT)";
};
};
};
dap = {
enable = true;
extensions.dap-ui ={
enable = true;
layouts = [
{
elements = [
{ id = "breakpoints"; size = 0.25; }
{ id = "stacks"; size = 0.25; }
{ id = "watches"; size = 0.25; }
{ id = "scopes"; size = 0.25; }
];
position = "left";
size = 40;
}
{
elements = [
{ id = "repl"; size = 0.7; }
{ id = "console"; size = 0.3; }
];
position = "bottom";
size = 10;
}
];
};
signs = {
dapBreakpoint.text = " ";
dapBreakpointCondition.text = " ";
dapBreakpointRejected.text = " ";
dapLogPoint.text = " ";
dapStopped.text = " ";
};
adapters.servers = {
# Used for c++ and rust
codelldb = {
port = "\${port}";
executable = {
command = "${pkgs.vscode-extensions.vadimcn.vscode-lldb}/share/vscode/extensions/vadimcn.vscode-lldb/adapter/codelldb";
args = [ "--port" "\${port}" ];
};
};
};
configurations = let
# For all supported subsitutions see :h dap-configuration
workspace = "\${workspaceFolder}";
in {
cpp = [
{
name = "Debug cpp file";
type = "codelldb";
request = "launch";
cwd = workspace;
expressions = "native";
program = { __raw = ''
function()
local sourceFile = vim.fn.expand("%");
local resFolder = vim.fn.expand("%:h") .. "/bin/"
local exeFile = resFolder .. vim.fn.expand("%:t:r") .. ".dap";
-- The -g flag compiles with debug info
vim.system({"mkdir", resFolder}):wait();
vim.system({"g++", "-g", sourceFile, "-o", exeFile}):wait();
return exeFile;
end
''; };
}
];
rust = [
{
# Did not get this working: https://github.com/vadimcn/codelldb/blob/master/MANUAL.md#cargo-support
# So instead this follows: https://alighorab.github.io/neovim/nvim-dap/
name = "Debug cargo project";
type = "codelldb";
request = "launch";
expressions = "native";
program = { __raw = ''
function ()
os.execute("cargo build &> /dev/null")
return "target/debug/''${workspaceFolderBasename}"
end
''; };
}
];
};
};
};
};
}

View file

@ -1,89 +0,0 @@
{ lib, ... }:
{
programs.nixvim = {
globals.mapleader = " ";
keymaps =
let
normalVisual =
lib.mapAttrsToList
(key: action: {
mode = [ "n" "v" ];
inherit action key;
})
{
# show terminal
"<C-\\>" = "<cmd>ToggleTerm<CR>";
# hop!
"f" = "<cmd>HopWord<CR>";
# Setup for custom keybinds
";" = "<NOP>";
"<space>" = "<NOP>";
# Telescope
"<space>f" = "<cmd>Telescope find_files<CR>";
"<space>b" = "<cmd>Telescope buffers<CR>";
"<space>d" = "<cmd>Telescope lsp_definitions<CR>";
"<space>R" = "<cmd>Telescope lsp_references<CR>";
"<space>e" = "<cmd>Telescope file_browser<CR>";
"<space>c" = "<cmd>Telescope git_bcommits<CR>";
"<space>g" = "<cmd>Telescope git_status<CR>";
# Lsp
"<space>a" = "<cmd>lua vim.lsp.buf.code_action()<CR>";
"<space>D" = "<cmd>lua vim.lsp.buf.declaration()<CR>";
"<space>h" = "<cmd>lua vim.lsp.buf.hover()<CR>";
"<space>r" = "<cmd>lua vim.lsp.buf.rename()<CR>";
"<space>o" = "<cmd>lua vim.diagnostic.open_float()<CR>";
"<space>l" = "<cmd>lua require('lsp_lines').toggle()<CR>";
# Debugger
"<F5>" = "<cmd>lua require('dap').continue()<CR>";
"<F8>" = "<cmd>lua require('dap').terminate()<CR>";
"<F10>" = "<cmd>lua require('dap').step_over()<CR>";
"<F11>" = "<cmd>lua require('dap').step_into()<CR>";
"<F12>" = "<cmd>lua require('dap').step_out()<CR>";
";d" = "<cmd>lua require('dap').toggle_breakpoint()<CR>";
";s" = "<cmd>lua require('dap').set_breakpoint(vim.fn.input('Breakpoint condition: '))<CR>";
# Competitest
";r" = "<cmd>CompetiTest receive problem<CR>";
";t" = "<cmd>CompetiTest run<CR>";
";a" = "<cmd>CompetiTest add_testcase<CR>";
";e" = "<cmd>CompetiTest edit_testcase<CR>";
";l" = "<cmd>CompetiTest delete_testcase<CR>";
";c" = "<cmd>CompetiTest convert auto<CR>";
# resize windows with arrows
"<C-Up>" = "<cmd>resize -2<CR>";
"<C-Down>" = "<cmd>resize +2<CR>";
"<C-Left>" = "<cmd>vertical resize +2<CR>";
"<C-Right>" = "<cmd>vertical resize -2<CR>";
# TODO: make shortcuts for diffview
# or use telescope to view git stuff
};
vni =
lib.mapAttrsToList
(key: action: {
mode = [ "n" "v" "i" ];
inherit action key;
})
{
# copy, cut, paste
# TODO: why does pasting work but not copying in visual mode???
"<CS-c>" = "\\\"+y";
"<CS-x>" = "\\\"+c";
"<CS-v>" = "\\\"+p";
# saving
"<C-s>" = "<cmd>w<CR>";
};
in
normalVisual ++ vni;
};
}