(mirror) personal dotfiles github.com/crescentrose/dotfiles
at main 112 lines 3.2 kB view raw
1{ 2 description = "starlight"; 3 4 inputs = { 5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 6 7 home-manager = { 8 url = "github:nix-community/home-manager"; 9 inputs.nixpkgs.follows = "nixpkgs"; 10 }; 11 12 zen-browser = { 13 url = "github:0xc000022070/zen-browser-flake"; 14 inputs.nixpkgs.follows = "nixpkgs"; 15 }; 16 17 nixos-hardware.url = "github:NixOS/nixos-hardware"; 18 19 ragenix = { 20 url = "github:yaxitech/ragenix"; 21 inputs.nixpkgs.follows = "nixpkgs"; 22 }; 23 24 nix-darwin = { 25 url = "github:nix-darwin/nix-darwin/master"; 26 inputs.nixpkgs.follows = "nixpkgs"; 27 }; 28 29 dms = { 30 url = "github:AvengeMedia/DankMaterialShell/stable"; 31 inputs.nixpkgs.follows = "nixpkgs"; 32 }; 33 }; 34 35 outputs = 36 inputs@{ 37 home-manager, 38 nixos-hardware, 39 nixpkgs, 40 ragenix, 41 nix-darwin, 42 dms, 43 ... 44 }: 45 let 46 linuxPkgs = import nixpkgs { system = "x86_64-linux"; }; 47 darwinPkgs = import nixpkgs { system = "aarch64-darwin"; }; 48 devShellHook = '' 49 export PATH="$PWD/scripts/bin:$PATH" 50 printf "\n Quick reference:\n\n" 51 printf " \`manage-system update\` update the flake\n" 52 printf " \`manage-system rebuild\` rebuild and switch\n" 53 printf " \`manage-system clean-up\` collect garbage\n" 54 printf "\n💡 Once installed, these commands are available system-wide.\n\n" 55 ''; 56 in 57 { 58 devShells = { 59 "x86_64-linux".default = linuxPkgs.mkShellNoCC { 60 name = "dotfiles-linux"; 61 buildPackages = [ linuxPkgs.nushell ]; 62 shellHook = devShellHook; 63 }; 64 65 "aarch64-darwin".default = darwinPkgs.mkShellNoCC { 66 name = "dotfiles-mac"; 67 buildPackages = [ darwinPkgs.nushell ]; 68 shellHook = devShellHook; 69 }; 70 }; 71 72 nixosConfigurations = { 73 starlight = nixpkgs.lib.nixosSystem { 74 system = "x86_64-linux"; 75 specialArgs = inputs; 76 modules = [ 77 ./machines/starlight 78 dms.nixosModules.greeter 79 nixos-hardware.nixosModules.common-pc 80 nixos-hardware.nixosModules.common-pc-ssd 81 nixos-hardware.nixosModules.common-gpu-amd 82 nixos-hardware.nixosModules.common-cpu-amd-pstate 83 nixos-hardware.nixosModules.common-cpu-amd-zenpower 84 ragenix.nixosModules.default 85 home-manager.nixosModules.home-manager 86 { 87 home-manager = { 88 users.ivan = import ./home/_home.nix; 89 extraSpecialArgs = inputs; 90 }; 91 } 92 ]; 93 }; 94 }; 95 96 darwinConfigurations = { 97 work = nix-darwin.lib.darwinSystem { 98 modules = [ 99 ./machines/work 100 home-manager.darwinModules.home-manager 101 { 102 home-manager = { 103 users."ivan.ostric" = import ./home/_work.nix; 104 backupFileExtension = ".before-nix-darwin"; 105 extraSpecialArgs = inputs; 106 }; 107 } 108 ]; 109 }; 110 }; 111 }; 112}