Small update

This commit is contained in:
2026-03-28 15:26:16 -04:00
parent d86a8b884e
commit 06a8e77924
14 changed files with 664 additions and 43 deletions

View File

@@ -17,6 +17,7 @@
./xdg.nix
./yazi.nix
./zed.nix
./zellij.nix
# ./zen-browser.nix
];
}

View File

@@ -76,6 +76,8 @@
isDefault = true;
extensions = {
force = true;
# For a list of available packaged extensions, see:
# https://github.com/nix-community/nur-combined/blob/main/repos/rycee/pkgs/firefox-addons/addons.json
packages = with pkgs.nur.repos.rycee.firefox-addons; [
ublock-origin
bitwarden

View File

@@ -42,7 +42,11 @@ in
vscode-langservers-extracted # HTML/CSS/JSON/ESLint language servers extracted from vscode
emmet-language-server # Emmet support based on LSP
prettier # Formatter for HTML/CSS/JSON/ESLint languages
superhtml # HTML Language Server and Templating Language Library
superhtml # HTML Language server and Templating Language Library
ruby-lsp # Ruby language server
solargraph # Alternative ruby language server
rubocop # Ruby linter and formatter
jdt-language-server # Java language server
];
settings = {
editor = {
@@ -294,6 +298,25 @@ in
];
};
}
{
name = "ruby";
language-servers = [
"ruby-lsp"
"solargraph"
];
auto-format = true;
formatter = {
command = "rubocop";
args = [
"--stdin"
"placeholder.rb"
"-a"
"--stderr"
"--fail-level"
"fatal"
];
};
}
];
language-server = {
basedpyright.config.python.analysis.typeCheckingMode = "strict";
@@ -316,6 +339,20 @@ in
};
};
};
ruby-lsp = {
command = "ruby-lsp";
config = {
diagnostics = true;
formatting = true;
};
};
solargraph = {
command = "solargraph";
config = {
diagnostics = true;
formatting = false;
};
};
};
};
};

View File

@@ -8,6 +8,7 @@ let
# Executables
foot = lib.getExe' config.programs.foot.package "foot";
vicinae = lib.getExe' config.programs.vicinae.package "vicinae";
yazi = lib.getExe' config.programs.yazi.package "yazi";
noctalia-shell = lib.getExe' config.programs.noctalia-shell.package "noctalia-shell";
playerctl = lib.getExe' pkgs.playerctl "playerctl";
wpctl = lib.getExe' pkgs.wireplumber "wpctl";
@@ -69,6 +70,15 @@ in
repeat = false;
hotkey-overlay.title = "Launcher";
};
"Mod+E" = {
action.spawn = [
foot
"-e"
yazi
];
repeat = false;
hotkey-overlay.title = "File Explorer";
};
"Mod+Escape" = {
action.spawn = [
noctalia-shell
@@ -422,7 +432,7 @@ in
{ app-id = "foot"; }
{ app-id = "Alacritty"; }
];
opacity = 0.93;
opacity = 0.90;
default-column-width.proportion = 0.4;
}
];
@@ -438,10 +448,9 @@ in
hotkey-overlay = {
skip-at-startup = true;
};
# If not using systemd for noctalia, use this
# spawn-at-startup = [
# { argv = [ "noctalia-shell" ]; }
# ];
spawn-at-startup = [
{ argv = [ "noctalia-shell" ]; }
];
cursor = {
size = config.stylix.cursor.size;
theme = config.stylix.cursor.name;

View File

@@ -10,7 +10,6 @@
programs.noctalia-shell = {
enable = true;
systemd.enable = true; # Replaces spawn-at-startup in niri
settings = {
general = {
avatarImage = "~/.face";
@@ -114,6 +113,10 @@
enabled = true;
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
};
activate-linux = {
enabled = true;
sourceUrl = "https://github.com/noctalia-dev/noctalia-plugins";
};
};
version = 1;
};

View File

@@ -14,6 +14,9 @@
devenv
htop
obsidian
upscayl
trayscale
nautilus
# CD Stuff
picard
@@ -22,5 +25,7 @@
playerctl
brightnessctl
monique
opencode
];
}

View File

