Merge remote-tracking branch 'origin/nixos' into nixos
This commit is contained in:
commit
9db80c9673
8 changed files with 220 additions and 97 deletions
34
flake.lock
34
flake.lock
|
@ -82,6 +82,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"copilot-lua": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1677479736,
|
||||||
|
"narHash": "sha256-n/SCrzzzL5WUHJk0sCXbgGusk/dQuy8DI9Pqdh+lVeQ=",
|
||||||
|
"owner": "zbirenbaum",
|
||||||
|
"repo": "copilot.lua",
|
||||||
|
"rev": "b41d4c9c7d4f5e0272bcf94061b88e244904c56f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "zbirenbaum",
|
||||||
|
"repo": "copilot.lua",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"crane": {
|
"crane": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": [
|
"flake-compat": [
|
||||||
|
@ -496,6 +512,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"lspsaga-nvim": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1677497543,
|
||||||
|
"narHash": "sha256-xFba/hXqc0qyJH9Hd9XtXteXIqjJnIgYIy8Y5l9QPQQ=",
|
||||||
|
"owner": "glepnir",
|
||||||
|
"repo": "lspsaga.nvim",
|
||||||
|
"rev": "291629b704ba8fdd0134ef4204fb118050bca363",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "glepnir",
|
||||||
|
"repo": "lspsaga.nvim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"master": {
|
"master": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1677259386,
|
"lastModified": 1677259386,
|
||||||
|
@ -813,6 +845,7 @@
|
||||||
"arkenfox-userjs": "arkenfox-userjs",
|
"arkenfox-userjs": "arkenfox-userjs",
|
||||||
"asus-touchpad-numpad-driver": "asus-touchpad-numpad-driver",
|
"asus-touchpad-numpad-driver": "asus-touchpad-numpad-driver",
|
||||||
"attic": "attic",
|
"attic": "attic",
|
||||||
|
"copilot-lua": "copilot-lua",
|
||||||
"emacs": "emacs",
|
"emacs": "emacs",
|
||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils_3",
|
||||||
"forgit-git": "forgit-git",
|
"forgit-git": "forgit-git",
|
||||||
|
@ -821,6 +854,7 @@
|
||||||
"hypr-contrib": "hypr-contrib",
|
"hypr-contrib": "hypr-contrib",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"hyprpaper": "hyprpaper",
|
"hyprpaper": "hyprpaper",
|
||||||
|
"lspsaga-nvim": "lspsaga-nvim",
|
||||||
"master": "master",
|
"master": "master",
|
||||||
"neovim": "neovim",
|
"neovim": "neovim",
|
||||||
"nil": "nil",
|
"nil": "nil",
|
||||||
|
|
10
flake.nix
10
flake.nix
|
@ -77,6 +77,16 @@
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
copilot-lua = {
|
||||||
|
url = "github:zbirenbaum/copilot.lua";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
lspsaga-nvim = {
|
||||||
|
url = "github:glepnir/lspsaga.nvim";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
attic = {
|
attic = {
|
||||||
url = "github:zhaofengli/attic";
|
url = "github:zhaofengli/attic";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
@ -48,6 +48,7 @@ in
|
||||||
grep = "rg";
|
grep = "rg";
|
||||||
rm = "rm -i";
|
rm = "rm -i";
|
||||||
mv = "mv -i";
|
mv = "mv -i";
|
||||||
|
cd = "z";
|
||||||
|
|
||||||
nixos-switch = nom-system-command "sudo nixos-rebuild switch --flake ~/.dotfiles";
|
nixos-switch = nom-system-command "sudo nixos-rebuild switch --flake ~/.dotfiles";
|
||||||
nixos-boot = nom-system-command "sudo nixos-rebuild boot --flake ~/.dotfiles";
|
nixos-boot = nom-system-command "sudo nixos-rebuild boot --flake ~/.dotfiles";
|
||||||
|
@ -137,6 +138,7 @@ in
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
fzf.enable = true;
|
fzf.enable = true;
|
||||||
|
zoxide.enable = true;
|
||||||
};
|
};
|
||||||
home = {
|
home = {
|
||||||
username = "moritz";
|
username = "moritz";
|
||||||
|
|
|
@ -15,6 +15,24 @@ in
|
||||||
home-manager.users.moritz.programs.direnv = {
|
home-manager.users.moritz.programs.direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nix-direnv.enable = true;
|
nix-direnv.enable = true;
|
||||||
|
stdlib = ''
|
||||||
|
layout_poetry() {
|
||||||
|
if [[ ! -f pyproject.toml ]]; then
|
||||||
|
log_error 'No pyproject.toml found. Use `poetry new` or `poetry init` to create one first.'
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
local VENV=$(poetry env info --path)
|
||||||
|
if [[ -z $VENV || ! -d $VENV/bin ]]; then
|
||||||
|
log_error 'No poetry virtual environment found. Use `poetry install` to create one first.'
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
export VIRTUAL_ENV=$VENV
|
||||||
|
export POETRY_ACTIVE=1
|
||||||
|
PATH_add "$VENV/bin"
|
||||||
|
}
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,12 +137,13 @@ in
|
||||||
# Emacs
|
# Emacs
|
||||||
windowrulev2 = opaque, class:^emacs$
|
windowrulev2 = opaque, class:^emacs$
|
||||||
|
|
||||||
|
|
||||||
# Fullscreen Applications
|
# Fullscreen Applications
|
||||||
# ${mkRules ["opaque" "noblur" "noborder" "noshadow" "forceinput"] ["fullscreen:1"]}
|
${mkRules ["opaque" "noblur" "noborder" "noshadow" "forceinput"] ["fullscreen:1"]}
|
||||||
|
|
||||||
${mkRules ["opaque" "noblur" "noshadow"] ["class:^jetbrains-pycharm$"]}
|
${mkRules ["opaque" "noblur" "noshadow"] ["class:^jetbrains-pycharm$"]}
|
||||||
|
|
||||||
|
${mkRules ["tile" "opaque"] ["class:^neovide$"]}
|
||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
$mainMod = SUPER
|
$mainMod = SUPER
|
||||||
$windowMod = ALT
|
$windowMod = ALT
|
||||||
|
|
|
@ -8,26 +8,6 @@
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.my.programs.vim;
|
cfg = config.my.programs.vim;
|
||||||
|
|
||||||
mkDate = longDate: (lib.concatStringsSep "-" [
|
|
||||||
(builtins.substring 0 4 longDate)
|
|
||||||
(builtins.substring 4 2 longDate)
|
|
||||||
(builtins.substring 6 2 longDate)
|
|
||||||
]);
|
|
||||||
|
|
||||||
mkVersionInput = input: mkDate (input.lastModifiedDate or "19700101") + "_" + (input.shortRev or "dirty");
|
|
||||||
|
|
||||||
nvim-treesitter-textsubjects = pkgs.vimUtils.buildVimPluginFrom2Nix {
|
|
||||||
pname = "nvim-treesitter-textsubjects";
|
|
||||||
version = mkVersionInput inputs.nvim-treesitter-textsubjects;
|
|
||||||
src = inputs.nvim-treesitter-textsubjects;
|
|
||||||
};
|
|
||||||
|
|
||||||
smartcolumn-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix {
|
|
||||||
pname = "smartcolumn-nvim";
|
|
||||||
version = mkVersionInput inputs.smartcolumn-nvim;
|
|
||||||
src = inputs.smartcolumn-nvim;
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.my.programs.vim = {
|
options.my.programs.vim = {
|
||||||
|
@ -39,63 +19,78 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.moritz.programs.neovim = {
|
home-manager.users.moritz = {
|
||||||
enable = true;
|
home.packages = with pkgs; [
|
||||||
package = pkgs.neovim-nightly;
|
(
|
||||||
vimAlias = true;
|
if config.my.programs.hyprland.enable
|
||||||
vimdiffAlias = true;
|
then neovide-hyprland
|
||||||
withNodeJs = true;
|
else neovide
|
||||||
withPython3 = true;
|
)
|
||||||
extraLuaConfig = builtins.readFile ./init.lua;
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
alejandra
|
|
||||||
black
|
|
||||||
isort
|
|
||||||
nil
|
|
||||||
nixpkgs-fmt
|
|
||||||
rustfmt
|
|
||||||
shfmt
|
|
||||||
stylua
|
|
||||||
sumneko-lua-language-server
|
|
||||||
taplo
|
|
||||||
yamlfmt
|
|
||||||
];
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
|
||||||
catppuccin-nvim
|
|
||||||
cmp-nvim-lsp
|
|
||||||
cmp_luasnip
|
|
||||||
comment-nvim
|
|
||||||
copilot-cmp
|
|
||||||
copilot-lua
|
|
||||||
dashboard-nvim
|
|
||||||
formatter-nvim
|
|
||||||
gitsigns-nvim
|
|
||||||
lsp_lines-nvim
|
|
||||||
lspkind-nvim
|
|
||||||
lualine-lsp-progress
|
|
||||||
lualine-nvim
|
|
||||||
luasnip
|
|
||||||
neogit
|
|
||||||
noice-nvim
|
|
||||||
nui-nvim # for noice-nvim
|
|
||||||
nvim-autopairs
|
|
||||||
nvim-cmp
|
|
||||||
nvim-lastplace
|
|
||||||
nvim-lspconfig
|
|
||||||
nvim-surround
|
|
||||||
nvim-tree-lua
|
|
||||||
nvim-treesitter-textsubjects
|
|
||||||
nvim-treesitter.withAllGrammars
|
|
||||||
nvim-ts-context-commentstring
|
|
||||||
nvim-web-devicons # for dashboard-nvim
|
|
||||||
orgmode
|
|
||||||
plenary-nvim # for telescope, neogit
|
|
||||||
smartcolumn-nvim
|
|
||||||
telescope-fzf-native-nvim
|
|
||||||
telescope-nvim
|
|
||||||
vim-lion
|
|
||||||
which-key-nvim
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.neovim-nightly;
|
||||||
|
vimAlias = true;
|
||||||
|
vimdiffAlias = true;
|
||||||
|
withNodeJs = true;
|
||||||
|
withPython3 = true;
|
||||||
|
extraLuaConfig = builtins.readFile ./init.lua;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
alejandra
|
||||||
|
black
|
||||||
|
isort
|
||||||
|
jq
|
||||||
|
nil
|
||||||
|
nixpkgs-fmt
|
||||||
|
rustfmt
|
||||||
|
shfmt
|
||||||
|
stylua
|
||||||
|
sumneko-lua-language-server
|
||||||
|
taplo
|
||||||
|
yamlfmt
|
||||||
|
];
|
||||||
|
plugins = with pkgs.vimPlugins; [
|
||||||
|
catppuccin-nvim
|
||||||
|
cmp-nvim-lsp
|
||||||
|
cmp_luasnip
|
||||||
|
comment-nvim
|
||||||
|
copilot-cmp
|
||||||
|
copilot-lua
|
||||||
|
dashboard-nvim
|
||||||
|
direnv-vim
|
||||||
|
formatter-nvim
|
||||||
|
gitsigns-nvim
|
||||||
|
lsp_lines-nvim
|
||||||
|
lspkind-nvim
|
||||||
|
lspsaga-nvim-original
|
||||||
|
lualine-lsp-progress
|
||||||
|
lualine-nvim
|
||||||
|
luasnip
|
||||||
|
neogit
|
||||||
|
noice-nvim
|
||||||
|
nui-nvim # for noice-nvim
|
||||||
|
nvim-autopairs
|
||||||
|
nvim-cmp
|
||||||
|
nvim-lastplace
|
||||||
|
nvim-lspconfig
|
||||||
|
nvim-surround
|
||||||
|
nvim-tree-lua
|
||||||
|
nvim-treesitter-textsubjects
|
||||||
|
nvim-treesitter.withAllGrammars
|
||||||
|
nvim-ts-context-commentstring
|
||||||
|
nvim-web-devicons # for dashboard-nvim
|
||||||
|
orgmode
|
||||||
|
plenary-nvim # for telescope, neogit
|
||||||
|
popup-nvim
|
||||||
|
smartcolumn-nvim
|
||||||
|
telescope-fzf-native-nvim
|
||||||
|
telescope-nvim
|
||||||
|
telescope-zoxide
|
||||||
|
vim-lion
|
||||||
|
which-key-nvim
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,6 @@ vim.opt.backupdir = { vim.fn.stdpath("state") .. "/nvim/backup//" } -- don't sto
|
||||||
vim.opt.clipboard = "unnamedplus" -- sync with system clipboard
|
vim.opt.clipboard = "unnamedplus" -- sync with system clipboard
|
||||||
vim.opt.conceallevel = 2
|
vim.opt.conceallevel = 2
|
||||||
vim.opt.expandtab = true -- spaces instead of tabs
|
vim.opt.expandtab = true -- spaces instead of tabs
|
||||||
vim.opt.guifont = "Fira Code Nerd Font:h1"
|
|
||||||
vim.opt.ignorecase = true
|
vim.opt.ignorecase = true
|
||||||
vim.opt.mouse = "a" -- mouse for all modes
|
vim.opt.mouse = "a" -- mouse for all modes
|
||||||
vim.opt.number = true
|
vim.opt.number = true
|
||||||
|
@ -33,6 +32,11 @@ vim.opt.updatetime = 300
|
||||||
vim.opt_local.spell = true
|
vim.opt_local.spell = true
|
||||||
vim.opt_local.spelllang = { "en", "de_20" } -- all English regions and new German spelling
|
vim.opt_local.spelllang = { "en", "de_20" } -- all English regions and new German spelling
|
||||||
|
|
||||||
|
if vim.g.neovide then
|
||||||
|
vim.opt.guifont = "Fira Code Nerd Font:h10"
|
||||||
|
vim.g.neovide_scale_factor = 0.7
|
||||||
|
end
|
||||||
|
|
||||||
require("catppuccin").setup({
|
require("catppuccin").setup({
|
||||||
compile_path = vim.fn.stdpath("cache") .. "/catppuccin", -- fix issue of writing to nix store
|
compile_path = vim.fn.stdpath("cache") .. "/catppuccin", -- fix issue of writing to nix store
|
||||||
integrations = {
|
integrations = {
|
||||||
|
@ -67,10 +71,13 @@ require("noice").setup({
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
require("telescope").load_extension("zoxide")
|
||||||
wk.register({
|
wk.register({
|
||||||
f = {
|
f = {
|
||||||
name = "find",
|
name = "find",
|
||||||
f = { "<cmd>Telescope find_files<cr>", "find file" },
|
f = { "<cmd>Telescope find_files<cr>", "find file" },
|
||||||
|
z = { "<cmd>Telescope zoxide list<cr>", "find location" },
|
||||||
|
l = { "<cmd>Telescope current_buffer_fuzzy_find<cr>", "find line" },
|
||||||
g = { "<cmd>Telescope live_grep<cr>", "live grep" },
|
g = { "<cmd>Telescope live_grep<cr>", "live grep" },
|
||||||
b = { "<cmd>Telescope buffers<cr>", "find buffer" },
|
b = { "<cmd>Telescope buffers<cr>", "find buffer" },
|
||||||
},
|
},
|
||||||
|
@ -186,11 +193,10 @@ require("formatter").setup({
|
||||||
log_level = vim.log.levels.WARN,
|
log_level = vim.log.levels.WARN,
|
||||||
-- All formatter configurations are opt-in
|
-- All formatter configurations are opt-in
|
||||||
filetype = {
|
filetype = {
|
||||||
-- Formatter configurations for filetype "lua" go here
|
json = {
|
||||||
-- and will be executed in order
|
require("formatter.filetypes.json").jq,
|
||||||
|
},
|
||||||
lua = {
|
lua = {
|
||||||
-- "formatter.filetypes.lua" defines default configurations for the
|
|
||||||
-- "lua" filetype
|
|
||||||
require("formatter.filetypes.lua").stylua,
|
require("formatter.filetypes.lua").stylua,
|
||||||
},
|
},
|
||||||
nix = {
|
nix = {
|
||||||
|
@ -259,18 +265,25 @@ vim.diagnostic.config({
|
||||||
-- The nvim-cmp almost supports LSP's capabilities so You should advertise it to LSP servers..
|
-- The nvim-cmp almost supports LSP's capabilities so You should advertise it to LSP servers..
|
||||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||||
|
|
||||||
|
require("lspsaga").setup({
|
||||||
|
symbol_in_winbar = {
|
||||||
|
enable = false,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
local lspconfig = require("lspconfig")
|
local lspconfig = require("lspconfig")
|
||||||
local on_attach_def = function(_, bufnr)
|
local on_attach_def = function(_, bufnr)
|
||||||
wk.register({
|
wk.register({
|
||||||
K = { vim.lsp.buf.hover, "show info" },
|
K = { "<cmd>Lspsaga hover_doc ++quiet<cr>", "show info" },
|
||||||
["<leader>"] = {
|
["<leader>"] = {
|
||||||
l = {
|
l = {
|
||||||
name = "lsp",
|
name = "lsp",
|
||||||
d = { vim.diagnostic.open_float, "open diagnostic window" },
|
d = { "<cmd>Lspsaga show_cursor_diagnostics<cr>", "open diagnostic window" },
|
||||||
n = { vim.diagnostic.goto_next, "next error" },
|
n = { "<cmd>Lspsaga diagnostic_jump_next<CR>", "next error" },
|
||||||
p = { vim.diagnostic.goto_prev, "prev error" },
|
p = { "<cmd>Lspsaga diagnostic_jump_prev<CR>", "prev error" },
|
||||||
c = { vim.lsp.buf.code_action, "code action" },
|
c = { "<cmd>Lspsaga code_action<cr>", "code action" },
|
||||||
r = { vim.lsp.buf.rename, "rename" },
|
r = { "<cmd>Lspsaga rename<cr>", "rename" },
|
||||||
|
i = { "<cmd>Lspsaga hover_doc ++keep<cr>", "show info (sticky)" },
|
||||||
f = {
|
f = {
|
||||||
function()
|
function()
|
||||||
vim.lsp.buf.format({ async = true })
|
vim.lsp.buf.format({ async = true })
|
||||||
|
@ -297,11 +310,9 @@ local on_attach_def = function(_, bufnr)
|
||||||
},
|
},
|
||||||
g = {
|
g = {
|
||||||
name = "goto",
|
name = "goto",
|
||||||
r = { vim.lsp.buf.references, "references" },
|
d = { "<cmd>Lspsaga peek_definition<cr>", "definition" },
|
||||||
d = { vim.lsp.buf.definition, "definition" },
|
t = { "<cmd>Lspsaga peek_type_definition<cr>", "type defininition" },
|
||||||
D = { vim.lsp.buf.declaration, "declaration" },
|
h = { "<cmd>Lspsaga lsp_finder<CR>", "lsp finder" },
|
||||||
i = { vim.lsp.buf.implementation, "implementation" },
|
|
||||||
t = { vim.lsp.buf.type_definition, "type defininition" },
|
|
||||||
},
|
},
|
||||||
}, { buffer = bufnr, silent = true })
|
}, { buffer = bufnr, silent = true })
|
||||||
end
|
end
|
||||||
|
@ -323,7 +334,7 @@ local function lspconfig_setup(lsp, options)
|
||||||
lspconfig[lsp].setup(final_options)
|
lspconfig[lsp].setup(final_options)
|
||||||
end
|
end
|
||||||
|
|
||||||
local servers = { "nil_ls", "pylsp", "rust_analyzer" }
|
local servers = { "nil_ls", "pylsp", "rust_analyzer", "ruff_lsp" }
|
||||||
for _, lsp in ipairs(servers) do
|
for _, lsp in ipairs(servers) do
|
||||||
lspconfig_setup(lsp, {})
|
lspconfig_setup(lsp, {})
|
||||||
end
|
end
|
||||||
|
@ -360,7 +371,7 @@ lspconfig_setup("lua_ls", {
|
||||||
require("dashboard").setup({
|
require("dashboard").setup({
|
||||||
theme = "hyper",
|
theme = "hyper",
|
||||||
config = {
|
config = {
|
||||||
packages = { enable = true },
|
packages = { enable = false },
|
||||||
week_header = {
|
week_header = {
|
||||||
enable = true,
|
enable = true,
|
||||||
},
|
},
|
||||||
|
@ -434,6 +445,10 @@ require("copilot").setup({
|
||||||
suggestion = { enabled = false },
|
suggestion = { enabled = false },
|
||||||
panel = { enabled = false },
|
panel = { enabled = false },
|
||||||
})
|
})
|
||||||
|
vim.api.nvim_create_autocmd("VimEnter", {
|
||||||
|
desc = "Disable Copilot by default on startup",
|
||||||
|
command = "Copilot disable",
|
||||||
|
})
|
||||||
require("copilot_cmp").setup()
|
require("copilot_cmp").setup()
|
||||||
|
|
||||||
local orgmode = require("orgmode")
|
local orgmode = require("orgmode")
|
||||||
|
@ -478,4 +493,5 @@ wk.register({
|
||||||
|
|
||||||
require("smartcolumn").setup({
|
require("smartcolumn").setup({
|
||||||
colorcolumn = 120,
|
colorcolumn = 120,
|
||||||
|
disabled_filetypes = { "help", "text", "markdown", "dashboard" },
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,4 +1,14 @@
|
||||||
{ inputs }: final: prev: {
|
{ inputs }: final: prev:
|
||||||
|
let
|
||||||
|
mkDate = longDate: (prev.lib.concatStringsSep "-" [
|
||||||
|
(builtins.substring 0 4 longDate)
|
||||||
|
(builtins.substring 4 2 longDate)
|
||||||
|
(builtins.substring 6 2 longDate)
|
||||||
|
]);
|
||||||
|
mkVersionSrc = src: "unstable-" + builtins.substring 0 7 src.rev;
|
||||||
|
mkVersionInput = input: "unstable-" + mkDate (input.lastModifiedDate or "19700101") + "_" + (input.shortRev or "dirty");
|
||||||
|
in
|
||||||
|
{
|
||||||
agenix = inputs.agenix.packages.${prev.system}.default;
|
agenix = inputs.agenix.packages.${prev.system}.default;
|
||||||
attic = inputs.attic.packages.${prev.system}.default;
|
attic = inputs.attic.packages.${prev.system}.default;
|
||||||
hyprpaper = inputs.hyprpaper.packages.${prev.system}.default;
|
hyprpaper = inputs.hyprpaper.packages.${prev.system}.default;
|
||||||
|
@ -23,6 +33,43 @@
|
||||||
mesonFlags = old.mesonFlags or [ ] ++ [ "-Dexperimental=true" ];
|
mesonFlags = old.mesonFlags or [ ] ++ [ "-Dexperimental=true" ];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
vimPlugins = prev.vimPlugins // {
|
||||||
|
nvim-treesitter-textsubjects = prev.vimUtils.buildVimPluginFrom2Nix {
|
||||||
|
pname = "nvim-treesitter-textsubjects";
|
||||||
|
version = mkVersionInput inputs.nvim-treesitter-textsubjects;
|
||||||
|
src = inputs.nvim-treesitter-textsubjects;
|
||||||
|
};
|
||||||
|
|
||||||
|
smartcolumn-nvim = prev.vimUtils.buildVimPluginFrom2Nix {
|
||||||
|
pname = "smartcolumn-nvim";
|
||||||
|
version = mkVersionInput inputs.smartcolumn-nvim;
|
||||||
|
src = inputs.smartcolumn-nvim;
|
||||||
|
};
|
||||||
|
|
||||||
|
copilot-lua = prev.vimPlugins.copilot-lua.overrideAttrs (old: {
|
||||||
|
version = mkVersionInput inputs.copilot-lua;
|
||||||
|
src = inputs.copilot-lua;
|
||||||
|
});
|
||||||
|
|
||||||
|
lspsaga-nvim-original = prev.vimPlugins.lspsaga-nvim-original.overrideAttrs (old: {
|
||||||
|
version = mkVersionInput inputs.lspsaga-nvim;
|
||||||
|
src = inputs.lspsaga-nvim;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
neovide-hyprland = final.symlinkJoin {
|
||||||
|
name = "neovide-hyprland-${final.neovide.version}";
|
||||||
|
paths = [ final.neovide ];
|
||||||
|
nativeBuildInputs = [ final.makeWrapper ];
|
||||||
|
postBuild = ''
|
||||||
|
rm $out/bin/neovide
|
||||||
|
makeWrapper ${final.neovide}/bin/neovide $out/bin/neovide --set WINIT_UNIX_BACKEND x11
|
||||||
|
'';
|
||||||
|
meta = final.neovide.meta // {
|
||||||
|
mainProgram = "neovide";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
master = import inputs.master {
|
master = import inputs.master {
|
||||||
inherit (prev) system;
|
inherit (prev) system;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
|
|
Loading…
Reference in a new issue