mirror of
https://github.com/Ahwxorg/nixos-config.git
synced 2026-03-19 15:50:30 +01:00
Compare commits
9 commits
3e05549530
...
7a22900c9b
| Author | SHA1 | Date | |
|---|---|---|---|
| 7a22900c9b | |||
| 4d552e4005 | |||
| 69cf748a63 | |||
| e8b23ec2ac | |||
| 2292f41704 | |||
| 47fd035aca | |||
| af37ea8f2d | |||
| 0214b41b13 | |||
| dfe56d1297 |
9 changed files with 215 additions and 31 deletions
49
flake.lock
generated
49
flake.lock
generated
|
|
@ -968,6 +968,22 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_10": {
|
"nixpkgs_10": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1769268028,
|
||||||
|
"narHash": "sha256-mAdJpV0e5IGZjnE4f/8uf0E4hQR7ptRP00gnZKUOdMo=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "ab9fbbcf4858bd6d40ba2bbec37ceb4ab6e1f562",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_11": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769018530,
|
"lastModified": 1769018530,
|
||||||
"narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=",
|
"narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=",
|
||||||
|
|
@ -1097,15 +1113,15 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_9": {
|
"nixpkgs_9": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769268028,
|
"lastModified": 1769433173,
|
||||||
"narHash": "sha256-mAdJpV0e5IGZjnE4f/8uf0E4hQR7ptRP00gnZKUOdMo=",
|
"narHash": "sha256-Gf1dFYgD344WZ3q0LPlRoWaNdNQq8kSBDLEWulRQSEs=",
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ab9fbbcf4858bd6d40ba2bbec37ceb4ab6e1f562",
|
"rev": "13b0f9e6ac78abbbb736c635d87845c4f4bee51b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "nixpkgs-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
|
|
@ -1271,6 +1287,7 @@
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"oisd": "oisd",
|
"oisd": "oisd",
|
||||||
|
"skhd-zig": "skhd-zig",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"spicetify-nix": "spicetify-nix"
|
"spicetify-nix": "spicetify-nix"
|
||||||
}
|
}
|
||||||
|
|
@ -1292,10 +1309,28 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sops-nix": {
|
"skhd-zig": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_9"
|
"nixpkgs": "nixpkgs_9"
|
||||||
},
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1769555538,
|
||||||
|
"narHash": "sha256-t6jEFc4Ozsgjonnnm1wLpKx9bEzjJitn6Md2eKagvIo=",
|
||||||
|
"owner": "sebb3",
|
||||||
|
"repo": "skhd-zig.nix",
|
||||||
|
"rev": "508bbeae2b61d77ea194918ef5e435765d95873f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "sebb3",
|
||||||
|
"repo": "skhd-zig.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sops-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_10"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769469829,
|
"lastModified": 1769469829,
|
||||||
"narHash": "sha256-wFcr32ZqspCxk4+FvIxIL0AZktRs6DuF8oOsLt59YBU=",
|
"narHash": "sha256-wFcr32ZqspCxk4+FvIxIL0AZktRs6DuF8oOsLt59YBU=",
|
||||||
|
|
@ -1312,7 +1347,7 @@
|
||||||
},
|
},
|
||||||
"spicetify-nix": {
|
"spicetify-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_10",
|
"nixpkgs": "nixpkgs_11",
|
||||||
"systems": "systems_6"
|
"systems": "systems_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@
|
||||||
nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-25.11";
|
nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-25.11";
|
||||||
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
nix-homebrew.url = "github:zhaofengli/nix-homebrew";
|
nix-homebrew.url = "github:zhaofengli/nix-homebrew";
|
||||||
|
skhd-zig.url = "github:sebb3/skhd-zig.nix";
|
||||||
|
|
||||||
homebrew-core = {
|
homebrew-core = {
|
||||||
url = "github:homebrew/homebrew-core";
|
url = "github:homebrew/homebrew-core";
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
# ./../../modules/core/homebrew.nix
|
# ./../../modules/core/homebrew.nix
|
||||||
./../../modules/core/user.nix
|
./../../modules/core/user.nix
|
||||||
./../../modules/core/skhd.nix
|
# ./../../modules/core/skhd.nix
|
||||||
./../../modules/core/yabai.nix
|
./../../modules/core/yabai.nix
|
||||||
#./../../modules/core/virtualization.nix
|
#./../../modules/core/virtualization.nix
|
||||||
#./../../modules/services/tailscale.nix
|
#./../../modules/services/tailscale.nix
|
||||||
|
|
@ -35,17 +35,18 @@
|
||||||
iCal."first day of week" = "Monday";
|
iCal."first day of week" = "Monday";
|
||||||
screencapture.include-date = true;
|
screencapture.include-date = true;
|
||||||
screencapture.type = "png";
|
screencapture.type = "png";
|
||||||
spaces.spans-displays = true;
|
spaces.spans-displays = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||||
|
|
||||||
homebrew = {
|
homebrew = {
|
||||||
enable = true;
|
enable = true;
|
||||||
#taps = {
|
taps = [
|
||||||
# "homebrew/homebrew-core" = inputs.homebrew-core;
|
"homebrew/homebrew-core"
|
||||||
# "homebrew/homebrew-cask" = inputs.homebrew-cask;
|
"homebrew/homebrew-cask"
|
||||||
#};
|
# "FelixKratz/formulae"
|
||||||
|
];
|
||||||
onActivation = {
|
onActivation = {
|
||||||
autoUpdate = true;
|
autoUpdate = true;
|
||||||
cleanup = "uninstall";
|
cleanup = "uninstall";
|
||||||
|
|
@ -58,6 +59,7 @@
|
||||||
brews = [
|
brews = [
|
||||||
"imagemagick"
|
"imagemagick"
|
||||||
"virt-manager"
|
"virt-manager"
|
||||||
|
# "svim"
|
||||||
];
|
];
|
||||||
casks = [
|
casks = [
|
||||||
"qbittorrent"
|
"qbittorrent"
|
||||||
|
|
@ -81,6 +83,8 @@
|
||||||
"mullvad-vpn"
|
"mullvad-vpn"
|
||||||
"maccy"
|
"maccy"
|
||||||
"spotmenu"
|
"spotmenu"
|
||||||
|
# "svim"
|
||||||
|
# "font-sketchybar-app-font"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,9 @@
|
||||||
shift + alt - k : yabai -m window --warp north
|
shift + alt - k : yabai -m window --warp north
|
||||||
shift + alt - l : yabai -m window --warp east
|
shift + alt - l : yabai -m window --warp east
|
||||||
|
|
||||||
|
alt + shirt - r; \
|
||||||
|
skhd --reload; \
|
||||||
|
yabai --restart-service
|
||||||
|
|
||||||
# Float / Unfloat window
|
# Float / Unfloat window
|
||||||
alt - space : \
|
alt - space : \
|
||||||
|
|
@ -39,6 +42,14 @@
|
||||||
|
|
||||||
# cmd - d : yabai -m space --layout $(yabai -m query --spaces --space | jq -r 'if .type == "bsp" then "stack" else "bsp" end')
|
# cmd - d : yabai -m space --layout $(yabai -m query --spaces --space | jq -r 'if .type == "bsp" then "stack" else "bsp" end')
|
||||||
alt - return: open -a Kitty -n
|
alt - return: open -a Kitty -n
|
||||||
|
alt + shift - t : open -na Mail
|
||||||
|
alt + shift - c : open -na Chromium # open new instance
|
||||||
|
alt + shift - e : open -a Element # move to existing instance
|
||||||
|
|
||||||
|
alt - f : yabai -m window --toggle zoom-fullscreen
|
||||||
|
|
||||||
|
alt + shift -f : yabai -m window --toggle native-fullscreen
|
||||||
|
|
||||||
|
|
||||||
# # Linux-style word navigation and deletion
|
# # Linux-style word navigation and deletion
|
||||||
# ctrl - backspace [
|
# ctrl - backspace [
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
active_window_opacity = "1.0";
|
active_window_opacity = "1.0";
|
||||||
normal_window_opacity = "1.0";
|
normal_window_opacity = "1.0";
|
||||||
|
|
||||||
mouse_modifier = "cmd";
|
mouse_modifier = "alt";
|
||||||
# set modifier + right-click drag to resize window (default: resize)
|
# set modifier + right-click drag to resize window (default: resize)
|
||||||
mouse_action2 = "resize";
|
mouse_action2 = "resize";
|
||||||
# set modifier + left-click drag to resize window (default: move)
|
# set modifier + left-click drag to resize window (default: move)
|
||||||
|
|
@ -32,24 +32,14 @@
|
||||||
focus_follows_mouse = "autofocus";
|
focus_follows_mouse = "autofocus";
|
||||||
|
|
||||||
# gaps
|
# gaps
|
||||||
top_padding = 0;
|
top_padding = 20;
|
||||||
bottom_padding = 0;
|
bottom_padding = 8;
|
||||||
left_padding = 0;
|
left_padding = 8;
|
||||||
right_padding = 0;
|
right_padding = 8;
|
||||||
window_gap = 0;
|
window_gap = 16;
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
# osascript -e 'tell application id "tracesOf.Uebersicht" to refresh'
|
|
||||||
# rules
|
|
||||||
yabai -m rule --add app=".*" sub-layer=normal
|
|
||||||
yabai -m rule --add app="^System Settings$" manage=off
|
|
||||||
yabai -m rule --add app="^System Information$" manage=off
|
|
||||||
yabai -m rule --add app="^System Preferences$" manage=off
|
|
||||||
yabai -m rule --add title="Preferences$" manage=off
|
|
||||||
yabai -m rule --add title="Settings$" manage=off
|
|
||||||
yabai -m rule --add app="Finder$" manage=off
|
|
||||||
|
|
||||||
# workspace management
|
# workspace management
|
||||||
yabai -m space 1 --label web
|
yabai -m space 1 --label web
|
||||||
yabai -m space 2 --label terminal
|
yabai -m space 2 --label terminal
|
||||||
|
|
@ -62,20 +52,27 @@
|
||||||
yabai -m rule --add app="Element" space=chat
|
yabai -m rule --add app="Element" space=chat
|
||||||
yabai -m rule --add app="Signal" space=chat
|
yabai -m rule --add app="Signal" space=chat
|
||||||
yabai -m rule --add app="Spotify" space=music
|
yabai -m rule --add app="Spotify" space=music
|
||||||
|
|
||||||
yabai -m rule --add app="Calendar" space=mail
|
yabai -m rule --add app="Calendar" space=mail
|
||||||
yabai -m rule --add app="Mail" space=mail
|
yabai -m rule --add app="Mail" space=mail
|
||||||
|
|
||||||
yabai -m rule --add app='About This Mac' manage=off
|
yabai -m rule --add app='About This Mac' manage=off
|
||||||
yabai -m rule --add app='System Information' manage=off
|
yabai -m rule --add app='System Information' manage=off
|
||||||
yabai -m rule --add app='System Preferences' manage=off
|
yabai -m rule --add app='System Preferences' manage=off
|
||||||
|
yabai -m rule --add label="Select file to save to" app="^Gimp$" title="Select file to save to" manage=off
|
||||||
|
yabai -m rule --add app=".*" sub-layer=normal
|
||||||
|
yabai -m rule --add app="^System Settings$" manage=off
|
||||||
|
yabai -m rule --add app="^System Information$" manage=off
|
||||||
|
yabai -m rule --add app="^System Preferences$" manage=off
|
||||||
|
yabai -m rule --add title="Preferences$" manage=off
|
||||||
|
yabai -m rule --add title="Settings$" manage=off
|
||||||
|
yabai -m rule --add app="Finder$" manage=off
|
||||||
|
|
||||||
yabai -m signal --add event=dock_did_restart \
|
yabai -m signal --add event=dock_did_restart \
|
||||||
action="sudo yabai --load-sa"
|
action="sudo yabai --load-sa"
|
||||||
sudo yabai --load-sa
|
sudo yabai --load-sa
|
||||||
|
|
||||||
# yabai -m config external_bar all:40:0
|
# yabai -m config external_bar all:40:0
|
||||||
# exec ~/.config/borders/bordersrc &
|
exec ~/.config/borders/bordersrc &
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,18 @@
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ (import ./git.nix) ]
|
[ (import ./git.nix) ]
|
||||||
|
++ [ (import ./fonts.nix) ]
|
||||||
++ [ (import ./htop.nix) ]
|
++ [ (import ./htop.nix) ]
|
||||||
|
++ [ (import ./iamb.nix) ]
|
||||||
++ [ (import ./kitty.nix) ]
|
++ [ (import ./kitty.nix) ]
|
||||||
++ [ (import ./nvim.nix) ]
|
++ [ (import ./nvim.nix) ]
|
||||||
++ [ (import ./zathura.nix) ]
|
++ [ (import ./zathura.nix) ]
|
||||||
++ [ (import ./packages.nix) ]
|
++ [ (import ./packages.nix) ]
|
||||||
++ [ (import ./scripts/scripts.nix) ]
|
++ [ (import ./scripts/scripts.nix) ]
|
||||||
++ [ (import ./ssh.nix) ]
|
++ [ (import ./ssh.nix) ]
|
||||||
|
++ [ (import ./skhd.nix) ]
|
||||||
|
++ [ (import ./sketchybar/default.nix) ]
|
||||||
|
++ [ (import ./jankyborders.nix) ]
|
||||||
++ [ (import ./zsh.nix) ]
|
++ [ (import ./zsh.nix) ]
|
||||||
++ [ (import ./qutebrowser.nix) ]
|
++ [ (import ./qutebrowser.nix) ]
|
||||||
++ [ (import ./tmux.nix) ];
|
++ [ (import ./tmux.nix) ];
|
||||||
|
|
|
||||||
17
modules/home/iamb.nix
Normal file
17
modules/home/iamb.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
programs.iamb = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
profiles.user.user_id = "@liv:liv.town";
|
||||||
|
notifications.enabled = false;
|
||||||
|
image_preview = {
|
||||||
|
protocol.type = "kitty";
|
||||||
|
protocol.size = {
|
||||||
|
height = 10;
|
||||||
|
width = 66;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
username_display = "displayname";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
18
modules/home/jankyborders.nix
Executable file
18
modules/home/jankyborders.nix
Executable file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
jankyborders
|
||||||
|
];
|
||||||
|
home.file.".config/borders/bordersrc" = {
|
||||||
|
executable = true;
|
||||||
|
text = ''
|
||||||
|
borders \
|
||||||
|
style=round \
|
||||||
|
width=8.0 \
|
||||||
|
hidpi=off \
|
||||||
|
active_color=0xc0e2e2e3 \
|
||||||
|
inactive_color=0xc02c2e34 \
|
||||||
|
background_color=0x302c2e34
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
96
modules/home/skhd.nix
Normal file
96
modules/home/skhd.nix
Normal file
|
|
@ -0,0 +1,96 @@
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
inputs.skhd-zig.packages.${pkgs.stdenv.hostPlatform.system}.skhd-zig
|
||||||
|
];
|
||||||
|
# install skhd-zig via brew instead
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
"/Users/${username}/.config/skhd/skhdrc" = {
|
||||||
|
executable = false;
|
||||||
|
text = ''
|
||||||
|
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
|
||||||
|
|
||||||
|
# focus window
|
||||||
|
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
|
||||||
|
|
||||||
|
# move window
|
||||||
|
shift + alt - h : yabai -m window --warp west
|
||||||
|
shift + alt - j : yabai -m window --warp south
|
||||||
|
shift + alt - k : yabai -m window --warp north
|
||||||
|
shift + alt - l : yabai -m window --warp east
|
||||||
|
|
||||||
|
alt + shift - r : skhd --reload; yabai --restart-service
|
||||||
|
|
||||||
|
# Float / Unfloat window
|
||||||
|
alt - space : yabai -m window --toggle float; yabai -m window --toggle border
|
||||||
|
|
||||||
|
# cmd - d : yabai -m space --layout $(yabai -m query --spaces --space | jq -r 'if .type == "bsp" then "stack" else "bsp" end')
|
||||||
|
alt - return: open -a Kitty -n
|
||||||
|
alt + shift - t : open -na Mail
|
||||||
|
alt + shift - c : open -na Chromium # open new instance
|
||||||
|
alt + shift - e : open -a Element # move to existing instance
|
||||||
|
|
||||||
|
alt - f : yabai -m window --toggle zoom-fullscreen
|
||||||
|
|
||||||
|
alt + shift -f : yabai -m window --toggle native-fullscreen
|
||||||
|
|
||||||
|
|
||||||
|
# # Linux-style word navigation and deletion
|
||||||
|
# ctrl - backspace [
|
||||||
|
# @native_apps ~ # Terminal apps handle natively
|
||||||
|
# * | alt - backspace # Other apps: delete word
|
||||||
|
# ]
|
||||||
|
|
||||||
|
# ctrl - left [
|
||||||
|
# @native_apps ~ # Terminal apps handle natively
|
||||||
|
# * | alt - left # Other apps: move word left
|
||||||
|
# ]
|
||||||
|
|
||||||
|
# ctrl - right [
|
||||||
|
# @native_apps ~ # Terminal apps handle natively
|
||||||
|
# * | alt - right # Other apps: move word right
|
||||||
|
# ]
|
||||||
|
|
||||||
|
# # Home/End key behavior (with shift for selection)
|
||||||
|
# home [
|
||||||
|
# @native_apps ~ # Terminal apps handle natively
|
||||||
|
# * | cmd - left # Other apps: line start
|
||||||
|
# ]
|
||||||
|
|
||||||
|
# shift - home [
|
||||||
|
# @native_apps ~ # Terminal apps handle natively
|
||||||
|
# * | cmd + shift - left # Other apps: select to line start
|
||||||
|
# ]
|
||||||
|
|
||||||
|
# # Ctrl+Home/End for document navigation
|
||||||
|
# ctrl - home [
|
||||||
|
# @native_apps ~ # Terminal apps handle natively
|
||||||
|
# * | cmd - up # Other apps: document start
|
||||||
|
# ]
|
||||||
|
|
||||||
|
# ctrl - end [
|
||||||
|
# @native_apps ~ # Terminal apps handle natively
|
||||||
|
# * | cmd - down # Other apps: document end
|
||||||
|
# ]
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue