90 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   description = "System configuration of my machines using flakes";
 | |
| 
 | |
|   inputs = {
 | |
|     nixpkgs.url = "nixpkgs/nixos-25.05";
 | |
|     nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
 | |
| 
 | |
|     flake-utils.url = "github:numtide/flake-utils";
 | |
|     home-manager = {
 | |
|       url = "github:nix-community/home-manager/release-25.05";
 | |
|       inputs.nixpkgs.follows = "nixpkgs";
 | |
|     };
 | |
|     openconnect-sso = {
 | |
|       url = "github:ThinkChaos/openconnect-sso/fix/nix-flake";
 | |
|       inputs = {
 | |
|         flake-utils.follows = "utils";
 | |
|         nixpkgs.follows = "nixpkgs";
 | |
|       };
 | |
|     };
 | |
|     sops-nix = {
 | |
|       url = "github:Mic92/sops-nix";
 | |
|       inputs.nixpkgs.follows = "nixpkgs";
 | |
|     };
 | |
|     utils = {
 | |
|       url = "github:gytis-ivaskevicius/flake-utils-plus";
 | |
|       inputs.flake-utils.follows = "flake-utils";
 | |
|     };
 | |
|     zen-browser = {
 | |
|       url = "github:youwen5/zen-browser-flake";
 | |
|       inputs.nixpkgs.follows = "nixpkgs";
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   outputs = inputs@{
 | |
|     self, nixpkgs, nixpkgs-unstable,
 | |
|     flake-utils, home-manager, openconnect-sso, sops-nix, utils, zen-browser,
 | |
|     ... }:
 | |
|     let
 | |
|       system = utils.lib.system.x86_64-linux;
 | |
| 
 | |
|       unfreePackages = pkg: builtins.elem (nixpkgs.lib.getName pkg) [
 | |
|         "corefonts"
 | |
|         "nvidia-settings" "nvidia-x11" "nvidia-persistenced"
 | |
|         "Oracle_VirtualBox_Extension_Pack"
 | |
|         "spotify"
 | |
|         "steam" "steam-unwrapped" "steam-run"
 | |
|         "vista-fonts"
 | |
|         "intel-ocl"
 | |
|         "libfprint-2-tod1-broadcom"
 | |
|       ];
 | |
|     in
 | |
|     utils.lib.mkFlake {
 | |
|       inherit self inputs;
 | |
| 
 | |
|       channelsConfig.allowUnfreePredicate = unfreePackages;
 | |
| 
 | |
|       sharedOverlays = [
 | |
|         (import ./overlays/cmdtime)
 | |
|         (import ./overlays/icosystem)
 | |
|         (import ./overlays/letter)
 | |
|         (import ./overlays/spotify)
 | |
|       ];
 | |
| 
 | |
|       hostDefaults = {
 | |
|         inherit system;
 | |
| 
 | |
|         specialArgs = {
 | |
|           pkgs-unstable = import nixpkgs-unstable {
 | |
|             inherit system;
 | |
|             config.allowUnfreePredicate = unfreePackages;
 | |
|           };
 | |
|         };
 | |
| 
 | |
|         modules = [
 | |
|           ./modules
 | |
|           ./users
 | |
| 
 | |
|           home-manager.nixosModules.home-manager
 | |
|           sops-nix.nixosModules.sops
 | |
|         ];
 | |
|       };
 | |
| 
 | |
|       hosts = {
 | |
|         Tibo-NixDesk.modules = [ ./hosts/Tibo-NixDesk ];
 | |
|         Tibo-NixFat.modules  = [ ./hosts/Tibo-NixFat  ];
 | |
|         Tibo-NixTest.modules = [ ./hosts/Tibo-NixTest ];
 | |
|         Tibo-NixTop.modules  = [ ./hosts/Tibo-NixTop  ];
 | |
|       };
 | |
|     };
 | |
| }
 |