My nix-darwin and NixOS config
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: update flake

+45 -11
+17
flake.lock
··· 326 326 "type": "github" 327 327 } 328 328 }, 329 + "pkgs-monorepo": { 330 + "inputs": { 331 + "nixpkgs": [ 332 + "nixpkgs" 333 + ] 334 + }, 335 + "locked": { 336 + "narHash": "sha256-o0kih0lokmDxPTsusV+Q73BBchOTC0c142tstufBnig=", 337 + "path": "/Users/ewan/Developer/Git/pkgs", 338 + "type": "path" 339 + }, 340 + "original": { 341 + "path": "/Users/ewan/Developer/Git/pkgs", 342 + "type": "path" 343 + } 344 + }, 329 345 "plasma-manager": { 330 346 "inputs": { 331 347 "home-manager": [ ··· 358 374 "nix-vscode-extensions": "nix-vscode-extensions", 359 375 "nixpkgs": "nixpkgs_5", 360 376 "nixpkgs-unstable": "nixpkgs-unstable", 377 + "pkgs-monorepo": "pkgs-monorepo", 361 378 "plasma-manager": "plasma-manager", 362 379 "sops-nix": "sops-nix" 363 380 }
+11 -1
flake.nix
··· 41 41 42 42 # Language-agnostic monorepo with TypeScript and Rust packages 43 43 pkgs-monorepo = { 44 - url = "path:../../../Developer/Git/pkgs"; 44 + url = "path:/Users/ewan/Developer/Git/pkgs"; 45 45 inputs.nixpkgs.follows = "nixpkgs"; 46 46 }; 47 47 }; ··· 146 146 { nixosConfigurations = self.nixosConfigurations; } 147 147 ]; 148 148 }; 149 + 150 + packages = forAllSystems ( 151 + system: 152 + let 153 + pkgs = nixpkgs.legacyPackages.${system}; 154 + in 155 + { 156 + pds-landing = pkgs.callPackage ./modules/server/pds-landing { }; 157 + } 158 + ); 149 159 150 160 nixosConfigurations = { 151 161 laptop = nixpkgs.lib.nixosSystem {
+17 -10
tools/README.md
··· 21 21 22 22 ## Migration Details 23 23 24 - The source code remains here for reference, but builds should use the monorepo flake. The nix-config flake has been updated to include the monorepo as an input (`pkgs-monorepo`), allowing the tools to be built and run efficiently within a unified workspace. 24 + The source code remains here for reference, but builds should use the monorepo 25 + flake. The nix-config flake has been updated to include the monorepo as an input 26 + (`pkgs-monorepo`), allowing the tools to be built and run efficiently within a 27 + unified workspace. 25 28 26 29 --- 27 30 28 - **For historical reference, see the old documentation below. It remains accurate but all commands should now use the monorepo location.** 31 + **For historical reference, see the old documentation below.** It remains 32 + accurate but all commands should now use the monorepo location. 29 33 30 34 --- 31 35 ··· 52 56 ``` 53 57 54 58 Checks: 59 + 55 60 - Nix daemon is responding 56 61 - `flake.lock` is present and valid JSON 57 62 - Flake evaluates without errors 58 63 - Git working tree is clean 59 64 - Age key exists at `~/.config/age/keys.txt` 60 65 - SSH keys present in `modules/ssh-keys.nix` 66 + - Disk space on `/nix/store` 67 + - Homebrew installed (macOS only) 61 68 - Disk space on `/nix/store` 62 69 - Homebrew installed (macOS only) 63 70 ··· 96 103 The following tools were removed. Their source files remain in `src/bin/` for 97 104 reference but are no longer compiled. 98 105 99 - | Tool | Reason removed | 100 - |---|---| 101 - | `darwin-export` | macOS settings are now fully declarative in `settings/darwin/default.nix` — nothing to export | 102 - | `gnome-export` | GNOME/dconf settings are now fully declarative in `settings/gnome/dconf-settings.nix` — nothing to export | 103 - | `secrets-setup` | Was a stub that only checked if `~/.config/age/keys.txt` existed; `health-check` covers this | 104 - | `categorize-apps` | `nix search` / `brew info --cask` lookups produce false positives; `darwin.nix` is hand-maintained | 105 - | `generate-app-config` | Same reasons as `categorize-apps` | 106 - | `sync-apps` | Same reasons, plus it auto-mutated config files without review | 106 + - `darwin-export` — macOS settings are now fully declarative in `settings/darwin/default.nix` — nothing to export 107 + - `gnome-export` — GNOME/dconf settings are now fully declarative in `settings/gnome/dconf-settings.nix` — nothing to export 108 + - `secrets-setup` — Was a stub that only checked if `~/.config/age/keys.txt` existed; `health-check` covers this 109 + - `categorize-apps` — `nix search` / `brew info --cask` lookups produce false positives; `darwin.nix` is hand-maintained 110 + - `generate-app-config` — Same reasons as `categorize-apps` 111 + - `sync-apps` — Same reasons, plus it auto-mutated config files without review 107 112 108 113 --- 109 114 ··· 113 118 114 119 1. Create `src/bin/your-tool.rs` 115 120 2. Add to `Cargo.toml`: 121 + 116 122 ```toml 117 123 [[bin]] 118 124 name = "your-tool" 119 125 path = "src/bin/your-tool.rs" 120 126 ``` 127 + 121 128 3. Expose in `flake.nix` under `apps` 122 129 4. Add a shell alias in `settings/config/shell.nix` if used regularly 123 130