The general configuration of my development environment and many other general computer things.
1{
2 description = "Dekker1's home manager configuation";
3
4 inputs = {
5 nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-25.05-darwin";
6 home-manager = {
7 url = "github:nix-community/home-manager/release-25.05";
8 inputs.nixpkgs.follows = "nixpkgs";
9 };
10 darwin = {
11 url = "github:LnL7/nix-darwin/nix-darwin-25.05";
12 inputs.nixpkgs.follows = "nixpkgs";
13 };
14 };
15 outputs =
16 { darwin
17 , home-manager
18 , nixpkgs
19 , ...
20 } @ inputs:
21 let
22 # Systems that can be used
23 linuxSystems = [ "x86_64-linux" "aarch64-linux" ];
24 darwinSystems = [ "aarch64-darwin" "x86_64-darwin" ];
25 # Arguments that are passed into the system configuration
26 name = "Jip J. Dekker";
27 email = "jip@dekker.one";
28 sshSignKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMCC0liW47USr/Ic1rJ52V4eE07y42VG9Ols1zYBrPlc";
29 user = "dekker1";
30 # Special arguments that are passed into each system configuration
31 specialArgs = inputs // { inherit email name sshSignKey user; };
32 in
33 {
34 darwinConfigurations = nixpkgs.lib.genAttrs darwinSystems (system:
35 darwin.lib.darwinSystem {
36 inherit system specialArgs;
37 modules = [
38 home-manager.darwinModules.home-manager
39 ./darwin
40 ];
41 }
42 );
43 nixosConfigurations = nixpkgs.lib.genAttrs linuxSystems (system: nixpkgs.lib.nixosSystem {
44 inherit system specialArgs;
45 modules = [
46 home-manager.nixosModules.home-manager {
47 home-manager = {
48 useGlobalPkgs = true;
49 useUserPackages = true;
50 users.${user} = import ./nixos/home-manager.nix;
51 };
52 }
53 ./nixos
54 ];
55 });
56 };
57}