Compare commits

..

21 Commits

Author SHA1 Message Date
62ccc18181 Revert "fix(stylix): Move vencord target to stylix"
This reverts commit 81d59b7cfd.
2025-12-21 00:57:53 +01:00
d175858293 Revert "fix(stylix): Move rofi target to stylix"
This reverts commit e8c5df1a80.
2025-12-21 00:57:03 +01:00
eb51057ac9 Revert "fix(vesktop): Make vesktop splash colors static"
This reverts commit f670c0720c.
2025-12-21 00:56:52 +01:00
e15e64a1f9 feat(stylix): Move stylix to home/demenik.nix 2025-12-21 00:56:42 +01:00
f670c0720c fix(vesktop): Make vesktop splash colors static 2025-12-21 00:51:33 +01:00
e8c5df1a80 fix(stylix): Move rofi target to stylix 2025-12-21 00:49:29 +01:00
81d59b7cfd fix(stylix): Move vencord target to stylix 2025-12-21 00:48:45 +01:00
d6aac89d5d fix(flake): Replace old /home/headless.nix modules 2025-12-21 00:45:40 +01:00
a1c4fcbf1d fix(flake): Use inherit system 2025-12-21 00:43:01 +01:00
3349c8ecad feat(git): Use builtin include option and add gitea instance 2025-12-21 00:29:33 +01:00
f588b7d389 feat(zsh): Add gitea remote icon 2025-12-21 00:29:04 +01:00
demenik
e7b6b488d9 fix(fs): Use fmask=0077, dmask=0077 2025-12-20 15:03:08 +01:00
demenik
28a1a1db4b feat(nvim): Modify nvim-tree 2025-12-17 16:54:01 +01:00
demenik
d5e461524b fix(nvim): Remove unused twilight plugin 2025-12-17 15:32:04 +01:00
demenik
8f6e8a7a14 refactor(nvim): Use NvimTreeToggle instead of lua api, Move gitsigns require to each bind 2025-12-17 15:31:50 +01:00
demenik
80702d6076 fix(nvim): Undo removing vim.g 2025-12-17 13:21:20 +01:00
demenik
5859d26c6c fix(nvim): Remove unused incline import 2025-12-17 13:18:04 +01:00
demenik
451a70d3c7 feat(nvim): Add snacks.profiler 2025-12-17 13:17:39 +01:00
demenik
ce8eddeadf refactor(nvim): Remove builds.nix 2025-12-17 13:17:30 +01:00
demenik
3af9c66290 fix(nvim): Change plugins.snacks.dashboard to plugins.snacks.settings.dashboard 2025-12-17 12:29:36 +01:00
demenik
210ce6236c refactor(nvim): Change snacks/dashboard.nix to also host the extraConfig 2025-12-17 12:28:31 +01:00
18 changed files with 200 additions and 184 deletions

View File

@@ -45,7 +45,6 @@
nixpkgs,
home-manager,
agenix,
stylix,
nixos-wsl,
statusbar,
...
@@ -98,9 +97,6 @@
agenix.homeManagerModules.default
./secrets
stylix.homeModules.stylix
./home/stylix
];
};
@@ -117,9 +113,6 @@
agenix.homeManagerModules.default
./secrets
stylix.homeModules.stylix
./home/stylix
];
};
@@ -147,7 +140,7 @@
modules ? [],
}:
home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {hostPlatform = system;};
pkgs = import nixpkgs {inherit system;};
inherit modules;
extraSpecialArgs = {inherit inputs stateVersion user dotsDir;};
};
@@ -156,13 +149,13 @@
user = "nix";
dotsDir = "/home/homelab-dots";
modules = [
./home/headless.nix
./home/demenik.nix
];
};
"db56@wsl50" = mkHomeConfig {
user = "db56";
modules = [
./home/headless.nix
./home/demenik.nix
];
};
};

View File

