mirror of
				https://github.com/Jokiller230/puzzlevision.git
				synced 2025-10-31 05:40:05 +00:00 
			
		
		
		
	Compare commits
	
		
			13 commits
		
	
	
		
			8dcc8a1f16
			...
			8f2edb8a0f
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 8f2edb8a0f | |||
| b872948a7a | |||
| b0ba265eb0 | |||
| 353573e280 | |||
| 880ae420ea | |||
| f4c0982a4d | |||
| 3e43b52795 | |||
| 795cdb46ba | |||
| 1a09cad656 | |||
| 7d17d31ed8 | |||
| 83fcfe7916 | |||
| bcaad1ab81 | |||
| b93de743ac | 
					 13 changed files with 132 additions and 175 deletions
				
			
		
							
								
								
									
										6
									
								
								.github/actions/install-lix/action.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/actions/install-lix/action.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -1,4 +1,4 @@ | ||||||
| # Taken from: https://github.com/isabelroses/dotfiles/blob/9335e5728eaaa9bdcb0d5c3130a5d7c8dddbb6e3/.github/actions/install-lix/action.yml :3 | # Derived from: https://github.com/isabelroses/dotfiles/blob/9335e5728eaaa9bdcb0d5c3130a5d7c8dddbb6e3/.github/actions/install-lix/action.yml :3 | ||||||
| name: Install Lix | name: Install Lix | ||||||
| description: "Install Lix for the specified system" | description: "Install Lix for the specified system" | ||||||
| 
 | 
 | ||||||
|  | @ -13,5 +13,5 @@ runs: | ||||||
|         diagnostic-endpoint: "" |         diagnostic-endpoint: "" | ||||||
|         extra-conf: | |         extra-conf: | | ||||||
|           experimental-features = flakes nix-command |           experimental-features = flakes nix-command | ||||||
|           substituters = https://nix-community.cachix.org  https://catppuccin.cachix.org https://cache.nixos.org/ |           substituters = https://nix-community.cachix.org  https://catppuccin.cachix.org https://cache.nixos.org/ https://cache.tgirl.cloud/tgirlcloud | ||||||
|           trusted-public-keys = nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= catppuccin.cachix.org-1:noG/4HkbhJb+lUAdKrph6LaozJvAeEEZj4N732IysmU= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= |           trusted-public-keys = nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= catppuccin.cachix.org-1:noG/4HkbhJb+lUAdKrph6LaozJvAeEEZj4N732IysmU= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= tgirlcloud:vcV9oxS9pLXyeu1dVnBabLalLlw0yJzu6PakQM372t0= | ||||||
|  |  | ||||||
							
								
								
									
										37
									
								
								.github/workflows/build-modules.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										37
									
								
								.github/workflows/build-modules.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -1,37 +0,0 @@ | ||||||
| name: "Nix: build nixos-/home modules" |  | ||||||
| 
 |  | ||||||
| on: |  | ||||||
|   workflow_dispatch: |  | ||||||
|   # push: |  | ||||||
|   #   paths: |  | ||||||
|   #     - "modules/**.nix" |  | ||||||
|   #     - "**.lock" |  | ||||||
|   #     - ".github/workflows/build-modules.yml" |  | ||||||
| 
 |  | ||||||
| jobs: |  | ||||||
|   check-flake: |  | ||||||
|     name: Validate x86_64-linux |  | ||||||
|     runs-on: ubuntu-latest |  | ||||||
|     strategy: |  | ||||||
|       matrix: |  | ||||||
|         outputs: [nixosModules, homeModules] |  | ||||||
| 
 |  | ||||||
|     steps: |  | ||||||
|       - name: Checkout |  | ||||||
|         uses: actions/checkout@v4 |  | ||||||
|         with: |  | ||||||
|           ref: ${{ github.ref_name }} |  | ||||||
|           persist-credentials: false |  | ||||||
| 
 |  | ||||||
|       - name: Install Lix |  | ||||||
|         uses: ./.github/actions/install-lix |  | ||||||
| 
 |  | ||||||
|       - name: Setup Attic cache |  | ||||||
|         uses: ryanccn/attic-action@v0.3.2 |  | ||||||
|         with: |  | ||||||
|           endpoint: https://cache.thevoid.cafe |  | ||||||
|           cache: puzzlevision |  | ||||||
|           token: ${{ secrets.ATTIC_TOKEN }} |  | ||||||
| 
 |  | ||||||
|       - name: Buid flake |  | ||||||
|         run: nix build .#nixosModules.puzzlevision |  | ||||||
							
								
								
									
										2
									
								
								.github/workflows/check-leaks.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/check-leaks.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -7,6 +7,8 @@ on: | ||||||
|     paths: |     paths: | ||||||
|       - "**.nix" |       - "**.nix" | ||||||
|       - ".github/workflows/check-leaks.yml" |       - ".github/workflows/check-leaks.yml" | ||||||
|  |       - "**.yaml" | ||||||
|  |       - "**.md" | ||||||
| 
 | 
 | ||||||
| permissions: | permissions: | ||||||
|   contents: read |   contents: read | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								.github/workflows/deadnix.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/deadnix.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -14,8 +14,8 @@ jobs: | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@main |       - uses: actions/checkout@main | ||||||
|        | 
 | ||||||
|       - name: Install lix |       - name: Install Lix | ||||||
|         uses: ./.github/actions/install-lix |         uses: ./.github/actions/install-lix | ||||||
| 
 | 
 | ||||||
|       - uses: phucleeuwu/deadnix-action@v1 |       - uses: phucleeuwu/deadnix-action@v1 | ||||||
|  |  | ||||||
							
								
								
									
										22
									
								
								.github/workflows/validate-lock.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								.github/workflows/validate-lock.yml
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,22 @@ | ||||||
|  | name: "Nix: validate flake.lock" | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   workflow_dispatch: | ||||||
|  |   push: | ||||||
|  |     paths: | ||||||
|  |       - "**.lock" | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   check-flake: | ||||||
|  |     name: Check Lockfile | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  | 
 | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout | ||||||
|  |         uses: actions/checkout@v4 | ||||||
|  | 
 | ||||||
|  |       - name: Install Lix | ||||||
|  |         uses: ./.github/actions/install-lix | ||||||
|  | 
 | ||||||
|  |       - name: Check flake.lock | ||||||
|  |         run: nix run github:tgirlcloud/pkgs#locker | ||||||
							
								
								
									
										5
									
								
								.github/workflows/validate.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.github/workflows/validate.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -16,11 +16,8 @@ jobs: | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout |       - name: Checkout | ||||||
|         uses: actions/checkout@v4 |         uses: actions/checkout@v4 | ||||||
|         with: |  | ||||||
|           ref: ${{ github.ref_name }} |  | ||||||
|           persist-credentials: false |  | ||||||
| 
 | 
 | ||||||
|       - name: Install Nix |       - name: Install Lix | ||||||
|         uses: ./.github/actions/install-lix |         uses: ./.github/actions/install-lix | ||||||
| 
 | 
 | ||||||
|       - name: Validate Flake |       - name: Validate Flake | ||||||
|  |  | ||||||
							
								
								
									
										52
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										52
									
								
								README.md
									
										
									
									
									
								
							|  | @ -11,22 +11,18 @@ | ||||||
| </div> | </div> | ||||||
| <br> | <br> | ||||||
| 
 | 
 | ||||||
| ## 🚧 State of development | ## 💡 Why the need for a second version? | ||||||
| All the basic functionality of v2 should be working correctly, including: | At its core, version 2 of my NixOS flake was aimed at improving the following regions of my previous setup: | ||||||
| 
 | 
 | ||||||
