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 = { |   inputs = { | ||||||
|     nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; |   ## TODO:  | ||||||
|  |   ## look into nix-super | ||||||
|  |   ## IMPLEMENT SECRETS YOU APE (agenix looks best) | ||||||
|    |    | ||||||
|     home-manager.url = "github:nix-community/home-manager"; |     # unstable because why not | ||||||
|  |     nixpkgs.url = "github:Nixos/nixpkgs/nixos-unstable"; | ||||||
|  |     nixpkgs-small.url = "github:Nixos/nixpkgs/nixos-unstable-small"; | ||||||
| 
 | 
 | ||||||
|     home-manager.inputs.nixpkgs.follows = "nixpkgs"; |     # contains more up-to-date wayland related packages | ||||||
|  |     nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland"; | ||||||
| 
 | 
 | ||||||
|  |     # 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 = { |     nix-on-droid = { | ||||||
|       url = "github:nix-community/nix-on-droid/release-23.11"; |       url = "github:nix-community/nix-on-droid/release-23.11"; | ||||||
|       inputs.nixpkgs.follows = "nixpkgs"; |       inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|       inputs.home-manager.follows = "home-manager"; |       inputs.home-manager.follows = "home-manager"; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     hardware.url = "github:nixos/nixos-hardware"; |     # wrapper for nix rebuild | ||||||
| 
 |  | ||||||
|     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"; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     nh = { |     nh = { | ||||||
|       url = "github:viperML/nh"; |       url = "github:viperML/nh"; | ||||||
|       inputs.nixpkgs.follows = "nixpkgs"; |       inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     anyrun = { |     # nix language server that berates me for my mistakes | ||||||
|       url = "github:Kirottu/anyrun"; |     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"; |       inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|  |     # zellij status bar | ||||||
|     zjstatus.url = "github:dj95/zjstatus"; |     zjstatus.url = "github:dj95/zjstatus"; | ||||||
| 
 | 
 | ||||||
|     nixarr = { |     # media server module for hosting my legally purchased linux isos | ||||||
|       url = "github:rasmus-kirk/nixarr"; |     nixarr.url = "github:rasmus-kirk/nixarr"; | ||||||
|     }; |  | ||||||
| 
 | 
 | ||||||
|     nixpkgs-wayland = { |     # personal scripts repo | ||||||
|       url = "github:nix-community/nixpkgs-wayland"; |     ooks-scripts.url = "github:ooks-io/scripts"; | ||||||
|       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; }; |  | ||||||
|     }; |  | ||||||
|   }; |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -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 = [ |   imports = [ | ||||||
|     ./helix |     ./helix | ||||||
|     ./nvim |     # ./nvim | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   options.homeModules.console.editor = { |   options.homeModules.console.editor = { | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     #./eww |     #./eww | ||||||
|     ./ags |     # ./ags | ||||||
|     ./waybar |     ./waybar | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./anyrun |     # ./anyrun | ||||||
|     ./rofi |     ./rofi | ||||||
|     ./tofi |     ./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