@@ -49,6 +49,15 @@
noto-fonts-color-emoji
];
fonts.fontconfig = {
enable = true;
defaultFonts = {
sansSerif = [ "Noto Sans" ];
monospace = [ "JetBrainsMono Nerd Font" ];
emoji = [ "Noto Color Emoji" ];
};
};
gtk = {
enable = true;
colorScheme = config.stylix.polarity;

View File

@@ -1,5 +1,6 @@
{
config,
lib,
pkgs,
...
}:
@@ -30,6 +31,7 @@
foot = {
enable = true;
server.enable = false;
package = pkgs.foot;
settings = {
main = {
term = "xterm-256color";
@@ -51,7 +53,7 @@
enableZshIntegration = true;
settings = {
add_newline = true;
format = pkgs.lib.concatStrings [
format = lib.strings.concatStrings [
"[ [\\[](1)$username([@](bold 2)$hostname)[\\]:](1) $directory( $git_branch)](5)"
"$line_break"
"[ $character](5)"
@@ -86,14 +88,6 @@
scan_timeout = 100;
};
};
zellij = {
enable = true;
enableZshIntegration = true;
settings = {
theme = "catppuccin-mocha";
show_startup_tips = false;
};
};
zoxide = {
enable = true;
enableZshIntegration = true;

View File

@@ -16,10 +16,13 @@
close_on_focus_loss = true;
pop_to_root_on_close = true;
favicon_service = "twenty";
telemetry = {
system_info = false;
};
font = {
normal = {
size = 12;
normal = "${config.stylix.fonts.sansSerif.name}";
size = config.stylix.fonts.sizes.applications;
family = "${config.stylix.fonts.monospace.name}";
};
};
theme = {

455
modules/home/zellij.nix Normal file
View File

@@ -0,0 +1,455 @@
let
mod = "Alt"; # Can be one of "Ctrl", "Alt", "Shift", "Super"
in
{
programs.zellij = {
enable = true;
enableZshIntegration = true;
settings = {
theme = "catppuccin-mocha";
show_startup_tips = false;
keybinds = {
_props = {
clear-defaults = true;
};
_children = [
{
locked._children = [
{
bind = {
_args = [ "${mod} g" ];
_children = [ { SwitchToMode._args = [ "Normal" ]; } ];
};
}
];
}
{
resize._children = [
{
bind = {
_args = [ "${mod} r" ];
_children = [ { SwitchToMode._args = [ "Normal" ]; } ];
};
}
{
bind = {
_args = [ "h" ];
_children = [ { Resize._args = [ "Increase Left" ]; } ];
};
}
{
bind = {
_args = [ "j" ];
_children = [ { Resize._args = [ "Increase Down" ]; } ];
};
}
{
bind = {
_args = [ "k" ];
_children = [ { Resize._args = [ "Increase Up" ]; } ];
};
}
{
bind = {
_args = [ "l" ];
_children = [ { Resize._args = [ "Increase Right" ]; } ];
};
}
];
}
{
pane._children = [
{
bind = {
_args = [ "${mod} p" ];
_children = [ { SwitchToMode._args = [ "Normal" ]; } ];
};
}
{
bind = {
_args = [ "c" ];
_children = [ { Clear = { }; } ];
};
}
{
bind = {
_args = [ "e" ];
_children = [
{ TogglePaneEmbedOrFloating = { }; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
{
bind = {
_args = [ "f" ];
_children = [
{ ToggleFocusFullscreen = { }; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
{
bind = {
_args = [ "s" ];
_children = [
{ NewPane._args = [ "stacked" ]; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
{
bind = {
_args = [ "j" ];
_children = [
{ NewPane._args = [ "Down" ]; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
{
bind = {
_args = [ "l" ];
_children = [
{ NewPane._args = [ "Right" ]; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
{
bind = {
_args = [ "n" ];
_children = [
{ NewPane = { }; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
{
bind = {
_args = [ "p" ];
_children = [
{ SwitchFocus = { }; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
{
bind = {
_args = [ "r" ];
_children = [
{ SwitchToMode._args = [ "RenamePane" ]; }
{ PaneNameInput._args = [ 0 ]; }
];
};
}
{
bind = {
_args = [ "w" ];
_children = [
{ ToggleFloatingPanes = { }; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
{
bind = {
_args = [ "x" ];
_children = [
{ CloseFocus = { }; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
{
bind = {
_args = [ "z" ];
_children = [
{ TogglePaneFrames = { }; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
];
}
{
move._children = [
{
bind = {
_args = [ "${mod} m" ];
_children = [ { SwitchToMode._args = [ "Normal" ]; } ];
};
}
{
bind = {
_args = [ "h" ];
_children = [ { MovePane._args = [ "Left" ]; } ];
};
}
{
bind = {
_args = [ "j" ];
_children = [ { MovePane._args = [ "Down" ]; } ];
};
}
{
bind = {
_args = [ "k" ];
_children = [ { MovePane._args = [ "Up" ]; } ];
};
}
{
bind = {
_args = [ "l" ];
_children = [ { MovePane._args = [ "Right" ]; } ];
};
}
];
}
{
tab._children = [
{
bind = {
_args = [ "${mod} t" ];
_children = [ { SwitchToMode._args = [ "Normal" ]; } ];
};
}
{
bind = {
_args = [ "b" ];
_children = [
{ BreakPane = { }; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
{
bind = {
_args = [ "h" ];
_children = [ { MoveTab._args = [ "Left" ]; } ];
};
}
{
bind = {
_args = [ "l" ];
_children = [ { MoveTab._args = [ "Right" ]; } ];
};
}
{
bind = {
_args = [ "n" ];
_children = [
{ NewTab = { }; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
{
bind = {
_args = [ "r" ];
_children = [
{ SwitchToMode._args = [ "RenameTab" ]; }
{ TabNameInput._args = [ 0 ]; }
];
};
}
{
bind = {
_args = [ "x" ];
_children = [
{ CloseTab = { }; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
];
}
{
renametab._children = [
{
bind = {
_args = [ "${mod} c" ];
_children = [ { SwitchToMode._args = [ "Normal" ]; } ];
};
}
{
bind = {
_args = [ "Esc" ];
_children = [
{ UndoRenameTab = { }; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
];
}
{
renamepane._children = [
{
bind = {
_args = [ "${mod} c" ];
_children = [ { SwitchToMode._args = [ "Normal" ]; } ];
};
}
{
bind = {
_args = [ "Esc" ];
_children = [
{ UndoRenamePane = { }; }
{ SwitchToMode._args = [ "Normal" ]; }
];
};
}
];
}
{
shared_except = {
_args = [ "locked" ];
_children = [
{
bind = {
_args = [ "${mod} g" ];
_children = [ { SwitchToMode._args = [ "Locked" ]; } ];
};
}
{
bind = {
_args = [ "${mod} h" ];
_children = [ { MoveFocusOrTab._args = [ "Left" ]; } ];
};
}
{
bind = {
_args = [ "${mod} l" ];
_children = [ { MoveFocusOrTab._args = [ "Right" ]; } ];
};
}
{
bind = {
_args = [ "${mod} j" ];
_children = [ { MoveFocus._args = [ "Down" ]; } ];
};
}
{
bind = {
_args = [ "${mod} k" ];
_children = [ { MoveFocus._args = [ "Up" ]; } ];
};
}
{
bind = {
_args = [ "${mod} [" ];
_children = [ { PreviousSwapLayout = { }; } ];
};
}
{
bind = {
_args = [ "${mod} ]" ];
_children = [ { NextSwapLayout = { }; } ];
};
}
];
};
}
{
shared_except = {
_args = [
"normal"
"locked"
];
_children = [
{
bind = {
_args = [
"Enter"
"Esc"
];
_children = [ { SwitchToMode = [ "Normal" ]; } ];
};
}
];
};
}
{
shared_except = {
_args = [
"pane"
"locked"
];
_children = [
{
bind = {
_args = [ "${mod} p" ];
_children = [ { SwitchToMode = [ "Pane" ]; } ];
};
}
];
};
}
{
shared_except = {
_args = [
"resize"
"locked"
];
_children = [
{
bind = {
_args = [ "${mod} r" ];
_children = [ { SwitchToMode = [ "Resize" ]; } ];
};
}
];
};
}
{
shared_except = {
_args = [
"tab"
"locked"
];
_children = [
{
bind = {
_args = [ "${mod} t" ];
_children = [ { SwitchToMode = [ "Tab" ]; } ];
};
}
];
};
}
{
shared_except = {
_args = [
"move"
"locked"
];
_children = [
{
bind = {
_args = [ "${mod} m" ];
_children = [ { SwitchToMode = [ "Move" ]; } ];
};
}
];
};
}
];
};
plugins = {
compact-bar = {
_props = {
location = "zellij:compact-bar";
};
};
};
simplified_ui = true;
pane_frames = false;
copy_on_select = true;
};
};
}

View File

@@ -2,5 +2,6 @@
nixpkgs.overlays = [
(import ./heybrochecklog.nix)
(import ./pywalfox-native.nix)
(import ./monique.nix)
];
}

View File

@@ -0,0 +1,28 @@
self: super: with super.python3Packages; {
monique = buildPythonApplication rec {
pname = "monique";
version = "0.5.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-fA2mVMjAg1vOpHPJr2B0NtJ00cEs23/Y4S4h3WurpY4=";
};
pyproject = true;
build-system = [ setuptools ];
nativeBuildInputs = [
super.wrapGAppsHook4
super.gobject-introspection
];
buildInputs = [
super.libadwaita
super.gtk4
];
propagatedBuildInputs = [
pygobject3
];
};
}

View File

@@ -35,6 +35,7 @@
"wheel"
"scanner"
"lp"
"dialout"
];
hashedPasswordFile = config.age.secrets.eclypse-password.path;
shell = pkgs.zsh;