Got declarative homebrew working, working on yabai and shkd still

This commit is contained in:
lulusilly 2025-10-18 17:29:05 -04:00
parent ebb5f51a86
commit d96d437ed4
5 changed files with 114 additions and 31 deletions

View file

@ -1,5 +1,6 @@
font-family = Monocraft Nerd Font
background-opacity = 0.8
background-blur = 10
theme = IC Orange PPL
mouse-hide-while-typing = true
@ -21,4 +22,10 @@ keybind = super+a>p=previous_tab
keybind = super+r=reload_config
quick-terminal-position = center
quick-terminal-screen = main
quick-terminal-animation-duration = 0.2
quick-terminal-autohide = true
keybind = super+shift+q=toggle_quick_terminal
window-save-state = always

View file

@ -3,6 +3,41 @@ alt - h : yabai -m window --focus west
alt - j : yabai -m window --focus south
alt - k : yabai -m window --focus north
alt - l : yabai -m window --focus east
shift + alt - h : yabai -m window --swap west
shift + alt - j : yabai -m window --swap south
shift + alt - k : yabai -m window --swap north
shift + alt - l : yabai -m window --swap east
# Workspace navigation
alt - q : yabai -m space --focus 1
alt - w : yabai -m space --focus 2
alt - e : yabai -m space --focus 3
alt - r : yabai -m space --focus 4
alt - t : yabai -m space --focus 5
alt - y : yabai -m space --focus 6
alt - u : yabai -m space --focus 7
alt - i : yabai -m space --focus 8
alt - o : yabai -m space --focus 9
alt - p : yabai -m space --focus 10
shift + alt - 1 : yabai -m window --space 1
shift + alt - 2 : yabai -m window --space 2
shift + alt - 3 : yabai -m window --space 3
shift + alt - 4 : yabai -m window --space 4
shift + alt - 5 : yabai -m window --space 5
shift + alt - 6 : yabai -m window --space 6
shift + alt - 7 : yabai -m window --space 7
shift + alt - 8 : yabai -m window --space 8
shift + alt - 9 : yabai -m window --space 9
shift + alt - 0 : yabai -m window --space 10
alt - m : yabai -m window --minimize
alt - f : yabai -m window --toggle float;\
yabai -m window --grid 4:4:1:1:2:2
shift + alt - f : yabai -m window --focus mouse && \
yabai -m window --toggle zoom-fullscreen
# Open apps
alt - t : open -n -a "ghostty"

View file

@ -9,3 +9,6 @@ yabai -m config window_gap 10
yabai -m config mouse_follows_focus on
yabai -m config mouse_modifier alt
yabai -m rule --add app="^System Preferences$" manage=off
yabai -m rule --add app="^KeePassXC$" manage=off

View file

@ -29,7 +29,7 @@
environment.systemPackages = with pkgs; [
neovim # Text editor of choice
btop # Resource manager
htop # Resource manager
iina # Media player
yabai # Tiling window manager
skhd # Hotkey daemon
@ -37,6 +37,29 @@
# kanata # Keyboard remapping tool
];
homebrew = {
enable = true;
taps = [];
brews = [
"kanata"
"hugo"
"mpv"
"lua"
"luarocks"
"guile"
"scrcpy"
"ffmpeg"
];
casks = [
"font-jetbrains-mono"
"font-monocraft-nerd-font"
"obsidian"
"raycast"
"android-platform-tools"
];
};
services.yabai = {
enable = true;
extraConfig = builtins.readFile ./dotfiles/yabai/yabairc;
@ -51,8 +74,6 @@
finder.AppleShowAllExtensions = true;
};
nix.enable =false;
# Necessary for using flakes on this system.
nix.settings.experimental-features = "nix-command flakes";

View file

@ -1,40 +1,57 @@
{ config, pkgs, ... }:
{
home.stateVersion = "25.05"; # Please read the comment before changing.
home.stateVersion = "25.05";
home.packages = with pkgs; [
irssi
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
services.mpd = {
enable = true;
musicDirectory = "/Users/erogers/Music";
extraConfig = ''
audio_output {
type "osx"
name "Mac Output"
}
'';
};
home.packages = with pkgs; [
wget # Tool for retrieving files using HTTP/S and FTP
imagemagick # Image manipulation software suite
gauche # R7RS Scheme scripting engine
typst # Modern markup-based typesetting system
rsync # Incremental file transfer utility
tmux # Terminal multiplexer
btop # Resource monitor
irssi # Terminal based IRC client
rmpc # TUI music player
nicotine-plus # Graphical client for SoulSeek
];
home.file = {
".config/ghostty/config" .source = dotfiles/ghostty/config;
".config/kanata/conf.kbd" .source = dotfiles/kanata/conf.kbd;
".config/nvim/init.lua" .source = builtins.fetchurl {
url = "https://git.luluslly.xyz/lulusilly/dotfiles/raw/branch/master/.config/nvim/init.lua";
sha256 = "fc7104ae4957a7ff92375557725daf9872f836645556f7940fdd6366b04386e0";
};
};
# You can also manage environment variables but you will have to manually
# source
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/davish/etc/profile.d/hm-session-vars.sh
#
# if you don't want to manage your shell through Home Manager.
home.sessionVariables = {
EDITOR = "nvim";
};
programs.git = {
enable = true;
userName = "lulusilly";
userEmail = "lunita@puppygirl.onl";
aliases = {
ci = "commit -m";
pu = "push origin main";
pm = "push origin master";
s = "status";
co = "checkout";
};
};
programs.home-manager.enable = true;
}