1
0

3 کامیت‌ها 3160ab1e6e ... 3f47a25b23

نویسنده SHA1 پیام تاریخ
  Johan Rong 3f47a25b23 neovim? 3 هفته پیش
  Johan Rong 0db9abd434 rename folder, emacs home manager 3 هفته پیش
  Johan Rong b67247e33c add dsearch and emacs 3 هفته پیش

+ 0 - 0
home/modules/configs/alacritty.nix → home/modules/apps/alacritty.nix


+ 0 - 0
home/modules/configs/bashrc.nix → home/modules/apps/bashrc.nix


+ 5 - 0
home/modules/apps/emacs/config/emacs.el

@@ -0,0 +1,5 @@
+(modify-all-frames-parameters '((undecorated . t)))
+
+(menu-bar-mode -1)
+(tool-bar-mode -1)
+(scroll-bar-mode -1)

+ 20 - 0
home/modules/apps/emacs/default.nix

@@ -0,0 +1,20 @@
+{ pkgs, ... }:
+{
+  programs.emacs = {
+    enable = true;
+    
+    extraPackages = epkgs: with epkgs; [
+      all-the-icons-dired
+      dired-open
+      multiple-cursors
+    ];
+
+    extraConfig = builtins.readFile (./. + "/config/emacs.el");
+  };
+
+  services.emacs = {
+    enable = true;
+    socketActivation.enable = true; 
+    startWithUserSession = "graphical";
+  };
+}

+ 0 - 0
home/modules/configs/fish/default.nix → home/modules/apps/fish/default.nix


+ 0 - 0
home/modules/configs/fish/fileme/completions.fish → home/modules/apps/fish/fileme/completions.fish


+ 0 - 0
home/modules/configs/fish/fileme/function.fish → home/modules/apps/fish/fileme/function.fish


+ 38 - 0
home/modules/apps/neovim/default.nix

@@ -0,0 +1,38 @@
+{ pkgs, ... }:
+
+let
+  dired-nvim = pkgs.vimUtils.buildVimPlugin {
+    name = "dired.nvim";
+    src = pkgs.fetchFromGitHub {
+      owner = "X3eRo0";
+      repo = "dired.nvim";
+      rev = "master"; 
+      sha256 = "sha256-cPbfSoVxKlsUaiHMJ74FROL+9KnZRE4Ed+n823gc/04=";
+    };
+    dependencies = [ pkgs.vimPlugins.nui-nvim ];
+  };
+in
+{
+  xdg.configFile."nvim/lua".source = ./. + "/lua";
+
+  programs.neovim = {
+    enable = true;
+    defaultEditor = true;
+    viAlias = true;
+    vimAlias = true;
+    withNodeJs = true;
+    withPython3 = true;
+    
+    plugins = with pkgs.vimPlugins; [
+      vim-visual-multi
+      nui-nvim
+      dired-nvim
+      barbar-nvim
+      nvim-web-devicons
+    ];
+
+    extraLuaConfig = ''
+      require("neovim")
+    '';
+  };
+}

+ 2 - 0
home/modules/apps/neovim/lua/modules/keybinds.lua

@@ -0,0 +1,2 @@
+vim.keymap.set('i', '<F12>', '<Esc>', { noremap = true, silent = true })
+vim.keymap.set('i', '<Esc>', '<Nop>', { noremap = true, silent = true })

+ 3 - 0
home/modules/apps/neovim/lua/neovim.lua

@@ -0,0 +1,3 @@
+require("modules.keybinds")
+
+require("plugins.dired")

+ 0 - 0
home/modules/apps/neovim/lua/plugins/barbar.lua


+ 43 - 0
home/modules/apps/neovim/lua/plugins/dired.lua

@@ -0,0 +1,43 @@
+require("dired").setup({
+    path_separator = "/",
+    show_hidden = false,
+    show_icons = false,
+    show_banner = false,
+    hide_details = false,
+    sort_order = "name",
+    override_cwd = true,
+
+    keybinds = {
+        dired_enter = "<CR>",
+        dired_back = "-",
+        dired_up = "_",
+        dired_rename = "R",
+        dired_create = "d",
+        dired_delete = "D",
+        dired_delete_range = "D",
+        dired_copy = "C",
+        dired_copy_range = "C",
+        dired_copy_marked = "MC",
+        dired_move = "X",
+        dired_move_range = "X",
+        dired_move_marked = "MX",
+        dired_paste = "P",
+        dired_mark = "M",
+        dired_mark_range = "M",
+        dired_delete_marked = "MD",
+        dired_shell_cmd = "!",
+        dired_shell_cmd_marked = "&",
+        dired_toggle_hidden = ".",
+        dired_toggle_sort_order = ",",
+        dired_toggle_icons = "*",
+        dired_toggle_colors = "c",
+        dired_toggle_hide_details = "(",
+        dired_quit = "q",
+    },
+
+    colors = {
+        DiredDimText = { link = {}, bg = "NONE", fg = "505050", gui = "NONE" },
+        DiredDirectoryName = { link = {}, bg = "NONE", fg = "9370DB", gui = "NONE" },
+        DiredMoveFile = { link = {}, bg = "NONE", fg = "ff3399", gui = "bold" },
+    },
+})

+ 0 - 0
home/modules/apps/neovim/lua/plugins/vim-visual-multi.lua


+ 2 - 1
home/modules/desktop/hyprland/lua/modules/keybindings.lua

@@ -5,7 +5,8 @@ local terminal    = "alacritty"
 local fileManager = "dolphin"
 
 -- Example binds, see https://wiki.hypr.land/Configuring/Basics/Binds/ for more
-hl.bind(mainMod .. " + Return", hl.dsp.exec_cmd(terminal))
+hl.bind(mainMod .. " + RETURN", hl.dsp.exec_cmd(terminal))
+hl.bind(mainMod .. " + SHIFT + RETURN", hl.dsp.exec_cmd("nvim"))
 hl.bind(mainMod .. " + SHIFT + Q", hl.dsp.window.close())
 --hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch 'hl.dsp.exit()'"))
 hl.bind(mainMod .. " + P", hl.dsp.window.pseudo())

+ 4 - 0
home/modules/shells/dms-shell/default.nix

@@ -15,6 +15,10 @@ in
     ../../appearance/theme/notwaita.nix
   ];
 