| - The custom lib implementation at self.lib, recursively built from the contents of the `lib` directory. | - Implementing my own custom library at self.lib, recursively built from the contents of the `lib` directory. | ||||||
| - Loading of systems from the `systems` directory, using easy-hosts. | - Loading of systems from the `systems` directory, using easy-hosts. | ||||||
|   - A basic workstation archetype for desktop systems. |   - Archetypes for various systems, as seen in [Jake Hamilton's](https://github.com/jakehamilton) flake. | ||||||
| - Creating users in your systems through ${self.namespace}.users, | - Creating users in my systems through a unified NixOS module, with automated home-manager setups derived from the `homes` directory. | ||||||
| automatically maps home-manager configurations from the `homes` directory to their corresponding users. |  | ||||||
| 
 | 
 | ||||||
| Since I am actively using this configuration on my main workstation, things are evolving quickly, | Since I am actively using this configuration on my main workstation and Server, things have mostly stabilized, | ||||||
| leftover issues are actively being resolved and the list of modules is ever-growing. | leftover issues are sparse and the list of modules is nearing completion (for my purposes that is). | ||||||
| Nonetheless, one should still consider this implementation experimental. |  | ||||||
| 
 | 
 | ||||||
| My next goal is to setup an attic binary cache, | As such, I personally consider this flake production ready. | ||||||
| with a build/release workflow that runs in regular intervals. |  | ||||||
| (similar to isabelroses's workflow setup) |  | ||||||
| 
 | 
 | ||||||
| ## 🚀 Deployment | ## 🚀 Deployment | ||||||
| To deploy a system run the following command in your terminal of choice. | To deploy a system run the following command in your terminal of choice. | ||||||
|  | @ -77,7 +73,7 @@ nix-shell -p sops --run "sops updatekeys secrets/example.yaml" | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ## 👷 CI/CD coverage | ## 👷 CI/CD coverage | ||||||
| Currently, this repository houses 2 workflows, which are executed when pushing to the v2 branch. | Currently, this repository houses 4 workflows, which are executed when pushing to the v2 branch. | ||||||
| 
 | 
 | ||||||
| #### ↪️ `Nix: check for unused code` | #### ↪️ `Nix: check for unused code` | ||||||
| This workflow can be found in `.github/workflows/deadnix.yml`, | This workflow can be found in `.github/workflows/deadnix.yml`, | ||||||
|  | @ -97,15 +93,28 @@ To be specific, it does the following: | ||||||
| 2. Installs nix with some experimental features (flakes, nix-command, recursive-nix, pipe-operator) | 2. Installs nix with some experimental features (flakes, nix-command, recursive-nix, pipe-operator) | ||||||
| 3. Runs `nix flake check` on the codebase | 3. Runs `nix flake check` on the codebase | ||||||
| 
 | 
 | ||||||
| ## 📝 Goals and improvements | #### ↪️ `Nix: validate flake.lock` | ||||||
| The main goals of this rewritten flake are: | This workflow can be found in `.github/workflows/validate-lock.yml`. | ||||||
|  | It simply scans flake lockfiles for duplicate entries using `nix run github:tgirlcloud/pkgs#locker`. | ||||||
|  | Under the hood it makes use of the locker lockfile linter, created by the [tgirlcloud](https://github.com/tgirlcloud) team (mostly [isabelroses](https://github.com/isabelroses)). | ||||||
| 
 | 
 | ||||||
| - using flake-parts in place of Snowfall lib | To be specific, it does the following: | ||||||
| - significantly improving the re-usability of all modules | 1. Checks out current branch | ||||||
| - avoiding anti-patterns, such as `with lib; with lib.${namespace};` | 2. Installs nix with some experimental features (flakes, nix-command) | ||||||
| - improved secrets management | 3. Runs `nix run github:tgirlcloud/pkgs#locker` on the codebase | ||||||
| - keeping external assets closer to their related nix file, e.g. wallpapers in | 
 | ||||||
| the desktop modules folder | #### ↪️ `Trufflehog: check for exposed secrets` | ||||||
|  | This workflow can be found in `.github/workflows/check-leaks.yml`. | ||||||
|  | It runs the Trufflehog security tools on the entire repository, and tries to detect any leaked credentials. | ||||||
|  | This is a last barrier of defense to minimise damage, in case of an emergency. | ||||||
|  | 
 | ||||||
|  | ## 📝 Future goals and improvements (2025-07-28) | ||||||
|  | Some of my future goals for this flake are: | ||||||
|  | 
 | ||||||
|  | - Implementing an automated release workflow with semver versioning, e.g. 2.3.0. | ||||||
|  | - Experimenting with various window-managers, especially Niri, though not set in stone yet. | ||||||
|  | - Researching performance best-practices for hardware and implementing patches based on those. | ||||||
|  | - Further refining my usage of the Nix language, through language best-practices and CLI dev tools. | ||||||
| 
 | 
 | ||||||
| ## 🏗️ Structure | ## 🏗️ Structure | ||||||
| The structure this flake aims to build on is relatively simple to grasp. | The structure this flake aims to build on is relatively simple to grasp. | ||||||
|  | @ -131,5 +140,6 @@ and documentations such as: | ||||||
| 
 | 
 | ||||||
| - [flake-parts](https://flake.parts) | - [flake-parts](https://flake.parts) | ||||||
| - [NixOS and Flakes book](https://nixos-and-flakes.thiscute.world) | - [NixOS and Flakes book](https://nixos-and-flakes.thiscute.world) | ||||||
|  | - [The official NixOS wiki](https://wiki.nixos.org) | ||||||
| 
 | 
 | ||||||
| many thanks to their hard work! | many thanks to their hard work! | ||||||
|  |  | ||||||
							
								
								
									
										118
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										118
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							|  | @ -7,11 +7,11 @@ | ||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1753471400, |         "lastModified": 1753702336, | ||||||
|         "narHash": "sha256-HFoF82El1cjuiz5se+SeawMwWseUUtYBimq3Iu6G2D0=", |         "narHash": "sha256-IVFUQV6egGQHnm+I183OT+4ct/ka1IWA5u/0A9I/YV4=", | ||||||
|         "owner": "catppuccin", |         "owner": "catppuccin", | ||||||
|         "repo": "nix", |         "repo": "nix", | ||||||
|         "rev": "bc6d2b7b57dd29389538f8c4465e408c07187404", |         "rev": "b32de96c3c5384c83b0f4d741ec58a7f97c9ab11", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | @ -69,24 +69,6 @@ | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "flake-parts_2": { |  | ||||||
|       "inputs": { |  | ||||||
|         "nixpkgs-lib": "nixpkgs-lib" |  | ||||||
|       }, |  | ||||||
|       "locked": { |  | ||||||
|         "lastModified": 1749398372, |  | ||||||
|         "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", |  | ||||||
|         "owner": "hercules-ci", |  | ||||||
|         "repo": "flake-parts", |  | ||||||
|         "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", |  | ||||||
|         "type": "github" |  | ||||||
|       }, |  | ||||||
|       "original": { |  | ||||||
|         "owner": "hercules-ci", |  | ||||||
|         "repo": "flake-parts", |  | ||||||
|         "type": "github" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "home-manager": { |     "home-manager": { | ||||||
|       "inputs": { |       "inputs": { | ||||||
|         "nixpkgs": [ |         "nixpkgs": [ | ||||||
|  | @ -94,11 +76,11 @@ | ||||||
|         ] |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1753617834, |         "lastModified": 1753732062, | ||||||
|         "narHash": "sha256-WEVfKrdIdu5CpppJ0Va3vzP0DKlS+ZTLbBjugMO2Drg=", |         "narHash": "sha256-vojVM0SgFP8crFh1LDDXkzaI9/er/1cuRfbNPhfBHyc=", | ||||||
|         "owner": "nix-community", |         "owner": "nix-community", | ||||||
|         "repo": "home-manager", |         "repo": "home-manager", | ||||||
|         "rev": "72cc1e3134a35005006f06640724319caa424737", |         "rev": "f49e872f55e36e67ebcb906ff65f86c7a1538f7c", | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | @ -107,11 +89,35 @@ | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "minegrub-theme": { | ||||||
|  |       "inputs": { | ||||||
|  |         "nixpkgs": [ | ||||||
|  |           "nixpkgs" | ||||||
|  |         ] | ||||||
|  |       }, | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1752413064, | ||||||
|  |         "narHash": "sha256-bcWxBAAvf5hp0TmMbYrwU4SlBxc5sB/T2VsIBdX1gDk=", | ||||||
|  |         "owner": "Lxtharia", | ||||||
|  |         "repo": "minegrub-theme", | ||||||
|  |         "rev": "040b163268be6e7cf743ba990177525dc47ed944", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "Lxtharia", | ||||||
|  |         "repo": "minegrub-theme", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "nixcord": { |     "nixcord": { | ||||||
|       "inputs": { |       "inputs": { | ||||||
|         "flake-compat": "flake-compat", |         "flake-compat": "flake-compat", | ||||||
|         "flake-parts": "flake-parts_2", |         "flake-parts": [ | ||||||
|         "nixpkgs": "nixpkgs" |           "flake-parts" | ||||||
|  |         ], | ||||||
|  |         "nixpkgs": [ | ||||||
|  |           "nixpkgs" | ||||||
|  |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1753581565, |         "lastModified": 1753581565, | ||||||
|  | @ -129,42 +135,11 @@ | ||||||
|     }, |     }, | ||||||
|     "nixpkgs": { |     "nixpkgs": { | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1749494155, |         "lastModified": 1753549186, | ||||||
|         "narHash": "sha256-FG4DEYBpROupu758beabUk9lhrblSf5hnv84v1TLqMc=", |         "narHash": "sha256-Znl7rzuxKg/Mdm6AhimcKynM7V3YeNDIcLjBuoBcmNs=", | ||||||
|         "owner": "NixOS", |         "owner": "NixOS", | ||||||
|         "repo": "nixpkgs", |         "repo": "nixpkgs", | ||||||
|         "rev": "88331c17ba434359491e8d5889cce872464052c2", |         "rev": "17f6bd177404d6d43017595c5264756764444ab8", | ||||||
|         "type": "github" |  | ||||||
|       }, |  | ||||||
|       "original": { |  | ||||||
|         "owner": "NixOS", |  | ||||||
|         "ref": "nixos-25.05", |  | ||||||
|         "repo": "nixpkgs", |  | ||||||
|         "type": "github" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "nixpkgs-lib": { |  | ||||||
|       "locked": { |  | ||||||
|         "lastModified": 1748740939, |  | ||||||
|         "narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=", |  | ||||||
|         "owner": "nix-community", |  | ||||||
|         "repo": "nixpkgs.lib", |  | ||||||
|         "rev": "656a64127e9d791a334452c6b6606d17539476e2", |  | ||||||
|         "type": "github" |  | ||||||
|       }, |  | ||||||
|       "original": { |  | ||||||
|         "owner": "nix-community", |  | ||||||
|         "repo": "nixpkgs.lib", |  | ||||||
|         "type": "github" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "nixpkgs_2": { |  | ||||||
|       "locked": { |  | ||||||
|         "lastModified": 1753429684, |  | ||||||
|         "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", |  | ||||||
|         "owner": "NixOS", |  | ||||||
|         "repo": "nixpkgs", |  | ||||||
|         "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", |  | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       }, |       }, | ||||||
|       "original": { |       "original": { | ||||||
|  | @ -174,36 +149,23 @@ | ||||||
|         "type": "github" |         "type": "github" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "nixpkgs_3": { |  | ||||||
|       "locked": { |  | ||||||
|         "lastModified": 1744868846, |  | ||||||
|         "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", |  | ||||||
|         "owner": "NixOS", |  | ||||||
|         "repo": "nixpkgs", |  | ||||||
|         "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", |  | ||||||
|         "type": "github" |  | ||||||
|       }, |  | ||||||
|       "original": { |  | ||||||
|         "owner": "NixOS", |  | ||||||
|         "ref": "nixpkgs-unstable", |  | ||||||
|         "repo": "nixpkgs", |  | ||||||
|         "type": "github" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "root": { |     "root": { | ||||||
|       "inputs": { |       "inputs": { | ||||||
|         "catppuccin": "catppuccin", |         "catppuccin": "catppuccin", | ||||||
|         "easy-hosts": "easy-hosts", |         "easy-hosts": "easy-hosts", | ||||||
|         "flake-parts": "flake-parts", |         "flake-parts": "flake-parts", | ||||||
|         "home-manager": "home-manager", |         "home-manager": "home-manager", | ||||||
|  |         "minegrub-theme": "minegrub-theme", | ||||||
|         "nixcord": "nixcord", |         "nixcord": "nixcord", | ||||||
|         "nixpkgs": "nixpkgs_2", |         "nixpkgs": "nixpkgs", | ||||||
|         "sops-nix": "sops-nix" |         "sops-nix": "sops-nix" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "sops-nix": { |     "sops-nix": { | ||||||
|       "inputs": { |       "inputs": { | ||||||
|         "nixpkgs": "nixpkgs_3" |         "nixpkgs": [ | ||||||
|  |           "nixpkgs" | ||||||
|  |         ] | ||||||
|       }, |       }, | ||||||
|       "locked": { |       "locked": { | ||||||
|         "lastModified": 1752544651, |         "lastModified": 1752544651, | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										13
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -21,7 +21,11 @@ | ||||||
|   inputs = { |   inputs = { | ||||||
|     nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; |     nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; | ||||||
|     easy-hosts.url = "github:tgirlcloud/easy-hosts"; |     easy-hosts.url = "github:tgirlcloud/easy-hosts"; | ||||||
|     sops-nix.url = "github:Mic92/sops-nix"; | 
 | ||||||
|  |     sops-nix = { | ||||||
|  |       url = "github:Mic92/sops-nix"; | ||||||
|  |       inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|  |     }; | ||||||
| 
 | 
 | ||||||
|     flake-parts = { |     flake-parts = { | ||||||
|       url = "github:hercules-ci/flake-parts"; |       url = "github:hercules-ci/flake-parts"; | ||||||
|  | @ -40,6 +44,13 @@ | ||||||
| 
 | 
 | ||||||
|     nixcord = { |     nixcord = { | ||||||
|       url = "github:kaylorben/nixcord"; |       url = "github:kaylorben/nixcord"; | ||||||
|  |       inputs.flake-parts.follows = "flake-parts"; | ||||||
|  |       inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     minegrub-theme = { | ||||||
|  |       url = "github:Lxtharia/minegrub-theme"; | ||||||
|  |       inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|     }; |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -3,9 +3,6 @@ | ||||||
|     # Automagically imports libs from "/lib/lib-name" and exposes them to the `flake.lib` output. |     # Automagically imports libs from "/lib/lib-name" and exposes them to the `flake.lib` output. | ||||||
|     ./lib.nix |     ./lib.nix | ||||||
| 
 | 
 | ||||||
|     # Exposes nixosModules and homeModules on flake outputs. |  | ||||||
|     ./modules.nix |  | ||||||
| 
 |  | ||||||
|     # Automagically imports systems from "/systems/arch-classname/system-name". |     # Automagically imports systems from "/systems/arch-classname/system-name". | ||||||
|     ./systems.nix |     ./systems.nix | ||||||
|   ]; |   ]; | ||||||
|  |  | ||||||
|  | @ -1,15 +0,0 @@ | ||||||
| { self, ... }: |  | ||||||
| { |  | ||||||
|   flake = { |  | ||||||
|     # TODO: figure out why this isn't working correctly |  | ||||||
|     nixosModules.puzzlevision = self.lib.mkModule { |  | ||||||
|       class = "nixos"; |  | ||||||
|       modules = self.lib.dirToModuleList ../nixos; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     homeModules.puzzlevision = self.lib.mkModule { |  | ||||||
|       class = "home"; |  | ||||||
|       modules = self.lib.dirToModuleList ../home; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| } |  | ||||||
|  | @ -18,6 +18,7 @@ | ||||||
|         (lib.optionals (class == "nixos") [ |         (lib.optionals (class == "nixos") [ | ||||||
|           inputs.home-manager.nixosModules.default |           inputs.home-manager.nixosModules.default | ||||||
|           inputs.sops-nix.nixosModules.sops |           inputs.sops-nix.nixosModules.sops | ||||||
|  |           inputs.minegrub-theme.nixosModules.default | ||||||
|         ]) |         ]) | ||||||
|         ++ (self.lib.dirToModuleList ../${class}); # Import modules based on current classname. |         ++ (self.lib.dirToModuleList ../${class}); # Import modules based on current classname. | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|  | @ -34,17 +34,13 @@ | ||||||
|     archetypes.laptop.enable = true; |     archetypes.laptop.enable = true; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   networking.extraHosts = '' |  | ||||||
|     127.0.0.1 dev.bl-projekte.de |  | ||||||
|   ''; |  | ||||||
| 
 |  | ||||||
|   # Configure 8GB SWAP partition |   # Configure 8GB SWAP partition | ||||||
|   # swapDevices = [ |   swapDevices = [ | ||||||
|   #   { |     { | ||||||
|   #     device = "/swapfile"; |       device = "/swapfile"; | ||||||
|   #     size = 8 * 1024; |       size = 8 * 1024; | ||||||
|   #   } |     } | ||||||
|   # ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   boot = { |   boot = { | ||||||
|     # Configure additional kernel modules. |     # Configure additional kernel modules. | ||||||
|  | @ -55,8 +51,19 @@ | ||||||
|     blacklistedKernelModules = [ |     blacklistedKernelModules = [ | ||||||
|       "rtw88_8821ce" # Block the default network-card driver. |       "rtw88_8821ce" # Block the default network-card driver. | ||||||
|     ]; |     ]; | ||||||
|  | 
 | ||||||
|  |     # Grub configuration | ||||||
|  |     loader.grub = { | ||||||
|  |       # Minecraft bootloader theme | ||||||
|  |       minegrub-theme = { | ||||||
|  |         enable = true; | ||||||
|  |         splash = "100% Flakes!"; | ||||||
|  |         background = "background_options/1.18 - [Caves And Cliffs 2].png"; | ||||||
|  |         boot-options-count = 4; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   networking.hostName = "puzzlevision"; |   networking.hostName = "puzzlevision"; | ||||||
|   system.stateVersion = "25.05"; |   system.stateVersion = "25.11"; | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue