hijiri: finish migration

This commit is contained in:
Nikodem Rabuliński 2024-01-22 20:41:58 +01:00
parent cb199bb55b
commit 78bcb2b753
5 changed files with 191 additions and 2 deletions

74
flake.lock generated
View file

@ -254,6 +254,24 @@
"type": "indirect"
}
},
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1688466019,
"narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flakelib": {
"inputs": {
"fl-config": "fl-config",
@ -373,6 +391,25 @@
"type": "gitlab"
}
},
"niko-nur": {
"inputs": {
"flake-parts": "flake-parts_4",
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1690830552,
"narHash": "sha256-8n8PipmWZnnE56QlhcGQCKG5cMU8v+NTaFkJzBM6k4w=",
"owner": "nrabulinski",
"repo": "nur-packages",
"rev": "b19fe09dd3f325ff2731b83f230e2573b67db4aa",
"type": "github"
},
"original": {
"owner": "nrabulinski",
"repo": "nur-packages",
"type": "github"
}
},
"nix-std": {
"locked": {
"lastModified": 1701658249,
@ -434,6 +471,24 @@
"type": "indirect"
}
},
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1688049487,
"narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1703637592,
@ -451,6 +506,22 @@
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1690753480,
"narHash": "sha256-GQgPs8fCh/LsyQoYMUZgT2p7jFVWyHu9p+1Nl/dp8GY=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9e06dd56947c1dc3dc837c3149bfe02c71a6edd7",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1705697961,
"narHash": "sha256-XepT3WS516evSFYkme3GrcI3+7uwXHqtHbip+t24J7E=",
@ -538,7 +609,8 @@
"hercules-ci-effects": "hercules-ci-effects",
"home-manager": "home-manager",
"mailserver": "mailserver",
"nixpkgs": "nixpkgs_3",
"niko-nur": "niko-nur",
"nixpkgs": "nixpkgs_4",
"nvidia-patch": "nvidia-patch",
"racket": "racket",
"wrapper-manager": "wrapper-manager",

View file

@ -103,6 +103,9 @@
url = "github:bandithedoge/nixpkgs-firefox-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
niko-nur = {
url = "github:nrabulinski/nur-packages";
};
};
nixConfig = {

View file

@ -1,5 +1,55 @@
{
configurations.darwin.hijiri = {
configurations.darwin.hijiri = {pkgs, ...}: {
imports = [
./skhd.nix
./yabai.nix
];
nixpkgs.system = "aarch64-darwin";
settei.user.config = {
common.desktop.enable = true;
home.packages = with pkgs; [
utm
podman
podman-compose
qemu
anki-bin
];
};
system.defaults = {
".GlobalPreferences" = {
"com.apple.mouse.scaling" = -1.0;
};
dock = {
autohide = true;
largesize = 64;
minimize-to-application = true;
orientation = "right";
show-process-indicators = false;
show-recents = false;
};
CustomUserPreferences.".GlobalPreferences" = {
"com.apple.scrollwheel.scaling" = "-1";
};
};
system.keyboard = {
enableKeyMapping = true;
remapCapsLockToEscape = true;
nonUS.remapTilde = true;
swapLeftCommandAndLeftAlt = true;
# swap right command and right alt too
userKeyMapping = [
{
HIDKeyboardModifierMappingSrc = 30064771302;
HIDKeyboardModifierMappingDst = 30064771303;
}
{
HIDKeyboardModifierMappingSrc = 30064771303;
HIDKeyboardModifierMappingDst = 30064771302;
}
];
};
};
}

34
hosts/hijiri/skhd.nix Normal file
View file

@ -0,0 +1,34 @@
{
pkgs,
lib,
inputs',
...
}: {
services.skhd = {
enable = true;
skhdConfig = let
spaceCount = 6;
spaceBindings =
lib.genList
(i: let num = toString (i + 1); in "cmd - ${num} : yabai -m space --focus ${num}")
spaceCount;
in ''
cmd - return : ${pkgs.alacritty}/Applications/Alacritty.app/Contents/MacOS/alacritty
cmd + shift - return : ${inputs'.niko-nur.packages.qutebrowser-bin}/Applications/qutebrowser.app/Contents/MacOS/qutebrowser
cmd - h : yabai -m window --focus west
cmd - j : yabai -m window --focus south
cmd - k : yabai -m window --focus north
cmd - l : yabai -m window --focus east
cmd + shift - h : yabai -m window --swap west
cmd + shift - j : yabai -m window --swap south
cmd + shift - k : yabai -m window --swap north
cmd + shift - l : yabai -m window --swap east
cmd + shift - space : yabai -m window --toggle float
${lib.concatStringsSep "\n" spaceBindings}
'';
};
}

30
hosts/hijiri/yabai.nix Normal file
View file

@ -0,0 +1,30 @@
{
lib,
pkgs,
...
}: {
services.yabai = {
enable = true;
enableScriptingAddition = true;
config = {
layout = "bsp";
top_padding = 10;
bottom_padding = 10;
left_padding = 10;
right_padding = 10;
window_gap = 10;
mouse_modifier = "cmd";
window_topmost = "off";
window_shadow = "float";
mouse_follows_focus = "on";
};
extraConfig = ''
yabai -m rule --add app="^Alacritty$" border=on
yabai -m rule --add app="^System Settings$" manage=off
yabai -m signal --add event=window_created action='yabai -m query --windows --window $YABAI_WINDOW_ID \
| ${lib.getExe pkgs.jq} -er ".\"can-resize\" or .\"is-floating\"" \
|| yabai -m window $YABAI_WINDOW_ID --toggle float'
'';
};
}