+  home.packages = with pkgs; [
+    dsearch
+  ];
+
   home.file.".config/DankMaterialShell/plugin_settings.json".source = ./plugin_settings.json;
 
   programs.dank-material-shell = {

+ 2 - 2
hosts/ideapad/home/default.nix

@@ -8,7 +8,7 @@
     ../../../home/modules/desktop/hyprland
     ./hyprland.nix
 
-    ../../../home/modules/configs/alacritty.nix
-    ../../../home/modules/configs/fish
+    ../../../home/modules/apps/alacritty.nix
+    ../../../home/modules/apps/fish
   ];
 }

+ 4 - 2
hosts/nixstation/home/default.nix

@@ -7,7 +7,9 @@
     ../../../home/modules/desktop/hyprland
     ./hyprland.nix
 
-    ../../../home/modules/configs/alacritty.nix
-    ../../../home/modules/configs/fish
+    ../../../home/modules/apps/alacritty.nix
+    ../../../home/modules/apps/fish
+    ../../../home/modules/apps/emacs
+    ../../../home/modules/apps/neovim
   ];
 }

+ 2 - 2
hosts/ono/home/default.nix

@@ -7,7 +7,7 @@
     ../../../home/modules/desktop/hyprland
     ./hyprland.nix
 
-    ../../../home/modules/configs/alacritty.nix
-    ../../../home/modules/configs/fish
+    ../../../home/modules/apps/alacritty.nix
+    ../../../home/modules/apps/fish
   ];
 }