@@ -1,4 +1,8 @@
{pkgs, ...}: {
{
pkgs,
inputs,
...
}: {
imports = [
./global.nix
./xdg-desktop.nix
@@ -16,6 +20,9 @@
./editors/nvim
./editors/intellij.nix
./editors/godot.nix
inputs.stylix.homeModules.stylix
./stylix
];
home.file.".face" = {

View File

@@ -1,56 +0,0 @@
pkgs: let
build = {
version,
owner,
name,
rev,
hash,
}:
pkgs.vimUtils.buildVimPlugin {
pname = name;
inherit version;
src = pkgs.fetchFromGitHub {
repo = name;
inherit owner rev;
sha256 = hash;
};
};
in {
# INFO: Last update: 18. Aug. 2025 | Sort latest -> oldest
# https://github.com/SCJangra/table-nvim
table-nvim = build {
version = "27-09-2024";
owner = "SCJangra";
name = "table-nvim";
rev = "c044fd37169eb10376962b0d0cec5f94d58ca626";
hash = "1ygn4bvnpbd49gcgbkh0cdj3p75jsmwi87hby78w0fd22205pvmi";
};
# https://github.com/michaelrommel/nvim-silicon
silicon = build {
version = "09-01-2025";
owner = "michaelrommel";
name = "nvim-silicon";
rev = "7f66bda8f60c97a5bf4b37e5b8acb0e829ae3c32";
hash = "1zk6lgghvdcys20cqvh2g1kjf661q1w97niq5nx1zz4yppy2f9jy";
};
# https://github.com/b0o/incline.nvim
incline = build {
version = "05-06-2025";
owner = "b0o";
name = "incline.nvim";
rev = "0fd2d5a27504dba7fdc507a53275f22c081fe640";
hash = "19x35z2sj3hl3icrxzbs67xhxgq9d237vhgzqrz8ppdc74p8wgaz";
};
# https://github.com/Aasim-A/scrollEOF.nvim
scrollEOF = build {
version = "31-05-2025";
owner = "Aasim-A";
name = "scrollEOF.nvim";
rev = "2575109749b4bf3a0bf979a17947b3c1e8c5137e";
hash = "1s66v9n0arg81wgw1z8iv9s304j78cd506z522avpc88d3ji4yl4";
};
}

View File

@@ -1,5 +1,3 @@
require("incline").setup {}
-- vim_current_word
vim.cmd [[
hi CurrentWord guifg=#cba6f7

View File

@@ -1,10 +1,17 @@
{pkgs, ...}: {
extraPlugins = let
builds = import ../builds.nix pkgs;
scrollEOF = pkgs.vimUtils.buildVimPlugin {
pname = "scrollEOF.nvim";
version = "09-14-2025";
src = pkgs.fetchFromGitHub {
owner = "Aasim-A";
repo = "scrollEOF.nvim";
rev = "e462b9a07b8166c3e8011f1dcbc6bf68b67cd8d7";
hash = "sha256-y7yOCRSGTtQcFyWVkGe3xQqstHZMQKayxtqkOVlZ4PM=";
};
};
in
with builds;
with pkgs.vimPlugins; [
incline
scrollEOF
vim-hexokinase

View File

@@ -23,14 +23,28 @@
};
rainbow-delimiters.enable = true;
twilight.enable = true;
nvim-tree = {
enable = true;
settings = {
hijack_cursor = true;
view.width = {
min = 30;
max = -1;
};
renderer = {
group_empty = true;
icons = {
show.modified = true;
glyphs.modified = "";
};
indent_markers.enable = true;
};
modified = {
enable = true;
show_on_dirs = false;
};
update_focused_file.enable = true;
};
};
};

View File

@@ -1,6 +1,5 @@
{
enable = true;
settings = {
numhl = true;
current_line_blame = true;

View File

@@ -1,4 +1,4 @@
{pkgs, ...}: {
{
plugins = {
markdown-preview = {
enable = true;
@@ -16,8 +16,4 @@
};
};
};
extraPlugins = let
builds = import ../../builds.nix pkgs;
in [builds.table-nvim];
}

View File

@@ -6,7 +6,7 @@
./fzf-lua.nix
./grug-far.nix
./presence.nix
./silicon.nix
# ./silicon.nix
./todo-comments.nix
./debugging.nix
./snacks

View File

@@ -1,6 +1,23 @@
{pkgs, ...}: let
theme = "Catppuccin";
font = "JetBrainsMono Nerd Font=32;Noto Color Emoji=34";
silicon-nvim = pkgs.vimUtils.buildVimPlugin {
pname = "silicon.nvim";
version = "12-03-2024";
src = pkgs.fetchFromGitHub {
owner = "krivahtoo";
repo = "silicon.nvim";
rev = "d8a6852b7158cc98f44ab12a0811ccf7d111dc71";
hash = "sha256-3ABUsfJpb6RO6AiuuSL5gwDofJIwC5tlEMzBrlY9/s0=";
};
};
theme =
pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "sublime-text";
rev = "3d8625d937d89869476e94bc100192aa220ce44a";
hash = "sha256-3ABUsfJpb6RO6AiuuSL5gwDofJIwC5tlEMzBrlY9/s0=";
}
+ "/Mocha.tmTheme";
font = "JetBrainsMono Nerd Font=16;Noto Color Emoji=16";
in {
extraPackages = with pkgs; [
silicon
@@ -8,17 +25,18 @@ in {
noto-fonts-color-emoji
];
extraPlugins = let
builds = import ../builds.nix pkgs;
in
with builds; [silicon];
extraPlugins = [silicon-nvim];
extraConfigLua = ''
require 'nvim-silicon'.setup {
font = '${font}',
theme = '${theme}',
no_line_number = true,
no_window_controls = true,
extraConfigLua =
# lua
''
require("silicon").setup {
font = "${font}",
theme = "${theme}",
window_controls = false,
output = {
path = "~/Downloads",
},
}
'';
}

View File

@@ -1,4 +1,5 @@
let
{
plugins.snacks.settings.dashboard = let
themes = import ./themes.nix;
theme = themes.dg_baby;
in {
@@ -50,4 +51,33 @@ in {
align = "center";
}
];
};
extraConfigLua =
# lua
''
local prev = { new_name = "", old_name = "" } -- Prevents duplicate events
vim.api.nvim_create_autocmd("User", {
pattern = "NvimTreeSetup",
callback = function()
local events = require("nvim-tree.api").events
events.subscribe(events.Event.NodeRenamed, function(data)
if prev.new_name ~= data.new_name or prev.old_name ~= data.old_name then
data = data
Snacks.rename.on_rename_file(data.old_name, data.new_name)
end
end)
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "SnacksDashboardOpened",
callback = function()
if vim.bo.filetype == "snacks_dashboard" then
vim.b.minitrailspace_disable = true
vim.b.miniindentscope_disable = true
end
end,
})
'';
}

View File

@@ -1,4 +1,6 @@
{
imports = [./dashboard.nix];
plugins.snacks = {
enable = true;
settings = {
@@ -11,35 +13,18 @@
image.enabled = true;
quickfile.enabled = true;
rename.enabled = true;
dashboard = import ./dashboard.nix;
};
};
extraConfigLua =
extraConfigLuaPre =
# lua
''
local prev = { new_name = "", old_name = "" } -- Prevents duplicate events
vim.api.nvim_create_autocmd("User", {
pattern = "NvimTreeSetup",
callback = function()
local events = require("nvim-tree.api").events
events.subscribe(events.Event.NodeRenamed, function(data)
if prev.new_name ~= data.new_name or prev.old_name ~= data.old_name then
data = data
Snacks.rename.on_rename_file(data.old_name, data.new_name)
if vim.env.PROF then
require("snacks.profiler").startup {
startup = {
event = "VimEnter",
},
}
end
end)
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "SnacksDashboardOpened",
callback = function()
if vim.bo.filetype == "snacks_dashboard" then
vim.b.minitrailspace_disable = true
vim.b.miniindentscope_disable = true
end
end,
})
'';
}

View File

@@ -1,5 +1,4 @@
local wk = require "which-key"
local gitsigns = require "gitsigns"
local Terminal = require("toggleterm.terminal").Terminal
local set_key = {
@@ -14,7 +13,7 @@ local set_key = {
}
wk.add {
set_key.cmd("e", require("nvim-tree.api").tree.toggle, "Files"),
set_key.cmd("e", "NvimTreeToggle", "Files"),
set_key.cmd("w", "w!", "Write buffer"),
set_key.cmd("n", "ene | startinsert", "New buffer"),
set_key.cmd("d", function()
@@ -29,7 +28,7 @@ wk.add {
set_key.git_signs = function(key, action, desc)
return set_key.cmd("g" .. key, function()
gitsigns[action]()
require("gitsigns")[action]()
end, desc)
end
@@ -64,14 +63,14 @@ wk.add {
set_key.git_signs("hv", "preview_hunk", "Preview"),
set_key.git_signs("hu", "undo_stage_hunk", "Undo Stage"),
set_key.cmd("ghn", function()
gitsigns.nav_hunk "next"
require("gitsigns").nav_hunk "next"
end, "Next"),
set_key.cmd("ghp", function()
gitsigns.nav_hunk "prev"
require("gitsigns").nav_hunk "prev"
end, "Previous"),
set_key.git_signs("hd", "diffthis", "Diff this"),
set_key.cmd("ghD", function()
gitsigns.diffthis "~"
require("gitsigns").diffthis "~"
end, "Diff this"),
}
@@ -172,9 +171,9 @@ wk.add {
set_key.cmd("mv", "MarkdownPreviewToggle", "Browser preview"),
--- Snap (Silicon) --
{ "<leader>S", group = "Snap(Silicon)" },
set_key.cmd("Ss", require("silicon").file, "Save as file"),
set_key.cmd("Sc", require("silicon").clip, "Copy to clipboard"),
-- { "<leader>S", group = "Snap(Silicon)" },
-- set_key.cmd("Ss", require("silicon").file, "Save as file"),
-- set_key.cmd("Sc", require("silicon").clip, "Copy to clipboard"),
--- Latex (Vimtex) --
{ "<leader>L", group = "Latex" },

View File

@@ -24,6 +24,7 @@
url = {
"ssh://git@gitlab.uni-ulm.de".insteadOf = "https://gitlab.uni-ulm.de";
"ssh://git@github.com".insteadOf = "https://github.com";
"ssh://git@gitea.demenik.dev".insteadOf = "https://gitea.demenik.dev";
};
user = {
@@ -32,16 +33,34 @@
signingkey = "${config.home.homeDirectory}/.ssh/id_rsa";
};
"includeIf \"hasconfig:remote.*.url:git@gitlab.uni-ulm.de:*/**\"" = {
path = "${pkgs.writeText ".gitconfig-gitlab.uni-ulm.de" ''
[user]
email = "dominik.bernroider@uni-ulm.de"
name = "Dominik Bernroider"
''}";
};
init.defaultBranch = "main";
};
includes = let
mkRemoteSsh = {
user ? "git",
url,
config,
}: {
condition = "hasconfig:remote.*.url:${user}@${url}:*/**";
path = "${pkgs.writeText "gitconfig-${url}" (pkgs.lib.generators.toGitINI config)}";
};
in [
(mkRemoteSsh {
url = "gitlab.uni-ulm.de";
config.user = {
email = "dominik.bernroider@uni-ulm.de";
name = "Dominik Bernroider";
};
})
(mkRemoteSsh {
url = "gitea.demenik.dev";
config.user = {
email = "mail@demenik.dev";
name = "demenik";
};
})
];
};
gpg.enable = true;
};

View File

@@ -27,6 +27,10 @@
user = "git";
identitiesOnly = true;
};
"lg" = {
hostname = "192.168.178.160";
user = "root";
};
};
};
}

View File

@@ -57,6 +57,9 @@ final_space = true
fetch_upstream_icon = true
fetch_status = true
[blocks.segments.properties.upstream_icons]
"gitea.demenik.dev" = ""
[[blocks]]
type = 'prompt'
alignment = 'left'

View File

@@ -19,7 +19,7 @@
fileSystems."/boot" = {
device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat";
options = ["fmask=0022" "dmask=0022"];
options = ["fmask=0077" "dmask=0077"];
};
swapDevices = [];

View File

@@ -19,7 +19,7 @@
fileSystems."/boot" = {
device = "/dev/disk/by-label/NIXBOOT";
fsType = "vfat";
options = ["fmask=0022" "dmask=0022"];
options = ["fmask=0077" "dmask=0077"];
};
swapDevices = [];