mmm
This commit is contained in:
+3
-3
@@ -18,9 +18,6 @@
|
|||||||
# Opinionated: disable global registry
|
# Opinionated: disable global registry
|
||||||
flake-registry = "";
|
flake-registry = "";
|
||||||
|
|
||||||
# Deduplicate and optimize nix store
|
|
||||||
auto-optimise-store = true;
|
|
||||||
|
|
||||||
# Trusted users (useful for remote builds)
|
# Trusted users (useful for remote builds)
|
||||||
# trusted-users = [ "root" "@wheel" ];
|
# trusted-users = [ "root" "@wheel" ];
|
||||||
|
|
||||||
@@ -28,6 +25,9 @@
|
|||||||
nix-path = config.nix.nixPath;
|
nix-path = config.nix.nixPath;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Deduplicate and optimize nix store
|
||||||
|
optimise.automatic = true;
|
||||||
|
|
||||||
# Garbage collection
|
# Garbage collection
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
|
|||||||
@@ -23,9 +23,6 @@
|
|||||||
# macOS-specific Nix settings (common.nix has the shared ones)
|
# macOS-specific Nix settings (common.nix has the shared ones)
|
||||||
# Any darwin-specific nix configuration can go here
|
# Any darwin-specific nix configuration can go here
|
||||||
|
|
||||||
# Auto upgrade nix package and the daemon service
|
|
||||||
services.nix-daemon.enable = true;
|
|
||||||
|
|
||||||
# Necessary for using flakes on this system
|
# Necessary for using flakes on this system
|
||||||
nix.package = pkgs.nix;
|
nix.package = pkgs.nix;
|
||||||
|
|
||||||
@@ -49,6 +46,9 @@
|
|||||||
name = "df";
|
name = "df";
|
||||||
home = "/Users/df";
|
home = "/Users/df";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Set primary user for system defaults
|
||||||
|
system.primaryUser = "df";
|
||||||
|
|
||||||
# System-wide packages
|
# System-wide packages
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
@@ -84,6 +84,6 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Security
|
# Security
|
||||||
security.pam.enableSudoTouchIdAuth = true;
|
security.pam.services.sudo_local.touchIdAuth = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,21 +6,6 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
nixpkgs = {
|
|
||||||
# You can add overlays here
|
|
||||||
overlays = [
|
|
||||||
# Add overlays your own flake exports (from overlays and pkgs dir):
|
|
||||||
inputs.self.overlays.additions
|
|
||||||
inputs.self.overlays.modifications
|
|
||||||
inputs.self.overlays.unstable-packages
|
|
||||||
];
|
|
||||||
# Configure your nixpkgs instance
|
|
||||||
config = {
|
|
||||||
# Disable if you don't want unfree packages
|
|
||||||
allowUnfree = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable home-manager
|
# Enable home-manager
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
|||||||
@@ -31,65 +31,16 @@ with pkgs; let
|
|||||||
west
|
west
|
||||||
pyelftools
|
pyelftools
|
||||||
]);
|
]);
|
||||||
in {
|
maven363 = pkgs.maven.overrideAttrs (old: rec {
|
||||||
imports = [
|
pname = "apache-maven";
|
||||||
./modules/yabai/yabai.nix
|
version = "3.6.3";
|
||||||
./modules/skhd/skhd.nix
|
src = pkgs.fetchurl {
|
||||||
];
|
url = "mirror://apache/maven/maven-3/${version}/binaries/${pname}-${version}-bin.tar.gz";
|
||||||
|
sha256 = "sha256-Jq2R11GzqaUwh676dD9OFqF3QdORWyGc90ESv4ekOMU=";
|
||||||
nixpkgs.overlays = [
|
|
||||||
(final: prev: {
|
|
||||||
maven363 = prev.maven.overrideAttrs (old: rec {
|
|
||||||
pname = "apache-maven";
|
|
||||||
version = "3.6.3";
|
|
||||||
src = prev.pkgs.fetchurl {
|
|
||||||
url = "mirror://apache/maven/maven-3/${version}/binaries/${pname}-${version}-bin.tar.gz";
|
|
||||||
sha256 = "sha256-Jq2R11GzqaUwh676dD9OFqF3QdORWyGc90ESv4ekOMU=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
})
|
|
||||||
];
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
|
||||||
"hadoop-3.3.1"
|
|
||||||
"libressl-3.4.3"
|
|
||||||
];
|
|
||||||
nix = {
|
|
||||||
configureBuildUsers = true;
|
|
||||||
settings = {
|
|
||||||
substituters = [
|
|
||||||
"https://cache.nixos.org/"
|
|
||||||
"https://cache.iog.io"
|
|
||||||
"https://haskell-language-server.cachix.org"
|
|
||||||
"https://nix-community.cachix.org"
|
|
||||||
];
|
|
||||||
trusted-users = ["@admin"];
|
|
||||||
trusted-public-keys = [
|
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
||||||
"hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
|
|
||||||
"haskell-language-server.cachix.org-1:juFfHrwkOxqIOZShtC4YC1uT1bBcq2RSvC7OMKx0Nz8="
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
||||||
];
|
|
||||||
|
|
||||||
experimental-features = ["ca-derivations" "nix-command" "flakes"];
|
|
||||||
|
|
||||||
keep-outputs = true;
|
|
||||||
keep-derivations = true;
|
|
||||||
|
|
||||||
auto-optimise-store = true;
|
|
||||||
max-jobs = 32;
|
|
||||||
cores = 0;
|
|
||||||
http-connections = 64;
|
|
||||||
};
|
};
|
||||||
package = nixUnstable;
|
});
|
||||||
};
|
in {
|
||||||
|
home.packages = with pkgs; [
|
||||||
nix.extraOptions =
|
|
||||||
""
|
|
||||||
+ lib.optionalString (pkgs.system == "aarch64-darwin") ''
|
|
||||||
extra-platforms = x86_64-darwin aarch64-darwin
|
|
||||||
'';
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
gitAndTools.gitFull
|
gitAndTools.gitFull
|
||||||
neovim
|
neovim
|
||||||
vim
|
vim
|
||||||
@@ -131,7 +82,7 @@ in {
|
|||||||
|
|
||||||
htop
|
htop
|
||||||
|
|
||||||
exa
|
eza
|
||||||
|
|
||||||
openconnect
|
openconnect
|
||||||
yq
|
yq
|
||||||
@@ -170,7 +121,7 @@ in {
|
|||||||
# apktool no darwin
|
# apktool no darwin
|
||||||
|
|
||||||
docker
|
docker
|
||||||
lima
|
# lima - removed due to CVEs, use unstable version if needed
|
||||||
llvmPackages_14.clangUseLLVM
|
llvmPackages_14.clangUseLLVM
|
||||||
|
|
||||||
headscale
|
headscale
|
||||||
|
|||||||
@@ -6,10 +6,12 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
services.skhd = {
|
services.skhd = lib.mkIf pkgs.stdenv.isDarwin {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.skhd;
|
package = pkgs.skhd;
|
||||||
skhdConfig = ''
|
};
|
||||||
|
|
||||||
|
home.file.".skhdrc".text = lib.mkIf pkgs.stdenv.isDarwin ''
|
||||||
## Navigation (lalt - ...)
|
## Navigation (lalt - ...)
|
||||||
# Space Navigation (four spaces per display): lalt - {1, 2, 3, 4}
|
# Space Navigation (four spaces per display): lalt - {1, 2, 3, 4}
|
||||||
lalt - 1 : yabai -m space --focus 1
|
lalt - 1 : yabai -m space --focus 1
|
||||||
@@ -104,7 +106,6 @@
|
|||||||
# Open new Alacritty window
|
# Open new Alacritty window
|
||||||
cmd - return : kitty
|
cmd - return : kitty
|
||||||
cmd - o : yabai -m window $(yabai -m query --windows | jq '.[] | select(.app==".kitty-wrapped") | .id') --space $(yabai -m query --spaces | jq '.[] | select(.has-focus==1) .id')
|
cmd - o : yabai -m window $(yabai -m query --windows | jq '.[] | select(.app==".kitty-wrapped") | .id') --space $(yabai -m query --spaces | jq '.[] | select(.has-focus==1) .id')
|
||||||
'';
|
'';
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
# Yabai window manager configuration (macOS only)
|
# Yabai window manager configuration (macOS only)
|
||||||
|
# Note: Yabai is a system-level service and should be configured through nix-darwin
|
||||||
|
# This file only installs the package for home-manager
|
||||||
{
|
{
|
||||||
inputs,
|
inputs,
|
||||||
lib,
|
lib,
|
||||||
@@ -6,51 +8,40 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
# Only enable on macOS since yabai is macOS-specific
|
# Install yabai package for user
|
||||||
services.yabai = lib.mkIf pkgs.stdenv.isDarwin {
|
home.packages = lib.mkIf pkgs.stdenv.isDarwin [
|
||||||
enable = true;
|
pkgs.yabai
|
||||||
|
];
|
||||||
# enableScriptingAddition = true;
|
|
||||||
|
# Create yabai config file
|
||||||
package = pkgs.yabai;
|
home.file.".yabairc" = lib.mkIf pkgs.stdenv.isDarwin {
|
||||||
|
text = ''
|
||||||
config = {
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
# layout
|
# layout
|
||||||
layout = "bsp";
|
yabai -m config layout bsp
|
||||||
auto_balance = "off";
|
yabai -m config auto_balance off
|
||||||
split_ratio = "0.50";
|
yabai -m config split_ratio 0.50
|
||||||
window_placement = "second_child";
|
yabai -m config window_placement second_child
|
||||||
|
|
||||||
# Gaps
|
# Gaps
|
||||||
window_gap = 18;
|
yabai -m config window_gap 18
|
||||||
top_padding = 18;
|
yabai -m config top_padding 18
|
||||||
bottom_padding = 52;
|
yabai -m config bottom_padding 52
|
||||||
left_padding = 18;
|
yabai -m config left_padding 18
|
||||||
right_padding = 18;
|
yabai -m config right_padding 18
|
||||||
|
|
||||||
# shadows and borders
|
# shadows and borders
|
||||||
window_shadow = "float";
|
yabai -m config window_shadow float
|
||||||
|
|
||||||
# mouse
|
# mouse
|
||||||
mouse_follows_focus = "off";
|
yabai -m config mouse_follows_focus off
|
||||||
focus_follows_mouse = "off";
|
yabai -m config focus_follows_mouse off
|
||||||
mouse_modifier = "cmd";
|
yabai -m config mouse_modifier cmd
|
||||||
mouse_action1 = "move";
|
yabai -m config mouse_action1 move
|
||||||
mouse_action2 = "resize";
|
yabai -m config mouse_action2 resize
|
||||||
mouse_drop_action = "swap";
|
yabai -m config mouse_drop_action swap
|
||||||
};
|
|
||||||
|
|
||||||
# # Unload the macOS WindowManager process
|
|
||||||
# launchctl unload -F /System/Library/LaunchAgents/com.apple.WindowManager.plist > /dev/null 2>&1 &
|
|
||||||
# # bar
|
|
||||||
# yabai -m signal --add event=window_focused action="sketchybar --trigger window_focus"
|
|
||||||
# yabai -m signal --add event=display_added action="sleep 1 && ${scripts}/create_spaces.sh"
|
|
||||||
# yabai -m signal --add event=display_removed action="sleep 1 && ${scripts}/create_spaces.sh"
|
|
||||||
# yabai -m signal --add event=window_created action="sketchybar --trigger windows_on_spaces"
|
|
||||||
# yabai -m signal --add event=window_destroyed action="sketchybar --trigger windows_on_spaces"
|
|
||||||
# ${scripts}/create_spaces.sh
|
|
||||||
|
|
||||||
extraConfig = ''
|
|
||||||
# rules
|
# rules
|
||||||
yabai -m rule --add app="^(Genshin Impact|LuLu|Vimac|Calculator|Software Update|Dictionary|VLC|System Preferences|zoom.us|Photo Booth|Archive Utility|Python|LibreOffice|App Store|Steam|Alfred|Activity Monitor)$" manage=off
|
yabai -m rule --add app="^(Genshin Impact|LuLu|Vimac|Calculator|Software Update|Dictionary|VLC|System Preferences|zoom.us|Photo Booth|Archive Utility|Python|LibreOffice|App Store|Steam|Alfred|Activity Monitor)$" manage=off
|
||||||
yabai -m rule --add label="Finder" app="^Finder$" title="(Co(py|nnect)|Move|Info|Pref)" manage=off
|
yabai -m rule --add label="Finder" app="^Finder$" title="(Co(py|nnect)|Move|Info|Pref)" manage=off
|
||||||
@@ -58,5 +49,6 @@
|
|||||||
yabai -m rule --add label="About This Mac" app="System Information" title="About This Mac" manage=off
|
yabai -m rule --add label="About This Mac" app="System Information" title="About This Mac" manage=off
|
||||||
yabai -m rule --add label="Select file to save to" app="^Inkscape$" title="Select file to save to" manage=off
|
yabai -m rule --add label="Select file to save to" app="^Inkscape$" title="Select file to save to" manage=off
|
||||||
'';
|
'';
|
||||||
|
executable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user