diff --git a/README.md b/README.md index 202d207..c0b76b0 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,12 @@ To update the flake run: ``` sudo nix flake update ``` + +On nix-darwin for install run: + +``` + sudo nix --extra-experimental-features "nix-command flakes" run nix-darwin/master#darwin-rebuild -- switch --flake .#admins-MacBook-Air +``` To rebuild and switch to the configuration, first copy over the *hardware.nix* which by default on a NixOS install will be at `/etc/nixos/hardware-configuration.nix` and then run one of the following ``` sudo nixos-rebuild switch --flake .#desktop diff --git a/config/desktop.nix b/config/desktop.nix index 015ee5c..8b4e6d7 100644 --- a/config/desktop.nix +++ b/config/desktop.nix @@ -235,7 +235,6 @@ "element-desktop.desktop" "steam.desktop" "bitwarden.desktop" - "weather.desktop" "org.gnome.Settings.desktop" "org.gnome.Console.desktop" ]; diff --git a/flake.lock b/flake.lock index f7d851b..8ee5dd0 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1777258755, - "narHash": "sha256-EC07KwADRE2LdIk7vEDyAaD3I0ZUq24T9jQF9L0iEPk=", + "lastModified": 1777733408, + "narHash": "sha256-lyKV2GtkMPS1Mp8bKJ8sBr7LPCzL4GnVnQQYa4e7UsQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "7f8bbc93d63401e41368d6ddc46a4f631610fa90", + "rev": "9ce9f7f128c5834bb71a4f5c62232187371379b6", "type": "github" }, "original": { @@ -45,31 +45,31 @@ "nix-darwin": { "inputs": { "nixpkgs": [ - "nixpkgs-unstable" + "nixpkgs" ] }, "locked": { - "lastModified": 1775037210, - "narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=", + "lastModified": 1772129556, + "narHash": "sha256-Utk0zd8STPsUJPyjabhzPc5BpPodLTXrwkpXBHYnpeg=", "owner": "nix-darwin", "repo": "nix-darwin", - "rev": "06648f4902343228ce2de79f291dd5a58ee12146", + "rev": "ebec37af18215214173c98cf6356d0aca24a2585", "type": "github" }, "original": { "owner": "nix-darwin", - "ref": "master", + "ref": "nix-darwin-25.11", "repo": "nix-darwin", "type": "github" } }, "nixos-hardware": { "locked": { - "lastModified": 1776830795, - "narHash": "sha256-PAfvLwuHc1VOvsLcpk6+HDKgMEibvZjCNvbM1BJOA7o=", + "lastModified": 1776983936, + "narHash": "sha256-ZOQyNqSvJ8UdrrqU1p7vaFcdL53idK+LOM8oRWEWh6o=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "72674a6b5599e844c045ae7449ba91f803d44ebc", + "rev": "2096f3f411ce46e88a79ae4eafcfc9df8ed41c61", "type": "github" }, "original": { @@ -81,11 +81,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1776734388, - "narHash": "sha256-vl3dkhlE5gzsItuHoEMVe+DlonsK+0836LIRDnm6MXQ=", + "lastModified": 1777428379, + "narHash": "sha256-ypxFOeDz+CqADEQNL72haqGjvZQdBR5Vc7pyx2JDttI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "10e7ad5bbcb421fe07e3a4ad53a634b0cd57ffac", + "rev": "755f5aa91337890c432639c60b6064bb7fe67769", "type": "github" }, "original": { @@ -97,11 +97,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1776329215, - "narHash": "sha256-a8BYi3mzoJ/AcJP8UldOx8emoPRLeWqALZWu4ZvjPXw=", + "lastModified": 1777641297, + "narHash": "sha256-WNGcmeOZ8Tr9dq6ztCspYbzWFswr2mPebM9LpsfGxPk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b86751bc4085f48661017fa226dee99fab6c651b", + "rev": "c6d65881c5624c9cae5ea6cedef24699b0c0a4c0", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 3b7fe5c..d883ad5 100644 --- a/flake.nix +++ b/flake.nix @@ -9,8 +9,8 @@ home-manager-unstable.url = "github:nix-community/home-manager/master"; home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs-unstable"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - nix-darwin.url = "github:nix-darwin/nix-darwin/master"; - nix-darwin.inputs.nixpkgs.follows = "nixpkgs-unstable"; + nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-25.11"; + nix-darwin.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = @@ -64,7 +64,7 @@ modules = [ ./config/common.nix ./hosts/macbook/settings.nix - home-manager-unstable.darwinModules.home-manager + home-manager.darwinModules.home-manager { users.users.admin = { name = "admin"; diff --git a/hosts/macbook/settings.nix b/hosts/macbook/settings.nix index 1ee1873..0a11673 100644 --- a/hosts/macbook/settings.nix +++ b/hosts/macbook/settings.nix @@ -15,7 +15,6 @@ system.stateVersion = 6; localsend anki bitwarden-desktop - element-desktop wireshark inkscape moonlight-qt @@ -24,6 +23,7 @@ system.stateVersion = 6; chirp scrcpy restic-browser + obsidian # games unciv @@ -33,10 +33,111 @@ system.stateVersion = 6; # emu ryubing xemu - dolphin-emu #backup keepassxc ]; + homebrew = { + enable = true; + onActivation = { + autoUpdate = true; + upgrade = true; + }; + caskArgs.appdir = "/Applications/Homebrew"; + casks = [ + "middleclick" + "freecad" + "blender" + "orcaslicer" + "mullvad-vpn" + "gimp" + "kiwix" + "libreoffice" + "obs" + "tor-browser" + "monero-wallet" + "element" +# "veracrypt-fuse-t" +# "fuse-t" + "nextcloud" + ]; + }; + + system.primaryUser = "admin"; + + system.defaults.dock.magnification = false; + system.defaults.dock.persistent-apps = [ + "/Applications/Nix Apps/Brave Browser.app" + "/Applications/Nix Apps/Proton Mail.app" + "/Applications/Nix Apps/Obsidian.app" + "/Applications/Nix Apps/Signal.app" + "/Applications/Nix Apps/Bitwarden.app" + "/System/Applications/System Settings.app" + "/System/Applications/Utilities/Terminal.app" + ]; + + system.defaults.dock.persistent-others = [ + # List the items you DO want, leaving out the Downloads folder + ]; + + system.defaults.finder.AppleShowAllExtensions = true; + system.defaults.finder.AppleShowAllFiles = true; + system.defaults.finder.CreateDesktop = false; # don't show desktop icons + system.defaults.finder.NewWindowTarget = "Home"; + system.defaults.finder.ShowPathbar = true; + system.defaults.finder.ShowStatusBar = true; + + system.defaults.loginwindow.GuestEnabled = false; + + system.defaults.trackpad.Clicking = true; # tap to click + + system.keyboard.enableKeyMapping = true; + system.keyboard.remapCapsLockToEscape = false; + system.keyboard.swapLeftCommandAndLeftAlt = false; + system.keyboard.swapLeftCtrlAndFn = false; + + services.tailscale = { + enable = true; + }; + + services.yabai = { + enable = true; + config = { + layout = "bsp"; + top_padding = "15"; + bottom_padding = "15"; + left_padding = "15"; + right_padding = "15"; + window_gap = "15"; + }; + }; + + services.skhd = { + enable = true; + skhdConfig = "alt + return : open -na /System/Applications/Utilities/Terminal.app"; + }; + + services.sketchybar = { + enable = true; + config = '' + export COLOR_BLACK="0xff181926" + export COLOR_WHITE="0xffcad3f5" + + # Configure bar + sketchybar --bar height=32 \ + position=top \ + padding_left=10 \ + padding_right=10 \ + color=$COLOR_BLACK + # Configure default values + sketchybar --default icon.font="SF Pro:Bold:14.0" \ + icon.color=$COLOR_WHITE \ + label.font="SF Pro:Bold:14.0" \ + label.color=$COLOR_WHITE + sketchybar --add item clock right --set clock script="date '+%H:%M'" update_freq=10 + sketchybar --update + ''; + }; + }