From 4e2ef515705ac318d6754f28ec620fbcf4fbb6c0 Mon Sep 17 00:00:00 2001 From: yousiki Date: Fri, 9 Feb 2024 11:39:32 +0800 Subject: [PATCH] Add sakamoto --- flake.lock | 48 +++++++++++++++++-- flake.nix | 43 ++++++++++++----- src/commonProfiles/nix.nix | 6 ++- src/commonProfiles/packages.nix | 3 +- src/darwinConfigurations/sakamoto/README.md | 3 ++ .../sakamoto/_configuration.nix | 35 ++++++++++++++ src/darwinConfigurations/sakamoto/default.nix | 16 +++++++ 7 files changed, 135 insertions(+), 19 deletions(-) create mode 100644 src/darwinConfigurations/sakamoto/README.md create mode 100644 src/darwinConfigurations/sakamoto/_configuration.nix create mode 100644 src/darwinConfigurations/sakamoto/default.nix diff --git a/flake.lock b/flake.lock index 3019b41..47ab645 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,25 @@ { "nodes": { + "darwin": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1706833576, + "narHash": "sha256-w7BL0EWRts+nD1lbLECIuz6fRzmmV+z8oWwoY7womR0=", + "owner": "LnL7", + "repo": "nix-darwin", + "rev": "bdbae6ecff8fcc322bf6b9053c0b984912378af7", + "type": "github" + }, + "original": { + "owner": "LnL7", + "repo": "nix-darwin", + "type": "github" + } + }, "default-systems": { "locked": { "lastModified": 1681028828, @@ -86,6 +106,26 @@ "type": "github" } }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1707175763, + "narHash": "sha256-0MKHC6tQ4KEuM5rui6DjKZ/VNiSANB4E+DJ/+wPS1PU=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "f99eace7c167b8a6a0871849493b1c613d0f1b80", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "nixos-vscode-server": { "inputs": { "flake-utils": "flake-utils", @@ -109,11 +149,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1707268954, - "narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=", + "lastModified": 1707423438, + "narHash": "sha256-6URYQs2deyXOa6q9SuV2OgKtjx1q7Jnr0mgmO3DFqfw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", + "rev": "a1eec211fcb06ae6eb9a46b399878cb1cc1717c0", "type": "github" }, "original": { @@ -143,10 +183,12 @@ }, "root": { "inputs": { + "darwin": "darwin", "default-systems": "default-systems", "flake-parts": "flake-parts", "flake-root": "flake-root", "haumea": "haumea", + "home-manager": "home-manager", "nixos-vscode-server": "nixos-vscode-server", "nixpkgs": "nixpkgs", "treefmt-nix": "treefmt-nix" diff --git a/flake.nix b/flake.nix index 5fb7dfb..368b749 100644 --- a/flake.nix +++ b/flake.nix @@ -62,6 +62,7 @@ inherit (src) commonProfiles + darwinConfigurations nixosConfigurations nixosProfiles ; @@ -71,6 +72,12 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + darwin.url = "github:LnL7/nix-darwin"; + darwin.inputs.nixpkgs.follows = "nixpkgs"; + + home-manager.url = "github:nix-community/home-manager"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + haumea.url = "github:nix-community/haumea"; haumea.inputs.nixpkgs.follows = "nixpkgs"; @@ -87,20 +94,32 @@ nixos-vscode-server.inputs.nixpkgs.follows = "nixpkgs"; }; - nixConfig = { - extra-trusted-substituters = [ - "https://cache.garnix.io" - "https://cache.nixos.org" - "https://hyprland.cachix.org" - "https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store" - "https://mirrors.ustc.edu.cn/nix-channels/store" - "https://nichijou.cachix.org" - "https://nix-community.cachix.org" - "https://nixpkgs-wayland.cachix.org" - "https://numtide.cachix.org" + nixConfig = rec { + substituters = [ + "https://cache.garnix.io?priority=50" + "https://cache.nixos.org?priority=45" + "https://hyprland.cachix.org?priority=40" + "https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store?priority=30" + "https://mirrors.ustc.edu.cn/nix-channels/store?priority=35" + "https://nichijou.cachix.org?priority=40" + "https://nix-community.cachix.org?priority=40" + "https://nixpkgs-wayland.cachix.org?priority=40" + "https://numtide.cachix.org?priority=40" + ]; + trusted-substituters = [ + "https://cache.garnix.io?priority=50" + "https://cache.nixos.org?priority=45" + "https://hyprland.cachix.org?priority=40" + "https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store?priority=30" + "https://mirrors.ustc.edu.cn/nix-channels/store?priority=35" + "https://nichijou.cachix.org?priority=40" + "https://nix-community.cachix.org?priority=40" + "https://nixpkgs-wayland.cachix.org?priority=40" + "https://numtide.cachix.org?priority=40" ]; - extra-trusted-public-keys = [ + trusted-public-keys = [ "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "nichijou.cachix.org-1:rbaTU9nLgVW9BK/HSV41vsag6A7/A/caBpcX+cR/6Ps=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" diff --git a/src/commonProfiles/nix.nix b/src/commonProfiles/nix.nix index 5c38d5f..71fc03f 100644 --- a/src/commonProfiles/nix.nix +++ b/src/commonProfiles/nix.nix @@ -32,10 +32,12 @@ in { trusted-users = ["root" "@wheel" "@admin"]; # Never warn about dirty Git/Mercurial trees. warn-dirty = false; + # Substituters. + substituters = mkForce flake.nixConfig.substituters; # Trusted substituters - trusted-substituters = flake.nixConfig.extra-trusted-substituters; + trusted-substituters = mkForce flake.nixConfig.trusted-substituters; # Trusted public keys - trusted-public-keys = flake.nixConfig.extra-trusted-public-keys; + trusted-public-keys = mkForce flake.nixConfig.trusted-public-keys; }; # Garbage collector diff --git a/src/commonProfiles/packages.nix b/src/commonProfiles/packages.nix index fada51f..9c34b2c 100644 --- a/src/commonProfiles/packages.nix +++ b/src/commonProfiles/packages.nix @@ -16,6 +16,7 @@ with builtins // lib; { fzf gdu gh + git helix jq man @@ -27,8 +28,6 @@ with builtins // lib; { ]; programs.fish.enable = true; - programs.git.enable = true; - programs.git.lfs.enable = true; programs.tmux.enable = true; programs.zsh.enable = true; } diff --git a/src/darwinConfigurations/sakamoto/README.md b/src/darwinConfigurations/sakamoto/README.md new file mode 100644 index 0000000..5b89dd6 --- /dev/null +++ b/src/darwinConfigurations/sakamoto/README.md @@ -0,0 +1,3 @@ +# darwinConfigurations.sakamoto + +`sakamoto` is my personal MacbookPro (x86_64). diff --git a/src/darwinConfigurations/sakamoto/_configuration.nix b/src/darwinConfigurations/sakamoto/_configuration.nix new file mode 100644 index 0000000..b0a8e5e --- /dev/null +++ b/src/darwinConfigurations/sakamoto/_configuration.nix @@ -0,0 +1,35 @@ +{ + config, + lib, + pkgs, + ... +}: { + networking.hostName = "sakamoto"; + networking.computerName = "YouSiki MacBookPro"; + + users.users.yousiki = { + name = "yousiki"; + home = "/Users/yousiki"; + }; + + services.activate-system.enable = true; + services.nix-daemon.enable = true; + + # Add ability to used TouchID for sudo authentication + security.pam.enableSudoTouchIdAuth = true; + + # System configurations + system.defaults.NSGlobalDomain.ApplePressAndHoldEnabled = false; + system.defaults.NSGlobalDomain.AppleShowAllExtensions = true; + system.defaults.dock.show-recents = false; + system.defaults.dock.tilesize = 48; + system.defaults.finder.QuitMenuItem = true; + system.defaults.finder.ShowPathbar = true; + system.defaults.finder.ShowStatusBar = true; + system.defaults.trackpad.Clicking = true; + system.defaults.trackpad.TrackpadThreeFingerDrag = true; + + # Used for backwards compatibility, please read the changelog before changing. + # $ darwin-rebuild changelog + system.stateVersion = 4; +} diff --git a/src/darwinConfigurations/sakamoto/default.nix b/src/darwinConfigurations/sakamoto/default.nix new file mode 100644 index 0000000..2793581 --- /dev/null +++ b/src/darwinConfigurations/sakamoto/default.nix @@ -0,0 +1,16 @@ +# Configuration for sakamoto, which is an intel MacbookPro. +{globals, ...}: let + darwinModules = [ + # Host-specific modules + ./_configuration.nix + + # Host specific profiles + globals.outputs.commonProfiles.nix + globals.outputs.commonProfiles.packages + ]; +in + globals.inputs.darwin.lib.darwinSystem { + system = "x86_64-darwin"; + specialArgs = {inherit globals;}; + modules = darwinModules; + }