From 88076292de880c2fbabb8ddf745f0f992a5e8449 Mon Sep 17 00:00:00 2001 From: biscuit Date: Tue, 27 May 2025 16:44:19 -0500 Subject: [PATCH] add git --- flake.lock | 146 +++++++++++++++++++++++++- flake.nix | 3 + pkgs/neovim/custom/dashboard.nix | 174 +++++++++++++++++++++++++++++++ pkgs/neovim/default.nix | 27 +++-- 4 files changed, 342 insertions(+), 8 deletions(-) create mode 100644 pkgs/neovim/custom/dashboard.nix diff --git a/flake.lock b/flake.lock index 226e73c..9c7744e 100644 --- a/flake.lock +++ b/flake.lock @@ -42,6 +42,27 @@ "type": "github" } }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -60,6 +81,24 @@ "type": "github" } }, + "flake-utils_2": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -80,6 +119,34 @@ "type": "github" } }, + "ixx": { + "inputs": { + "flake-utils": [ + "nixvim", + "nuschtosSearch", + "flake-utils" + ], + "nixpkgs": [ + "nixvim", + "nuschtosSearch", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1748294338, + "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "ref": "v0.0.8", + "repo": "ixx", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1747744144, @@ -112,11 +179,58 @@ "type": "github" } }, + "nixvim": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ], + "nuschtosSearch": "nuschtosSearch", + "systems": "systems_2" + }, + "locked": { + "lastModified": 1748348238, + "narHash": "sha256-etRxo4m9zbKuZbb1Tjt20mab7hc9bQGIlm+U5X4sctc=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "65b1bffd3d36e9392083c6efcf2e087921afa86e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, + "nuschtosSearch": { + "inputs": { + "flake-utils": "flake-utils", + "ixx": "ixx", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1748298102, + "narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=", + "owner": "NuschtOS", + "repo": "search", + "rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "root": { "inputs": { "ags": "ags", "home-manager": "home-manager", "nixpkgs": "nixpkgs", + "nixvim": "nixvim", "unlisted-fonts": "unlisted-fonts" } }, @@ -135,9 +249,39 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "unlisted-fonts": { "inputs": { - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "nixpkgs": "nixpkgs_2" }, "locked": { diff --git a/flake.nix b/flake.nix index d5eb27a..8c5c339 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,9 @@ ags.inputs.nixpkgs.follows = "nixpkgs"; unlisted-fonts.url = "path:./custom/unlisted-fonts/"; + + nixvim.url = "github:nix-community/nixvim"; + nixvim.inputs.nixpkgs.follows = "nixpkgs"; # monolisa.inputs.nixpkgs.follows = "nixpkgs"; }; diff --git a/pkgs/neovim/custom/dashboard.nix b/pkgs/neovim/custom/dashboard.nix new file mode 100644 index 0000000..480d83c --- /dev/null +++ b/pkgs/neovim/custom/dashboard.nix @@ -0,0 +1,174 @@ +{ + plugins = { + alpha = { + enable = true; + layout = [ + { + type = "padding"; + val = 2; + } + { + type = "text"; + val = [ + " █████ █ ██" + " ██████ ██ ████ █ █" + " ██ █ █ ██ ████ ██ ███" + " █ █ █ ██ █ █ ██ █" + " █ █ ██ █ ████ ██ ███" + " ██ ██ ██ █ ███ █ ███ █ ██ ███ ███ ███ ████ ████" + " ██ ██ ██ █ █ ███ █ ████ ██ ███ ███ ███ ████ ███ █" + " ██ ██ ██ █ █ ███ ██ ██ ██ ██ ██ ██ ████ ████" + " ██ ██ ██ █ ██ █████ ██ ██ ██ ██ ██ ██ ██" + " ██ ██ ██ █ ████████ ██ ██ ██ ██ ██ ██ ██ ██" + " █ ██ ███ ███████ ██ ██ ██ ██ ██ ██ ██ ██" + " █ ███ ██ ██ ██ ██ █ ██ ██ ██ ██" + " ████ ██ ████ █ ██████ ███████ ██ ██ ██ ██" + " █ █████ ███████ ████ █████ ███ █ ███ ███ ███" + " █ ██ █████ ███ ███ ███ ███" + " █" + " █" + " ██" + ]; + opts = { + position = "center"; + hl = "Type"; + }; + } + { + type = "padding"; + val = 4; + } + { + type = "group"; + val = [ + { + type = "button"; + val = "  New File "; + on_press.__raw = "function() vim.cmd[[ene]] end"; + opts = { + shortcut = "n"; + keymap = [ + "n" + "n" + "ene" + { + noremap = true; + silent = true; + nowait = true; + } + ]; + position = "center"; + width = 50; + align_shortcut = "right"; + hl_shortcut = "Keyword"; + }; + } + { + type = "padding"; + val = 2; + } + { + type = "button"; + val = "  Find File "; + opts = { + shortcut = "f"; + keymap = [ + "n" + "f" + "lua require('fzf-lua').files({ cwd = vim.loop.cwd() })" + { + noremap = true; + silent = true; + nowait = true; + } + ]; + position = "center"; + width = 50; + align_shortcut = "right"; + hl_shortcut = "Keyword"; + }; + } + { + type = "padding"; + val = 2; + } + { + type = "button"; + val = "  Recent Files "; + on_press.__raw = "function() require('telescope.builtin').oldfiles() end"; + opts = { + shortcut = "r"; + keymap = [ + "n" + "r" + "lua require('fzf-lua').oldfiles({ cwd = vim.loop.cwd() })" + { + noremap = true; + silent = true; + nowait = true; + } + ]; + position = "center"; + width = 50; + align_shortcut = "right"; + hl_shortcut = "Keyword"; + }; + } + { + type = "padding"; + val = 2; + } + { + type = "button"; + val = "  Find Text "; + on_press.__raw = "function() require('telescope.builtin').live_grep() end"; + opts = { + shortcut = "g"; + keymap = [ + "n" + "g" + "lua require('fzf-lua').live_grep()" + { + noremap = true; + silent = true; + nowait = true; + } + ]; + position = "center"; + width = 50; + align_shortcut = "right"; + hl_shortcut = "Keyword"; + }; + } + { + type = "padding"; + val = 2; + } + { + type = "button"; + val = "  Quit Neovim "; + on_press.__raw = "function() vim.cmd[[qa]] end"; + opts = { + shortcut = "q"; + keymap = [ + "n" + "q" + "qa" + { + noremap = true; + silent = true; + nowait = true; + } + ]; + position = "center"; + width = 50; + align_shortcut = "right"; + hl_shortcut = "Keyword"; + }; + } + ]; + } + ]; + }; + }; +} diff --git a/pkgs/neovim/default.nix b/pkgs/neovim/default.nix index 3bc0378..61f1603 100644 --- a/pkgs/neovim/default.nix +++ b/pkgs/neovim/default.nix @@ -1,4 +1,8 @@ -{pkgs, ...}: let +{ + pkgs, + inputs, + ... +}: let nvimSource = pkgs.fetchFromGitea { domain = "git.sakamoto.dev"; owner = "kenji"; @@ -7,15 +11,24 @@ sha256 = "sha256-Plo7edu9vXDDzZxyPu+traIAyHOouViU/nXNkDx+/N4="; }; in { + imports = [inputs.nixvim.homeManagerModules.default]; programs.neovim.enable = true; + programs.nixvim = { + enable = true; + colorschemes.catppuccin.enable = true; + plugins = { + lightline.enable = true; + alpha.enable = true; + }; + }; home.packages = with pkgs; [ lazygit ripgrep ]; - home.file.".config/nvim" = { - # source = /home/biscuit/Nixos/packages/nvim/nvchad; - source = nvimSource; - recursive = true; - force = true; - }; + # home.file.".config/nvim" = { + # # source = /home/biscuit/Nixos/packages/nvim/nvchad; + # source = nvimSource; + # recursive = true; + # force = true; + # }; }