Skip to content

Commit 3382383

Browse files
committed
rollback to traditional coreutils, lazyvim, tmux and add volume osd
1 parent 00e20c6 commit 3382383

20 files changed

Lines changed: 290 additions & 300 deletions

home/core.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
./ssh.nix
66
./rclone-gdrive.nix
77
./rclone-proton.nix
8-
./zellij.nix
8+
./tmux.nix
99
./theme.nix
1010
./whosthere.nix
1111
./dev.nix

home/desktop.nix

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
./abcde.nix
88
./qt.nix
99
./chrome.nix
10-
./helix.nix
10+
./lazyvim.nix
1111
./vscode.nix
1212
];
1313

@@ -149,10 +149,20 @@
149149

150150
services.udiskie.enable = true;
151151

152-
# Disable unused gvfs monitors (GNOME Online Accounts not used)
153-
xdg.configFile."autostart/gvfs-goa-volume-monitor.desktop".text = ''
154-
[Desktop Entry]
155-
Type=Application
156-
Hidden=true
157-
'';
152+
# Suppress xdg-autostart for tray apps: niri's spawn-at-startup launches
153+
# blueman + nm-applet directly, and pasystray runs on-demand from waybar.
154+
# The systemd-xdg-autostart-generator otherwise double-starts them and
155+
# fails because the first instance already owns the tray slot.
156+
xdg.configFile = let
157+
hidden = ''
158+
[Desktop Entry]
159+
Type=Application
160+
Hidden=true
161+
'';
162+
in {
163+
"autostart/gvfs-goa-volume-monitor.desktop".text = hidden;
164+
"autostart/blueman.desktop".text = hidden;
165+
"autostart/nm-applet.desktop".text = hidden;
166+
"autostart/pasystray.desktop".text = hidden;
167+
};
158168
}

home/dev.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
'';
3636

3737
# Devshell stdenv prepends GNU coreutils to PATH, burying user
38-
# profile tools (uutils-coreutils, rm-improved, etc.).
38+
# profile tools (rm-improved, etc.).
3939
# Wraps use_flake to re-prepend user profile after devshell PATH.
4040
".config/direnv/lib/zz-user-path.sh".text = ''
4141
eval "_original_$(declare -f use_flake)"

home/helix.nix

Lines changed: 0 additions & 172 deletions
This file was deleted.

home/lazyvim.nix

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
{pkgs, ...}: {
2+
# LazyVim ships its own colorscheme (tokyonight); skip stylix's neovim
3+
# target so the two don't fight at startup.
4+
stylix.targets.neovim.enable = false;
5+
6+
programs.neovim = {
7+
enable = true;
8+
package = pkgs.neovim-unwrapped;
9+
defaultEditor = true;
10+
viAlias = true;
11+
vimAlias = true;
12+
withRuby = false;
13+
withPython3 = false;
14+
15+
extraPackages = with pkgs; [
16+
# LazyVim dependencies
17+
lazygit
18+
ripgrep
19+
fd
20+
21+
# Build tools often needed by Mason/Lazy
22+
gnumake
23+
gcc
24+
unzip
25+
tree-sitter
26+
27+
# Language servers / Formatters
28+
lua-language-server
29+
stylua
30+
];
31+
};
32+
33+
# Bootstrap LazyVim. Lazy plugin manager is provided by Nix so no runtime
34+
# git clone is needed; LazyVim itself still pulls plugin specs at first run.
35+
xdg.configFile = {
36+
"nvim/init.lua".text = ''
37+
require("config.lazy")
38+
'';
39+
40+
"nvim/lua/config/lazy.lua".text = ''
41+
local lazypath = "${pkgs.vimPlugins.lazy-nvim}"
42+
vim.opt.rtp:prepend(lazypath)
43+
44+
require("lazy").setup({
45+
spec = {
46+
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
47+
{ import = "plugins" },
48+
},
49+
defaults = {
50+
lazy = false,
51+
version = false,
52+
},
53+
install = { colorscheme = { "tokyonight", "habamax" } },
54+
checker = { enabled = false },
55+
performance = {
56+
rtp = {
57+
disabled_plugins = {
58+
"gzip",
59+
"tarPlugin",
60+
"tohtml",
61+
"tutor",
62+
"zipPlugin",
63+
},
64+
},
65+
},
66+
})
67+
'';
68+
69+
"nvim/lua/config/options.lua".text = ''
70+
vim.g.mapleader = " "
71+
'';
72+
73+
"nvim/lua/plugins/example.lua".text = ''
74+
return {}
75+
'';
76+
};
77+
}

0 commit comments

Comments
 (0)