diff --git a/flake.nix b/flake.nix index f49ea2a..50cccf8 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "Starter Configuration with secrets for MacOS and NixOS"; + description = "Configuration for my macOS laptops and NixOS server"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; agenix.url = "github:ryantm/agenix"; @@ -57,12 +57,12 @@ }; mkLinuxApps = system: { "apply" = mkApp "apply" system; + "build" = mkApp "build" system; "build-switch" = mkApp "build-switch" system; "copy-keys" = mkApp "copy-keys" system; "create-keys" = mkApp "create-keys" system; "check-keys" = mkApp "check-keys" system; - "install" = mkApp "install" system; - "install-with-secrets" = mkApp "install-with-secrets" system; + "rollback" = mkApp "rollback" system; }; mkDarwinApps = system: { "apply" = mkApp "apply" system; diff --git a/hosts/darwin/default.nix b/hosts/darwin/default.nix index 8613a79..8fd17c0 100644 --- a/hosts/darwin/default.nix +++ b/hosts/darwin/default.nix @@ -1,40 +1,32 @@ { agenix, config, pkgs, ... }: let user = "cschmatzler"; in - { imports = [ ../../modules/darwin/secrets.nix ../../modules/darwin/home-manager.nix ../../modules/shared - agenix.darwinModules.default + agenix.darwinModules.default ]; - # Setup user, packages, programs nix = { package = pkgs.nix; - settings = { trusted-users = [ "@admin" "${user}" ]; substituters = [ "https://nix-community.cachix.org" "https://cache.nixos.org" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; }; - gc = { automatic = true; interval = { Weekday = 0; Hour = 2; Minute = 0; }; options = "--delete-older-than 30d"; }; - extraOptions = '' experimental-features = nix-command flakes ''; }; - # Turn off NIX_PATH warnings now that we're using flakes - - # Load configuration that is shared across systems environment.systemPackages = with pkgs; [ agenix.packages."${pkgs.system}".default ] ++ (import ../../modules/shared/packages.nix { inherit pkgs; }); diff --git a/modules/darwin/casks.nix b/modules/darwin/casks.nix index 4afd8d5..dc5398b 100644 --- a/modules/darwin/casks.nix +++ b/modules/darwin/casks.nix @@ -1,6 +1,2 @@ _: - -[ - "raycast" - "1password" -] +[] diff --git a/modules/darwin/home-manager.nix b/modules/darwin/home-manager.nix index 3cd0212..603dfb1 100644 --- a/modules/darwin/home-manager.nix +++ b/modules/darwin/home-manager.nix @@ -21,25 +21,11 @@ in homebrew = { enable = true; casks = pkgs.callPackage ./casks.nix {}; - # onActivation.cleanup = "uninstall"; - - # These app IDs are from using the mas CLI app - # mas = mac app store - # https://github.com/mas-cli/mas - # - # $ nix shell nixpkgs#mas - # $ mas search - # - # If you have previously added these apps to your Mac App Store profile (but not installed them on this system), - # you may receive an error message "Redownload Unavailable with This Apple ID". - # This message is safe to ignore. (https://github.com/dustinlyons/nixos-config/issues/83) masApps = { - # "wireguard" = 1451685025; }; }; - # Enable home-manager home-manager = { useGlobalPkgs = true; users.${user} = { pkgs, config, lib, ... }:{ @@ -50,14 +36,9 @@ in sharedFiles additionalFiles ]; - stateVersion = "23.11"; }; programs = {} // import ../shared/home-manager.nix { inherit config pkgs lib; }; - - # Marked broken Oct 20, 2022 check later to remove this - # https://github.com/nix-community/home-manager/issues/3344 - manual.manpages.enable = false; }; }; diff --git a/modules/darwin/packages.nix b/modules/darwin/packages.nix index 7eaa1d8..4ec88e6 100644 --- a/modules/darwin/packages.nix +++ b/modules/darwin/packages.nix @@ -4,4 +4,6 @@ with pkgs; let shared-packages = import ../shared/packages.nix { inherit pkgs; }; in shared-packages ++ [ dockutil + _1password-gui + raycast ] diff --git a/modules/shared/default.nix b/modules/shared/default.nix index 6967b4b..d3f6d6f 100644 --- a/modules/shared/default.nix +++ b/modules/shared/default.nix @@ -1,7 +1,5 @@ { config, pkgs, ... }: - { - nixpkgs = { config = { allowUnfree = true; @@ -11,7 +9,6 @@ }; overlays = - # Apply each overlay found in the /overlays directory let path = ../../overlays; in with builtins; map (n: import (path + ("/" + n))) (filter (n: match ".*\\.nix" n != null || diff --git a/modules/shared/home-manager.nix b/modules/shared/home-manager.nix index 146b5f8..383b2c8 100644 --- a/modules/shared/home-manager.nix +++ b/modules/shared/home-manager.nix @@ -20,7 +20,7 @@ let name = "Christoph Schmatzler"; file = "p10k.zsh"; } ]; - initExtraFirst = '' + initContent = lib.mkBefore '' if [[ -f /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh ]]; then . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh . /nix/var/nix/profiles/default/etc/profile.d/nix.sh diff --git a/modules/shared/packages.nix b/modules/shared/packages.nix index 79d5d9c..2da63a4 100644 --- a/modules/shared/packages.nix +++ b/modules/shared/packages.nix @@ -8,6 +8,9 @@ with pkgs; [ docker-compose gnupg iosevka + jujutsu + jjui + nixfmt jq killall libfido2 diff --git a/overlays/10-feather-font.nix b/overlays/10-feather-font.nix deleted file mode 100644 index 298b12d..0000000 --- a/overlays/10-feather-font.nix +++ /dev/null @@ -1,30 +0,0 @@ -self: super: with super; { - - feather-font = let - version = "1.0"; - pname = "feather-font"; - in stdenv.mkDerivation { - name = "${pname}-${version}"; - - src = fetchzip { - url = "https://github.com/dustinlyons/feather-font/archive/refs/tags/${version}.zip"; - sha256 = "sha256-Zsz8/qn7XAG6BVp4XdqooEqioFRV7bLH0bQkHZvFbsg="; - }; - - buildInputs = [ unzip ]; - phases = [ "unpackPhase" "installPhase" ]; - - installPhase = '' - mkdir -p $out/share/fonts/truetype - cp $src/feather.ttf $out/share/fonts/truetype/ - ''; - - meta = with lib; { - homepage = "https://www.feathericons.com/"; - description = "Set of font icons from the open source collection Feather Icons"; - license = licenses.mit; - maintainers = [ maintainers.dlyons ]; - platforms = [ platforms.x86_64-linux platforms.x86_64-darwin ]; - }; - }; -} diff --git a/overlays/README.md b/overlays/README.md index 6ffc5ce..f52985e 100644 --- a/overlays/README.md +++ b/overlays/README.md @@ -1,6 +1,3 @@ # Overlays -Files in this directory run automatically as part of each build. Some common ways I've used overlays in the past: -* Applying patches -* Downloading different versions of files (locking to a version or trying a fork) -* Workarounds and stuff I need to run temporarily +Files in this directory run automatically as part of each build. diff --git a/result b/result new file mode 120000 index 0000000..95b8eda --- /dev/null +++ b/result @@ -0,0 +1 @@ +/nix/store/n2fqwnq3a9v4l273ka2hbn1b3c72v6x2-darwin-system-25.11.e04a388 \ No newline at end of file