feat: ghostty -> havoc, fish -> yash, dwl -> river-classic, more minimal rofi configuration ; fix: nvim rust-analyzer ; docs: update preview screenshot

This commit is contained in:
2026-04-26 00:38:05 -04:00
parent d549dc1eeb
commit 9e83f0667c
19 changed files with 220 additions and 2562 deletions
+4
View File
@@ -8,12 +8,16 @@
./clangd.nix
./packages.nix
./xdg.nix
./river
];
home.username = "autumn";
home.homeDirectory = "/home/autumn";
home.stateVersion = "25.05";
# programs.ghostty.enable = true;
# programs.ghostty.settings.font-size = 24;
programs.foot = {
enable = true;
settings.main.font = lib.mkForce "Caskaydia Cove Mono:size=24";
+3 -1
View File
@@ -6,8 +6,9 @@
./btop.nix
./carapace.nix
# ./fastfetch.nix
./fish.nix
#./fish.nix
./git.nix
./havoc.nix
# ./hyfetch.nix
./mako.nix
# ./ncspot.nix
@@ -15,6 +16,7 @@
./vesktop.nix
./waybar.nix
# ./yazi.nix
./yash.nix
./zathura.nix
./zen.nix
./zoxide.nix
+57
View File
@@ -0,0 +1,57 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.havoc ];
xdg.configFile."havoc/havoc.cfg".text = ''
[child]
program=yash
[window]
margin=yes
[bind]
C-S-c=copy
C-S-v=paste
C-S-j=scroll down
C-S-k=scroll up
[font]
size=30
path=${pkgs.nerd-fonts.caskaydia-cove}/share/fonts/truetype/NerdFonts/CaskaydiaCove/CaskaydiaCoveNerdFontMono-Regular.ttf
[colors]
foreground=#cdd6f7
background=#11111b
# black
color0 = #45475a
color8 = #585b70
# red
color1 = #f38ba8
color9 = #f38ba8
# green
color2 = #a6e3a1
color10 = #a6e3a1
# yellow
color3 = #f9e2af
color11 = #f9e2af
# blue
color4 = #89b4fa
color12 = #89b4fa
# magenta
color5 = #f5c2e7
color13 = #f5c2e7
# cyan
color6 = #94e2d5
color14 = #94e2d5
# white
color7 = #bac2de
color15 = #a6adc8
'';
}
+13 -5
View File
@@ -10,7 +10,7 @@ vim.opt.softtabstop = 4
vim.opt.wildmenu = true
vim.opt.undofile = true
vim.opt.termguicolors = true
vim.opt.shell = "fish"
vim.opt.shell = "yash"
vim.opt.splitbelow = true
vim.opt.splitright = true
vim.opt.winborder = "rounded"
@@ -29,6 +29,7 @@ vim.keymap.set("n", "<leader>q", function()
vim.cmd("hori term")
vim.cmd("startinsert")
end, {})
vim.keymap.set("t", "<esc><esc>", "", {})
vim.pack.add({
@@ -45,7 +46,12 @@ vim.pack.add({
"https://github.com/ej-shafran/compile-mode.nvim",
"https://github.com/m00qek/baleia.nvim",
"https://github.com/nvim-lualine/lualine.nvim",
"https://github.com/stevearc/oil.nvim"
"https://github.com/stevearc/oil.nvim",
"https://github.com/folke/lazydev.nvim",
})
require("lazydev").setup({
ft = "lua",
})
require("oil").setup({
@@ -69,7 +75,7 @@ vim.g.compile_mode = {
buffer_name = "*compile*",
baleia_setup = true,
}
vim.keymap.set("n", "<leader>c", "<cmd>Recompile<cr>", {silent = true})
vim.keymap.set("n", "<leader>c", "<cmd>Recompile<cr>", { silent = true })
local file_types = { "rust", "zig", "haskell", "c", "cpp" }
require("nvim-treesitter").install(file_types)
@@ -117,7 +123,7 @@ cmp.setup({
{ name = "emoji" },
{ keywordLength = 3, name = "buffer", option = { get_bufnrs = vim.api.nvim_list_bufs } },
{ keywordLength = 3, name = "path" },
{ keywordLength = 3, name = "luasnip" },
{ name = "lazydev" },
},
window = {
completion = cmp.config.window.bordered(),
@@ -157,8 +163,10 @@ vim.lsp.config("nil_ls", { cmd = { "nil" }, filetypes = { "nix" } })
vim.lsp.enable("nil_ls")
vim.lsp.config("nixd", { cmd = { "nixd" }, filetypes = { "nix" } })
vim.lsp.enable("nixd")
vim.lsp.config("pyright", { cmd = { "pyright" }, filetypes = { "python" } })
vim.lsp.config("pyright", { cmd = { "pyright-langserver", "--stdio" }, filetypes = { "python" } })
vim.lsp.enable("pyright")
vim.lsp.config("rust-analyzer", { cmd = { "rust-analyzer" }, filetypes = { "rust" } })
vim.lsp.enable("rust-analyzer")
vim.lsp.config("zls", { cmd = { "zls" }, filetypes = { "zig" } })
vim.lsp.enable("zls")
+30 -10
View File
@@ -1,27 +1,47 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
home.packages = [ pkgs.libnotify ];
xdg.configFile."rofi/config.rasi".text = ''
configuration{
modi: "run,drun,window";
modi: "run";
lines: 5;
cycle: false;
font: "${config.stylix.fonts.serif.name} 14";
show-icons: true;
icon-theme: "Papirus-dark";
font: "CaskaydiaCove Nerd Font 14";
show-icons: false;
terminal: "foot";
drun-display-format: "{icon} {name}";
run-display-format: "{name}";
location: 0;
disable-history: true;
hide-scrollbar: true;
display-drun: " Apps ";
display-run: " Run ";
display-window: " Window ";
/* display-Network: " Network"; */
sidebar-mode: true;
sorting-method: "fzf";
}
@theme "theme"
'';
@theme "theme"'';
# xdg.configFile."rofi/config.rasi".text = ''
# configuration{
# modi: "run,drun,window";
# lines: 5;
# cycle: false;
# font: "${config.stylix.fonts.serif.name} 14";
# show-icons: true;
# icon-theme: "Papirus-dark";
# terminal: "foot";
# drun-display-format: "{icon} {name}";
# location: 0;
# disable-history: true;
# hide-scrollbar: true;
# display-drun: " Apps ";
# display-run: " Run ";
# display-window: " Window ";
# /* display-Network: " Network"; */
# sidebar-mode: true;
# sorting-method: "fzf";
# }
#
# @theme "theme"'';
}
+13
View File
@@ -0,0 +1,13 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.yash ];
xdg.configFile."yash/rc".text =
"
. --autoload --no-alias initialization/common
YASH_PS1='\\fm\${PWD} λ \\fD'
YASH_PS1R=''
bindkey --emacs '\\^L' clear-and-redraw-all
bindkey --vi-insert '\\^L' clear-and-redraw-all
bindkey --vi-command '\\^L' clear-and-redraw-all
";
}
+11
View File
@@ -0,0 +1,11 @@
{ pkgs, wallpaper, ... }:
{
home.packages = [ pkgs.rivercarro ];
xdg.configFile."river/init" = {
source = pkgs.replaceVars ./init.sh {
inherit wallpaper;
};
executable = true;
};
}
+82
View File
@@ -0,0 +1,82 @@
#!/bin/sh
# https://codeberg.org/river/river-classic/src/branch/main/example/init
riverctl map normal Super Q spawn havoc
riverctl map normal Super D spawn "rofi -show run"
riverctl map normal Super C close
riverctl map normal Super+Shift M exit
riverctl map normal Super Up focus-view up
riverctl map normal Super Right focus-view right
riverctl map normal Super Left focus-view left
riverctl map normal Super Down focus-view down
riverctl map normal Super k focus-view up
riverctl map normal Super l focus-view right
riverctl map normal Super h focus-view left
riverctl map normal Super j focus-view down
riverctl map normal Super+Control Up focus-output up
riverctl map normal Super+Control Right focus-output right
riverctl map normal Super+Control Left focus-output left
riverctl map normal Super+Control Down focus-output down
riverctl map normal Super+Control k focus-output up
riverctl map normal Super+Control l focus-output right
riverctl map normal Super+Control h focus-output left
riverctl map normal Super+Control j focus-output down
riverctl map normal Super+Shift Up swap up
riverctl map normal Super+Shift Right swap right
riverctl map normal Super+Shift Left swap left
riverctl map normal Super+Shift Down swap down
riverctl map normal Super+Shift k swap up
riverctl map normal Super+Shift l swap right
riverctl map normal Super+Shift h swap left
riverctl map normal Super+Shift j swap down
riverctl map normal Super+Shift+Control Up send-to-output up
riverctl map normal Super+Shift+Control Right send-to-output right
riverctl map normal Super+Shift+Control Left send-to-output left
riverctl map normal Super+Shift+Control Down send-to-output down
riverctl map normal Super+Shift+Control k send-to-output up
riverctl map normal Super+Shift+Control l send-to-output right
riverctl map normal Super+Shift+Control h send-to-output left
riverctl map normal Super+Shift+Control j send-to-output down
riverctl map-pointer normal Super BTN_RIGHT resize-view
for i in $(seq 1 9)
do
tags=$((1 << ($i - 1)))
riverctl map normal Super $i set-focused-tags $tags
riverctl map normal Super+Shift $i set-view-tags $tags
done
riverctl map normal Super F toggle-fullscreen
#TODO: stylix it
riverctl border-color-focused 0xf5c2e7
riverctl border-color-unfocused 0x313244
riverctl set-repeat 30 300
riverctl default-layout rivercarro
rivercarro -inner-gaps 6 -outer-gaps 0 &
riverctl rule-add ssd
riverctl rule-add -app-id "vesktop" output HDMI-A-2
wlr-randr --output DP-2 --mode 2560x1440@180Hz
dbus-update-activation-environment --systemd WAYLAND_DISPLAY "XDG_CURRENT_DESKTOP=sway"
awww-daemon &
awww img @wallpaper@ -t none
vesktop &
riverctl focus-output left