refactor(flake-parts): initial flake-parts configuration
This commit is contained in:
		
							parent
							
								
									8f67be9e68
								
							
						
					
					
						commit
						5603001d65
					
				
					 230 changed files with 380 additions and 717 deletions
				
			
		|  | @ -1,7 +0,0 @@ | |||
| keys: | ||||
|   - &ooks age16ecqs0u4h4qvnp7nr2rdhd0d2qrw7x5kk60u473d6988a0amsass4d5a22 | ||||
| creation_rules: | ||||
|   - path_regex: secrets/secrets.yaml$ | ||||
|     key_groups: | ||||
|     - age: | ||||
|         - *ooks | ||||
							
								
								
									
										737
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										737
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										237
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										237
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -1,181 +1,104 @@ | |||
| { | ||||
|   # ooknix | ||||
|   description = "a nix configuration written by an orangutan"; | ||||
| 
 | ||||
|   outputs = { flake-parts, nixpkgs, self, ... } @ inputs: | ||||
|     flake-parts.lib.mkFlake {inherit inputs;} ({withSystem, ...}: { | ||||
| 
 | ||||
|       systems = [ | ||||
|         "x86_64-linux" | ||||
|         "aarch64-linux" | ||||
|       ]; | ||||
| 
 | ||||
|       imports = [ | ||||
|         ./outputs/pkgs | ||||
|       ]; | ||||
| 
 | ||||
|       flake = { | ||||
|         nixosConfigurations = import ./outputs/nixos {inherit self inputs nixpkgs;}; | ||||
|       }; | ||||
| 
 | ||||
|     }); | ||||
| 
 | ||||
|   # External inputs we depend on | ||||
|   inputs = { | ||||
|     nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; | ||||
|   ## TODO:  | ||||
|   ## look into nix-super | ||||
|   ## IMPLEMENT SECRETS YOU APE (agenix looks best) | ||||
|    | ||||
|     # unstable because why not | ||||
|     nixpkgs.url = "github:Nixos/nixpkgs/nixos-unstable"; | ||||
|     nixpkgs-small.url = "github:Nixos/nixpkgs/nixos-unstable-small"; | ||||
| 
 | ||||
|     home-manager.url = "github:nix-community/home-manager"; | ||||
|     # contains more up-to-date wayland related packages | ||||
|     nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland"; | ||||
| 
 | ||||
|     home-manager.inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     # split your flake into... parts? | ||||
|     flake-parts = { | ||||
|       url = "github:hercules-ci/flake-parts";  | ||||
|       inputs.nixpkgs-lib.follows = "nixpkgs"; | ||||
|     }; | ||||
| 
 | ||||
|     # dotfile configuration | ||||
|     home-manager = { | ||||
|       url = "github:nix-community/home-manager"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs";  | ||||
|     }; | ||||
| 
 | ||||
|     # nix shell environment on android | ||||
|     nix-on-droid = { | ||||
|       url = "github:nix-community/nix-on-droid/release-23.11"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|       inputs.home-manager.follows = "home-manager"; | ||||
|     }; | ||||
| 
 | ||||
|     hardware.url = "github:nixos/nixos-hardware"; | ||||
| 
 | ||||
|     nix-colors.url = "github:misterio77/nix-colors"; | ||||
| 
 | ||||
|     ags.url = "github:Aylur/ags"; | ||||
| 
 | ||||
|     sops-nix = { | ||||
|       url = "github:Mic92/sops-nix"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
|      | ||||
|     nixvim = { | ||||
|       url = "github:nix-community/nixvim"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
| 
 | ||||
|     firefox-addons = { | ||||
|       url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
|     # schizofox = { | ||||
|     #   url = "github:schizofox/schizofox"; | ||||
|     #   inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     # }; | ||||
|     hyprwm-contrib = { | ||||
|       url = "github:hyprwm/contrib"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
|    | ||||
|     hyprland = { | ||||
|       url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
|    | ||||
|     hyprland-plugins = { | ||||
|       url = "github:hyprwm/hyprland-plugins"; | ||||
|       inputs.hyprland.follows = "hyprland"; | ||||
|     }; | ||||
| 
 | ||||
|     hyprlock.url = "github:hyprwm/hyprlock"; | ||||
| 
 | ||||
|     xdg-portal-hyprland.url = "github:hyprwm/xdg-desktop-portal-hyprland"; | ||||
| 
 | ||||
|     hypridle = { | ||||
|       url = "github:hyprwm/hypridle"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
| 
 | ||||
|     ooks-scripts = { | ||||
|       url = "github:ooks-io/scripts"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
|    | ||||
|     hyprpaper.url = "github:hyprwm/hyprpaper"; | ||||
|    | ||||
|     helix = { | ||||
|       url = "github:helix-editor/helix"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
| 
 | ||||
|     # wrapper for nix rebuild | ||||
|     nh = { | ||||
|       url = "github:viperML/nh"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
| 
 | ||||
|     anyrun = { | ||||
|       url = "github:Kirottu/anyrun"; | ||||
|     # nix language server that berates me for my mistakes | ||||
|     nil = { | ||||
|       url = "github:oxalica/nil"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs-small"; | ||||
|     }; | ||||
| 
 | ||||
|     # colorschemes library | ||||
|     nix-colors.url = "github:misterio77/nix-colors"; | ||||
| 
 | ||||
| 
 | ||||
|     # hyprland "ecosystem". hyprDE perhaps? | ||||
|     hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; | ||||
|     hyprlock.url = "github:hyprwm/hyprlock"; | ||||
|     hypridle.url = "github:hyprwm/hypridle"; | ||||
|     hyprpaper.url = "github:hyprwm/hyprpaper"; | ||||
|     hyprland-contrib.url = "github:hyprwm/contrib"; | ||||
|     xdg-portal-hyprland.url = "github:hyprwm/xdg-desktop-portal-hyprland"; | ||||
|     hyprland-plugins = { | ||||
|       url = "github:hyprwm/hyprland-plugins"; | ||||
|       inputs.hyprland.follows = "hyprland"; | ||||
|     }; | ||||
| 
 | ||||
|     # helix because noun -> verb helps scratches my ape brain in the right spot | ||||
|     helix = { | ||||
|       url = "github:helix-editor/helix"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs-small"; | ||||
|     }; | ||||
| 
 | ||||
|     # packaged firefox addons | ||||
|     firefox-addons = { | ||||
|       url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
| 
 | ||||
|     # zellij status bar | ||||
|     zjstatus.url = "github:dj95/zjstatus"; | ||||
| 
 | ||||
|     nixarr = { | ||||
|       url = "github:rasmus-kirk/nixarr"; | ||||
|     }; | ||||
|     # media server module for hosting my legally purchased linux isos | ||||
|     nixarr.url = "github:rasmus-kirk/nixarr"; | ||||
| 
 | ||||
|     nixpkgs-wayland = { | ||||
|       url = "github:nix-community/nixpkgs-wayland"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
|      | ||||
|   }; | ||||
| 
 | ||||
| 
 | ||||
|   outputs = { self, nixpkgs, home-manager, nix-on-droid, ... }@inputs: | ||||
|     let | ||||
|       inherit (self) outputs; | ||||
|       lib = nixpkgs.lib // home-manager.lib; | ||||
|       systems = [ "x86_64-linux" "aarch64-linux" ]; | ||||
|       forEachSystem = f: lib.genAttrs systems (sys: f pkgsFor.${sys}); | ||||
|       pkgsFor = nixpkgs.legacyPackages; | ||||
| 
 | ||||
|       hm = inputs.home-manager.nixosModules.home-manager; | ||||
|     in | ||||
|     { | ||||
|       inherit lib; | ||||
| 
 | ||||
|       overlays = import ./overlays { inherit inputs outputs; }; | ||||
| 
 | ||||
|       packages = forEachSystem (pkgs: { | ||||
|         live-buds-cli = pkgs.callPackage ./pkgs/live-buds-cli { }; | ||||
|       }); | ||||
| 
 | ||||
|       devShells = forEachSystem (pkgs: import ./shell.nix { inherit pkgs; }); | ||||
|       formatter = forEachSystem (pkgs: pkgs.nixpkgs-fmt); | ||||
| 
 | ||||
|       nixosConfigurations = { | ||||
|         # T480s | ||||
|         ookst480s =  lib.nixosSystem { | ||||
|           modules = [ ./system/hosts/ookst480s ]; | ||||
|           specialArgs = { inherit inputs outputs; }; | ||||
|         }; | ||||
|         # Main Desktop | ||||
|         ooksdesk =  lib.nixosSystem { | ||||
|           modules = [  | ||||
|             ./system/hosts/ooksdesk | ||||
|             hm | ||||
|           ]; | ||||
|           specialArgs = { inherit inputs outputs self; }; | ||||
|         }; | ||||
|         # GPD Micro-PC | ||||
|         ooksmicro =  lib.nixosSystem { | ||||
|           modules = [ ./system/hosts/ooksmicro ]; | ||||
|           specialArgs = { inherit inputs outputs; }; | ||||
|         }; | ||||
|         # Media Server/Alternative desktop | ||||
|         ooksmedia =  lib.nixosSystem { | ||||
|           modules = [ ./system/hosts/ooksmedia ]; | ||||
|           specialArgs = { inherit inputs outputs; }; | ||||
|         }; | ||||
|       }; | ||||
|       homeConfigurations = { | ||||
|         # T480s | ||||
|         "ooks@ookst480s" = lib.homeManagerConfiguration { | ||||
|           modules = [ ./home/user/ooks/ookst480s ]; | ||||
|           pkgs = pkgsFor.x86_64-linux; | ||||
|           extraSpecialArgs = { inherit inputs outputs; }; | ||||
|       }; | ||||
|         # Main Desktop | ||||
|         "ooks@ooksdesk" = lib.homeManagerConfiguration { | ||||
|           modules = [ ./home/user/ooks/ooksdesk ]; | ||||
|           pkgs = pkgsFor.x86_64-linux; | ||||
|           extraSpecialArgs = { inherit inputs outputs; }; | ||||
|       }; | ||||
|         # GPD Micro-PC | ||||
|         "ooks@ooksmicro" = lib.homeManagerConfiguration { | ||||
|           modules = [ ./home/user/ooks/ooksmicro ]; | ||||
|           pkgs = pkgsFor.x86_64-linux; | ||||
|           extraSpecialArgs = { inherit inputs outputs; }; | ||||
|       }; | ||||
|         # Media Server/Alternative desktop | ||||
|         "ooks@ooksmedia" = lib.homeManagerConfiguration { | ||||
|           modules = [ ./home/user/ooks/ooksmedia ]; | ||||
|           pkgs = pkgsFor.x86_64-linux; | ||||
|           extraSpecialArgs = { inherit inputs outputs; }; | ||||
|       }; | ||||
|     }; | ||||
|     nixOnDroidConfigurations.default = nix-on-droid.lib.nixOnDroidConfiguration { | ||||
|       modules = [ ./system/hosts/ooksphone ]; | ||||
|       pkgs = import nixpkgs { | ||||
|         system = "aarch64-linux"; | ||||
|       }; | ||||
|       system = "aarch64-linux"; | ||||
|       extraSpecialArgs = { inherit inputs outputs; }; | ||||
|     }; | ||||
|     # personal scripts repo | ||||
|     ooks-scripts.url = "github:ooks-io/scripts"; | ||||
|   }; | ||||
| } | ||||
|  |  | |||
|  | @ -1,25 +0,0 @@ | |||
| { lib, config, inputs, pkgs, ... }: | ||||
| 
 | ||||
| let | ||||
|   cfg = config.homeModules.sops; | ||||
| in | ||||
| 
 | ||||
| { | ||||
| 
 | ||||
|   imports = [ | ||||
|     inputs.sops-nix.homeManagerModules.sops | ||||
|   ]; | ||||
|   options.homeModules.sops.enable = lib.mkEnableOption "Enable sops"; | ||||
| 
 | ||||
|   config = lib.mkIf cfg.enable { | ||||
|     home.packages = [ pkgs.sops ]; | ||||
|     sops = { | ||||
|       age.keyFile = "/home/ooks/.config/sops/age/keys.txt"; | ||||
|       defaultSopsFile = ./secrets.yaml; | ||||
| 
 | ||||
|       secrets = { | ||||
|         spotifyClientId = { }; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,22 +0,0 @@ | |||
| spotifyClientId: ENC[AES256_GCM,data:T9OJK/xEr87HdeOKadpIY1Oe5fJzqVjhOU6W/DHeYvc=,iv:oweEMqRAPf0WwPADSgB+lDldj23KOlueLyNIgtfWzbo=,tag:/pUN92uMWB+j0okvjYJUGg==,type:str] | ||||
| spotifyUserId: ENC[AES256_GCM,data:MeowarV/Wg==,iv:Guqwg3rulJCuMwuSeluMPiQnjaQxDEmYEgDffzkGyqc=,tag:hdkZS5Uj733EcODZxJAxaw==,type:str] | ||||
| sops: | ||||
|     kms: [] | ||||
|     gcp_kms: [] | ||||
|     azure_kv: [] | ||||
|     hc_vault: [] | ||||
|     age: | ||||
|         - recipient: age16ecqs0u4h4qvnp7nr2rdhd0d2qrw7x5kk60u473d6988a0amsass4d5a22 | ||||
|           enc: | | ||||
|             -----BEGIN AGE ENCRYPTED FILE----- | ||||
|             YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZT3Z5NnJKaE1SMGVvZEk1 | ||||
|             cFlYYkNUQW4zVFdqQ1MyY1gyOGxhNCt5K21FCmlKMlQzWTJ0K1NqNVEwY2k4bW9z | ||||
|             NmhEejRBeGNUQ3ZSUTNHVE0wUEJnL0EKLS0tIFVhc0l3ZjYyYnY5M2ZJdnZ4VTRU | ||||
|             cHZyWXZHd29UU05xdTBOVnhiUFdoNlkKzLFZ6bf8Ap7Tkd8sr+U9OmpX88WGvOC7 | ||||
|             4XxfEq5iFaYZemIGtdNJzURN8pdB6su8dG9ChV7m89If5SC9VXYmEg== | ||||
|             -----END AGE ENCRYPTED FILE----- | ||||
|     lastmodified: "2024-02-12T10:19:55Z" | ||||
|     mac: ENC[AES256_GCM,data:uFJWneNsB9652npOK0bq+8fCHrU4xFMhxpSr1G9fZevP2+NJ3SWNTOQomigmLpSszaj0sf7y6VuHZE2DFun8BCy13yR1PJtM8vQTfAJ+HMyps1YT4jcraZwFyZx5skuVvEDd7xV7+8tQwHR+c7GXrib+92/2wKFS/wbhn6l9qYY=,iv:GZDdkc527os5e2QKsQqsXYGvdJ+ymoiFnihghzMtTOY=,tag:YEoJQ+zNawIYfmPQlawbBw==,type:str] | ||||
|     pgp: [] | ||||
|     unencrypted_suffix: _unencrypted | ||||
|     version: 3.8.1 | ||||
							
								
								
									
										6
									
								
								inputs/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								inputs/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | |||
| { | ||||
|   imports = [ | ||||
|     ./home | ||||
|     ./system | ||||
|   ]; | ||||
| } | ||||
|  | @ -3,7 +3,7 @@ | |||
| 
 | ||||
|   imports = [ | ||||
|     ./helix | ||||
|     ./nvim | ||||
|     # ./nvim | ||||
|   ]; | ||||
| 
 | ||||
|   options.homeModules.console.editor = { | ||||
|  | @ -2,7 +2,7 @@ | |||
| { | ||||
|   imports = [ | ||||
|     #./eww | ||||
|     ./ags | ||||
|     # ./ags | ||||
|     ./waybar | ||||
|   ]; | ||||
| 
 | ||||
|  | @ -2,7 +2,7 @@ | |||
| 
 | ||||
| { | ||||
|   imports = [ | ||||
|     ./anyrun | ||||
|     # ./anyrun | ||||
|     ./rofi | ||||
|     ./tofi | ||||
|   ]; | ||||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue