157 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   description = "Torjus nixos config flake";
 | |
| 
 | |
|   inputs = {
 | |
|     nixpkgs-stable.url = "github:nixos/nixpkgs?ref=nixos-25.05";
 | |
|     #nixpkgs-master.url = "github:nixos/nixpkgs?ref=master";
 | |
|     nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
 | |
|     home-manager = {
 | |
|       url = "github:nix-community/home-manager";
 | |
|       inputs.nixpkgs.follows = "nixpkgs";
 | |
|     };
 | |
|     sops-nix = {
 | |
|       url = "github:Mic92/sops-nix";
 | |
|       inputs.nixpkgs.follows = "nixpkgs";
 | |
|       #inputs.nixpkgs-stable.follows = "nixpkgs-stable";
 | |
|     };
 | |
|     ghettoptt = {
 | |
|       url = "git+https://git.t-juice.club/torjus/ghettoptt?ref=master";
 | |
|       inputs.nixpkgs.follows = "nixpkgs";
 | |
|     };
 | |
|     huecli = {
 | |
|       url = "git+https://git.t-juice.club/torjus/huecli?ref=master";
 | |
|       inputs.nixpkgs.follows = "nixpkgs";
 | |
|     };
 | |
|     nix-packages = {
 | |
|       url = "git+https://git.t-juice.club/torjus/nix-packages?ref=master";
 | |
|       inputs.nixpkgs.follows = "nixpkgs";
 | |
|     };
 | |
|     nixprstatus = {
 | |
|       url = "git+https://git.t-juice.club/torjus/nixprstatus?ref=master";
 | |
|       inputs.nixpkgs.follows = "nixpkgs";
 | |
|     };
 | |
|     natstonotify = {
 | |
|       url = "git+https://git.t-juice.club/torjus/natstonotify?ref=master";
 | |
|       inputs.nixpkgs.follows = "nixpkgs";
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   outputs =
 | |
|     {
 | |
|       self,
 | |
|       nixpkgs,
 | |
|       # nixpkgs-master,
 | |
|       nixpkgs-stable,
 | |
|       nixprstatus,
 | |
|       sops-nix,
 | |
|       ghettoptt,
 | |
|       huecli,
 | |
|       natstonotify,
 | |
|       nix-packages,
 | |
|       ...
 | |
|     }@inputs:
 | |
|     let
 | |
|       system = "x86_64-linux";
 | |
|       user = "torjus";
 | |
|       overlay-stable = final: prev: {
 | |
|         stable = import nixpkgs-stable {
 | |
|           inherit system;
 | |
|           config.allowUnfree = true;
 | |
|         };
 | |
|       };
 | |
|       # overlay-master = final: prev: {
 | |
|       #   master = import nixpkgs-master {
 | |
|       #     inherit system;
 | |
|       #     config.allowUnfree = true;
 | |
|       #   };
 | |
|       # };
 | |
|       allSystems = [
 | |
|         "x86_64-linux"
 | |
|         "aarch64-linux"
 | |
|         "x86_64-darwin"
 | |
|         "aarch64-darwin"
 | |
|       ];
 | |
|       forAllSystems =
 | |
|         f: nixpkgs.lib.genAttrs allSystems (system: f { pkgs = import nixpkgs { inherit system; }; });
 | |
|       commonOverlays = [
 | |
|         overlay-stable
 | |
|         # overlay-master
 | |
|         ghettoptt.overlays.default
 | |
|         huecli.overlays.default
 | |
|         nix-packages.overlays.default
 | |
|         nixprstatus.overlays.default
 | |
|         natstonotify.overlays.default
 | |
|       ];
 | |
|     in
 | |
|     {
 | |
|       formatter.${system} = nixpkgs.legacyPackages.${system}.nixfmt-tree;
 | |
|       nixosConfigurations = {
 | |
|         prismo = nixpkgs.lib.nixosSystem {
 | |
|           inherit system;
 | |
|           specialArgs = {
 | |
|             inherit inputs self user;
 | |
|           };
 | |
|           modules = [
 | |
|             (
 | |
|               { config, pkgs, ... }:
 | |
|               {
 | |
|                 nixpkgs.overlays = commonOverlays;
 | |
|               }
 | |
|             )
 | |
|             ./hosts/prismo
 | |
|             sops-nix.nixosModules.sops
 | |
|           ];
 | |
|         };
 | |
|         magicman = nixpkgs.lib.nixosSystem {
 | |
|           inherit system;
 | |
|           specialArgs = {
 | |
|             inherit inputs self user;
 | |
|           };
 | |
|           modules = [
 | |
|             (
 | |
|               { config, pkgs, ... }:
 | |
|               {
 | |
|                 nixpkgs.overlays = commonOverlays;
 | |
|               }
 | |
|             )
 | |
|             ./hosts/magicman
 | |
|             sops-nix.nixosModules.sops
 | |
|           ];
 | |
|         };
 | |
|         gunter = nixpkgs.lib.nixosSystem {
 | |
|           inherit system;
 | |
|           specialArgs = {
 | |
|             inherit
 | |
|               inputs
 | |
|               self
 | |
|               user
 | |
|               sops-nix
 | |
|               ;
 | |
|           };
 | |
|           modules = [
 | |
|             (
 | |
|               { config, pkgs, ... }:
 | |
|               {
 | |
|                 nixpkgs.overlays = commonOverlays;
 | |
|               }
 | |
|             )
 | |
|             ./hosts/gunter
 | |
|             sops-nix.nixosModules.sops
 | |
|           ];
 | |
|         };
 | |
|       };
 | |
|       devShells = forAllSystems (
 | |
|         { pkgs }:
 | |
|         {
 | |
|           default = pkgs.mkShell {
 | |
|             packages = with pkgs; [
 | |
|               act
 | |
|               actionlint
 | |
|               yamllint
 | |
|             ];
 | |
|           };
 | |
|         }
 | |
|       );
 | |
|     };
 | |
| }
 |