[feat] More refactoring
This commit is contained in:
135
config/nix/darwin/configuration.nix
Normal file
135
config/nix/darwin/configuration.nix
Normal file
@@ -0,0 +1,135 @@
|
||||
{
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./yabai.nix
|
||||
./skhd.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
nix
|
||||
neovim
|
||||
];
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = "nix-command flakes repl-flake";
|
||||
max-jobs = 8;
|
||||
trusted-users = ["root" "fs0c131y"];
|
||||
};
|
||||
extraOptions = ''
|
||||
build-users-group = nixbld
|
||||
extra-nix-path = nixpkgs=flake:nixpkgs
|
||||
'';
|
||||
package = pkgs.nix;
|
||||
};
|
||||
|
||||
security.pam.enableSudoTouchIdAuth = true;
|
||||
|
||||
programs.bash.enable = true;
|
||||
programs.zsh.enable = true;
|
||||
programs.fish.enable = true;
|
||||
|
||||
services.nix-daemon.enable = true;
|
||||
system.stateVersion = 4;
|
||||
|
||||
system.keyboard.enableKeyMapping = true;
|
||||
system.keyboard.remapCapsLockToControl = true;
|
||||
system.keyboard.swapLeftCommandAndLeftAlt = true;
|
||||
system.keyboard.userKeyMapping = [
|
||||
{
|
||||
# Right Command to Option
|
||||
HIDKeyboardModifierMappingSrc = 30064771303;
|
||||
HIDKeyboardModifierMappingDst = 30064771302;
|
||||
}
|
||||
{
|
||||
# Right Option to command
|
||||
HIDKeyboardModifierMappingSrc = 30064771302;
|
||||
HIDKeyboardModifierMappingDst = 30064771303;
|
||||
}
|
||||
];
|
||||
}
|
||||
# {
|
||||
# description = "Example Darwin system flake";
|
||||
# inputs = {
|
||||
# nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
# # home-manager.url = "github:nix-community/home-manager/master";
|
||||
# # home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# nix-darwin.url = "github:LnL7/nix-darwin";
|
||||
# nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# };
|
||||
# outputs = inputs @ {
|
||||
# self,
|
||||
# nix-darwin,
|
||||
# nixpkgs,
|
||||
# }: let
|
||||
# configuration = {pkgs, ...}: {
|
||||
# # List packages installed in system profile. To search by name, run:
|
||||
# # $ nix-env -qaP | grep wget
|
||||
# environment.systemPackages = with pkgs; [
|
||||
# neovim
|
||||
# bat
|
||||
# ripgrep
|
||||
# fd
|
||||
# fish
|
||||
# nushellFull
|
||||
# tmux
|
||||
# wezterm
|
||||
# # yabai
|
||||
# nerdfonts
|
||||
# ];
|
||||
# # Auto upgrade nix package and the daemon service.
|
||||
# services.nix-daemon.enable = true;
|
||||
# # nix.package = pkgs.nix;
|
||||
# # Necessary for using flakes on this system.
|
||||
# nix = {
|
||||
# settings = {
|
||||
# experimental-features = "nix-command flakes repl-flake";
|
||||
# max-jobs = 8;
|
||||
# };
|
||||
# extraOptions = ''
|
||||
# build-users-group = nixbld
|
||||
# extra-nix-path = nixpkgs=flake:nixpkgs
|
||||
# '';
|
||||
# # keep-outputs = true
|
||||
# # keep-derivations = true
|
||||
# };
|
||||
# # Create /etc/zshrc that loads the nix-darwin environment.
|
||||
# # programs.zsh.enable = true; # default shell on catalina
|
||||
# # programs.fish.enable = true;
|
||||
# # Set Git commit hash for darwin-version.
|
||||
# system.configurationRevision = self.rev or self.dirtyRev or null;
|
||||
# system.keyboard.enableKeyMapping = true;
|
||||
# system.keyboard.remapCapsLockToControl = true;
|
||||
# system.keyboard.swapLeftCommandAndLeftAlt = true;
|
||||
# system.keyboard.userKeyMapping = {
|
||||
# # Right Command to Option
|
||||
# HIDKeyboardModifierMappingSrc = 30064771303;
|
||||
# HIDKeyboardModifierMappingDst = 30064771302;
|
||||
# # Right Option to command
|
||||
# HIDKeyboardModifierMappingSrc = 30064771302;
|
||||
# HIDKeyboardModifierMappingDst = 30064771303;
|
||||
# };
|
||||
# fonts.fonts = [(pkgs.nerdfonts.override {fonts = ["Hasklig" "Hack"];})];
|
||||
# system.defaults.finder.AppleShowAllExtensions = true;
|
||||
# system.defaults.dock.autohide = true;
|
||||
# # Used for backwards compatibility, please read the changelog before changing.
|
||||
# # $ darwin-rebuild changelog
|
||||
# system.stateVersion = 4;
|
||||
# # The platform the configuration will be used on.
|
||||
# nixpkgs.hostPlatform = "aarch64-darwin";
|
||||
# nix.package = pkgs.nix;
|
||||
# };
|
||||
# in {
|
||||
# # Build darwin flake using:
|
||||
# # $ darwin-rebuild build --flake .#simple
|
||||
# darwinConfigurations.Uttarayans-MacBook-Pro = nix-darwin.lib.darwinSystem {
|
||||
# # system = "aarch64-darwin";
|
||||
# pkgs = import nixpkgs {system = "aarch64-darwin";};
|
||||
# modules = [configuration];
|
||||
# };
|
||||
# # Expose the package set, including overlays, for convenience.
|
||||
# # darwinPackages = self.darwinConfigurations.Uttarayans-MacBook-Pro.pkgs;
|
||||
# };
|
||||
# }
|
||||
|
||||
@@ -1,137 +1,34 @@
|
||||
{
|
||||
pkgs,
|
||||
device,
|
||||
devices,
|
||||
inputs,
|
||||
overlays,
|
||||
home-manager,
|
||||
nix-darwin,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./yabai.nix
|
||||
./skhd.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
nix
|
||||
neovim
|
||||
];
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = "nix-command flakes repl-flake";
|
||||
max-jobs = 8;
|
||||
trusted-users = ["root" "fs0c131y"];
|
||||
}:
|
||||
builtins.listToAttrs
|
||||
(builtins.map
|
||||
(device: {
|
||||
name = device.name;
|
||||
value = nix-darwin.lib.darwinSystem {
|
||||
system = device.system;
|
||||
modules = [
|
||||
{nixpkgs.overlays = overlays;}
|
||||
./configuration.nix
|
||||
home-manager.darwinModules.home-manager
|
||||
{
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
inherit device;
|
||||
};
|
||||
users.${device.user}.imports = [../common/home.nix];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
extraOptions = ''
|
||||
build-users-group = nixbld
|
||||
extra-nix-path = nixpkgs=flake:nixpkgs
|
||||
'';
|
||||
package = pkgs.nix;
|
||||
};
|
||||
|
||||
security.pam.enableSudoTouchIdAuth = true;
|
||||
|
||||
programs.bash.enable = true;
|
||||
programs.zsh.enable = true;
|
||||
programs.fish.enable = true;
|
||||
|
||||
nixpkgs.hostPlatform = device.system;
|
||||
services.nix-daemon.enable = true;
|
||||
system.stateVersion = 4;
|
||||
|
||||
system.keyboard.enableKeyMapping = true;
|
||||
system.keyboard.remapCapsLockToControl = true;
|
||||
system.keyboard.swapLeftCommandAndLeftAlt = true;
|
||||
system.keyboard.userKeyMapping = [
|
||||
{
|
||||
# Right Command to Option
|
||||
HIDKeyboardModifierMappingSrc = 30064771303;
|
||||
HIDKeyboardModifierMappingDst = 30064771302;
|
||||
}
|
||||
{
|
||||
# Right Option to command
|
||||
HIDKeyboardModifierMappingSrc = 30064771302;
|
||||
HIDKeyboardModifierMappingDst = 30064771303;
|
||||
}
|
||||
];
|
||||
}
|
||||
# {
|
||||
# description = "Example Darwin system flake";
|
||||
# inputs = {
|
||||
# nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
# # home-manager.url = "github:nix-community/home-manager/master";
|
||||
# # home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# nix-darwin.url = "github:LnL7/nix-darwin";
|
||||
# nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||
# };
|
||||
# outputs = inputs @ {
|
||||
# self,
|
||||
# nix-darwin,
|
||||
# nixpkgs,
|
||||
# }: let
|
||||
# configuration = {pkgs, ...}: {
|
||||
# # List packages installed in system profile. To search by name, run:
|
||||
# # $ nix-env -qaP | grep wget
|
||||
# environment.systemPackages = with pkgs; [
|
||||
# neovim
|
||||
# bat
|
||||
# ripgrep
|
||||
# fd
|
||||
# fish
|
||||
# nushellFull
|
||||
# tmux
|
||||
# wezterm
|
||||
# # yabai
|
||||
# nerdfonts
|
||||
# ];
|
||||
# # Auto upgrade nix package and the daemon service.
|
||||
# services.nix-daemon.enable = true;
|
||||
# # nix.package = pkgs.nix;
|
||||
# # Necessary for using flakes on this system.
|
||||
# nix = {
|
||||
# settings = {
|
||||
# experimental-features = "nix-command flakes repl-flake";
|
||||
# max-jobs = 8;
|
||||
# };
|
||||
# extraOptions = ''
|
||||
# build-users-group = nixbld
|
||||
# extra-nix-path = nixpkgs=flake:nixpkgs
|
||||
# '';
|
||||
# # keep-outputs = true
|
||||
# # keep-derivations = true
|
||||
# };
|
||||
# # Create /etc/zshrc that loads the nix-darwin environment.
|
||||
# # programs.zsh.enable = true; # default shell on catalina
|
||||
# # programs.fish.enable = true;
|
||||
# # Set Git commit hash for darwin-version.
|
||||
# system.configurationRevision = self.rev or self.dirtyRev or null;
|
||||
# system.keyboard.enableKeyMapping = true;
|
||||
# system.keyboard.remapCapsLockToControl = true;
|
||||
# system.keyboard.swapLeftCommandAndLeftAlt = true;
|
||||
# system.keyboard.userKeyMapping = {
|
||||
# # Right Command to Option
|
||||
# HIDKeyboardModifierMappingSrc = 30064771303;
|
||||
# HIDKeyboardModifierMappingDst = 30064771302;
|
||||
# # Right Option to command
|
||||
# HIDKeyboardModifierMappingSrc = 30064771302;
|
||||
# HIDKeyboardModifierMappingDst = 30064771303;
|
||||
# };
|
||||
# fonts.fonts = [(pkgs.nerdfonts.override {fonts = ["Hasklig" "Hack"];})];
|
||||
# system.defaults.finder.AppleShowAllExtensions = true;
|
||||
# system.defaults.dock.autohide = true;
|
||||
# # Used for backwards compatibility, please read the changelog before changing.
|
||||
# # $ darwin-rebuild changelog
|
||||
# system.stateVersion = 4;
|
||||
# # The platform the configuration will be used on.
|
||||
# nixpkgs.hostPlatform = "aarch64-darwin";
|
||||
# nix.package = pkgs.nix;
|
||||
# };
|
||||
# in {
|
||||
# # Build darwin flake using:
|
||||
# # $ darwin-rebuild build --flake .#simple
|
||||
# darwinConfigurations.Uttarayans-MacBook-Pro = nix-darwin.lib.darwinSystem {
|
||||
# # system = "aarch64-darwin";
|
||||
# pkgs = import nixpkgs {system = "aarch64-darwin";};
|
||||
# modules = [configuration];
|
||||
# };
|
||||
# # Expose the package set, including overlays, for convenience.
|
||||
# # darwinPackages = self.darwinConfigurations.Uttarayans-MacBook-Pro.pkgs;
|
||||
# };
|
||||
# }
|
||||
|
||||
})
|
||||
devices)
|
||||
|
||||
Reference in New Issue
Block a user