Compare commits
	
		
			65 Commits
		
	
	
		
			dd6bc05361
			...
			feature/ft
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| f97789228c | |||
| c78a8db144 | |||
| 80b31b3a7d | |||
| 3d8b4d5639 | |||
| 926b1618ff | |||
| d9fd71193d | |||
| 343aee5d60 | |||
| 0076dc6aaa | |||
| 51ddf3dc92 | |||
| 909af41db0 | |||
| 2331cb36ce | |||
| 8b0b25207e | |||
| d103f0c9b0 | |||
| 
						 | 
					ff24465ef2 | ||
| 5be6b3e723 | |||
| 309c0128e9 | |||
| b1ce62174b | |||
| d31472b609 | |||
| 29bcd0026f | |||
| 51c3878ca5 | |||
| 4f3641a98e | |||
| 6a56a7797f | |||
| 28e4fcb3da | |||
| 95e733aeb6 | |||
| ee71636ac4 | |||
| 87db5a05e6 | |||
| 2551adb3db | |||
| 4669a226d4 | |||
| c20fc52f97 | |||
| 492b2d493b | |||
| 8c5d2dc30b | |||
| 
						 | 
					888a960af5 | ||
| 22c44a9705 | |||
| 5696ef5660 | |||
| ef94163933 | |||
| 4824c265f9 | |||
| 4548914209 | |||
| bf88cab578 | |||
| d6ce8a72e7 | |||
| 9d0385326c | |||
| 8267d4acc2 | |||
| 9e4adb1b46 | |||
| 5fdf5c5362 | |||
| 97f26ebb31 | |||
| 5cb642f643 | |||
| 013862f836 | |||
| 3e7cd3b59d | |||
| de8ec7cfe6 | |||
| 50765424f5 | |||
| 9e820a3cde | |||
| 04372341db | |||
| 5364ceca58 | |||
| 32781a7290 | |||
| 98b8ee7777 | |||
| 
						 | 
					9da39c8a61 | ||
| abe4c9d72e | |||
| 
						 | 
					b808dfccad | ||
| ff34faa937 | |||
| 761480ad61 | |||
| d70903a84f | |||
| 2b10fdd2cf | |||
| bc710058da | |||
| 3d97fc743c | |||
| 4cc29cc662 | |||
| 064c8ff77a | 
							
								
								
									
										44
									
								
								.github/workflows/flake-health-checks.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										44
									
								
								.github/workflows/flake-health-checks.yml
									
									
									
									
										vendored
									
									
								
							@@ -8,10 +8,7 @@ on:
 | 
				
			|||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
    health-check:
 | 
					    health-check:
 | 
				
			||||||
        name: "Perform Nix flake checks"
 | 
					        name: "Perform Nix flake checks"
 | 
				
			||||||
        runs-on: ${{ matrix.os }}
 | 
					        runs-on: ubuntu-latest
 | 
				
			||||||
        strategy:
 | 
					 | 
				
			||||||
            matrix:
 | 
					 | 
				
			||||||
                os: [ubuntu-latest]
 | 
					 | 
				
			||||||
        steps:
 | 
					        steps:
 | 
				
			||||||
            - uses: DeterminateSystems/nix-installer-action@main
 | 
					            - uses: DeterminateSystems/nix-installer-action@main
 | 
				
			||||||
            - name: Setup Attic cache
 | 
					            - name: Setup Attic cache
 | 
				
			||||||
@@ -24,24 +21,21 @@ jobs:
 | 
				
			|||||||
            - uses: actions/checkout@v4
 | 
					            - uses: actions/checkout@v4
 | 
				
			||||||
            - run: nix flake check --accept-flake-config
 | 
					            - run: nix flake check --accept-flake-config
 | 
				
			||||||
            - run: nix ./utils/attic-push.bash
 | 
					            - run: nix ./utils/attic-push.bash
 | 
				
			||||||
    build-checks:
 | 
					    # build-checks:
 | 
				
			||||||
        name: "Build nix outputs"
 | 
					    #     name: "Build nix outputs"
 | 
				
			||||||
        runs-on: ${{ matrix.os }}
 | 
					    #     runs-on: ubuntu-latest
 | 
				
			||||||
        strategy:
 | 
					    #     steps:
 | 
				
			||||||
            matrix:
 | 
					    #         - uses: DeterminateSystems/nix-installer-action@main
 | 
				
			||||||
                os: [ubuntu-latest]
 | 
					    #         - name: Setup Attic cache
 | 
				
			||||||
        steps:
 | 
					    #           uses: ryanccn/attic-action@v0
 | 
				
			||||||
            - uses: DeterminateSystems/nix-installer-action@main
 | 
					    #           with:
 | 
				
			||||||
            - name: Setup Attic cache
 | 
					    #             endpoint: ${{ secrets.ATTIC_ENDPOINT }}
 | 
				
			||||||
              uses: ryanccn/attic-action@v0
 | 
					    #             cache: ${{ secrets.ATTIC_CACHE }}
 | 
				
			||||||
              with:
 | 
					    #             token: ${{ secrets.ATTIC_TOKEN }}
 | 
				
			||||||
                endpoint: ${{ secrets.ATTIC_ENDPOINT }}
 | 
					    #             skip-push: "true"
 | 
				
			||||||
                cache: ${{ secrets.ATTIC_CACHE }}
 | 
					    #         - uses: actions/checkout@v4
 | 
				
			||||||
                token: ${{ secrets.ATTIC_TOKEN }}
 | 
					    #         - name: Build all outputs
 | 
				
			||||||
                skip-push: "true"
 | 
					    #           run: nix run git+https://nayeonie.com/ahuston-0/flake-update-diff -- --build .
 | 
				
			||||||
            - uses: actions/checkout@v4
 | 
					    #         - name: Push to Attic
 | 
				
			||||||
            - name: Build all outputs
 | 
					    #           run: nix ./utils/attic-push.bash
 | 
				
			||||||
              run: nix run git+https://nayeonie.com/ahuston-0/flake-update-diff -- --build .
 | 
					    #           continue-on-error: true
 | 
				
			||||||
            - name: Push to Attic
 | 
					 | 
				
			||||||
              run: nix ./utils/attic-push.bash
 | 
					 | 
				
			||||||
              continue-on-error: true
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,9 +14,7 @@ to onboard a new user or system.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Although we are not actively looking for new members to join in on this repo,
 | 
					Although we are not actively looking for new members to join in on this repo,
 | 
				
			||||||
we are not strictly opposed. Please reach out to
 | 
					we are not strictly opposed. Please reach out to
 | 
				
			||||||
[@ahuston-0](https://github.com/ahuston-0) or
 | 
					[@ahuston-0](https://nayeonie.com/ahuston-0) for further information.
 | 
				
			||||||
[@RichieCahill](https://github.com/RichieCahill)
 | 
					 | 
				
			||||||
for further information.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Repo Structure
 | 
					## Repo Structure
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -107,8 +107,7 @@ rules.
 | 
				
			|||||||
We allow secrets to be embedded in the repository using `sops-nix`. As part of
 | 
					We allow secrets to be embedded in the repository using `sops-nix`. As part of
 | 
				
			||||||
the process everything is encrypted, however adding a new user is a change
 | 
					the process everything is encrypted, however adding a new user is a change
 | 
				
			||||||
that every existing SOPS user needs to participate in. Please reach out to
 | 
					that every existing SOPS user needs to participate in. Please reach out to
 | 
				
			||||||
[@ahuston-0](https://github.com/ahuston-0) or
 | 
					[@ahuston-0](https://nayeonie.com/ahuston-0) or if you are interested
 | 
				
			||||||
[@RichieCahill](https://github.com/RichieCahill) if you are interested
 | 
					 | 
				
			||||||
in using secrets on your machines.
 | 
					in using secrets on your machines.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## CI/CD
 | 
					## CI/CD
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										171
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										171
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							@@ -78,11 +78,11 @@
 | 
				
			|||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "dir": "pkgs/firefox-addons",
 | 
					        "dir": "pkgs/firefox-addons",
 | 
				
			||||||
        "lastModified": 1742773104,
 | 
					        "lastModified": 1743483509,
 | 
				
			||||||
        "narHash": "sha256-dAhrL+gEjNN5U/Sosy7IrX0Y0qPA0U7Gp9TBhqEliNU=",
 | 
					        "narHash": "sha256-aHnOrBV4UpVQuv9RHmYaRb0jZRBpmeDWsZWBRoSCc5w=",
 | 
				
			||||||
        "owner": "rycee",
 | 
					        "owner": "rycee",
 | 
				
			||||||
        "repo": "nur-expressions",
 | 
					        "repo": "nur-expressions",
 | 
				
			||||||
        "rev": "d74460da63a8c08a69a1f143b04f2ab1a6b2f5c2",
 | 
					        "rev": "692aba39210127804151c9436e4b87fe1d0e0f2b",
 | 
				
			||||||
        "type": "gitlab"
 | 
					        "type": "gitlab"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -312,11 +312,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1742771635,
 | 
					        "lastModified": 1743482579,
 | 
				
			||||||
        "narHash": "sha256-HQHzQPrg+g22tb3/K/4tgJjPzM+/5jbaujCZd8s2Mls=",
 | 
					        "narHash": "sha256-u81nqA4UuRatKDkzUuIfVYdLMw8birEy+99oXpdyXhY=",
 | 
				
			||||||
        "owner": "nix-community",
 | 
					        "owner": "nix-community",
 | 
				
			||||||
        "repo": "home-manager",
 | 
					        "repo": "home-manager",
 | 
				
			||||||
        "rev": "ad0614a1ec9cce3b13169e20ceb7e55dfaf2a818",
 | 
					        "rev": "c21383b556609ce1ad901aa08b4c6fbd9e0c7af0",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -325,6 +325,27 @@
 | 
				
			|||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "hydra": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nix": "nix",
 | 
				
			||||||
 | 
					        "nix-eval-jobs": "nix-eval-jobs",
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1743447171,
 | 
				
			||||||
 | 
					        "narHash": "sha256-5+lbBGlOmVa+dNY8L4ElDCkB7+VedZpPTcBOFIF+0TM=",
 | 
				
			||||||
 | 
					        "ref": "add-gitea-pulls",
 | 
				
			||||||
 | 
					        "rev": "a20f37b97fa43eea1570bf125ee95f19ba7e2674",
 | 
				
			||||||
 | 
					        "revCount": 4327,
 | 
				
			||||||
 | 
					        "type": "git",
 | 
				
			||||||
 | 
					        "url": "https://nayeonie.com/ahuston-0/hydra"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "ref": "add-gitea-pulls",
 | 
				
			||||||
 | 
					        "type": "git",
 | 
				
			||||||
 | 
					        "url": "https://nayeonie.com/ahuston-0/hydra"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "hyprland-contrib": {
 | 
					    "hyprland-contrib": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "nixpkgs": [
 | 
					        "nixpkgs": [
 | 
				
			||||||
@@ -332,11 +353,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1742213523,
 | 
					        "lastModified": 1743417258,
 | 
				
			||||||
        "narHash": "sha256-I8JVdQRu8eWvY5W8XWYZkdd5pojDHkxeqQV7mMIsbhs=",
 | 
					        "narHash": "sha256-YItzk1pj8Kz+b7VlC9zN1pSZ6CuX35asYy3HuMQ3lBQ=",
 | 
				
			||||||
        "owner": "hyprwm",
 | 
					        "owner": "hyprwm",
 | 
				
			||||||
        "repo": "contrib",
 | 
					        "repo": "contrib",
 | 
				
			||||||
        "rev": "bd81329944be53b0ffb99e05864804b95f1d7c65",
 | 
					        "rev": "bc2ad24e0b2e66c3e164994c4897cd94a933fd10",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -345,6 +366,59 @@
 | 
				
			|||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "nix": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-compat": [
 | 
				
			||||||
 | 
					          "hydra"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "flake-parts": [
 | 
				
			||||||
 | 
					          "hydra"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "git-hooks-nix": [
 | 
				
			||||||
 | 
					          "hydra"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "hydra",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "nixpkgs-23-11": [
 | 
				
			||||||
 | 
					          "hydra"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "nixpkgs-regression": [
 | 
				
			||||||
 | 
					          "hydra"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1739899400,
 | 
				
			||||||
 | 
					        "narHash": "sha256-q/RgA4bB7zWai4oPySq9mch7qH14IEeom2P64SXdqHs=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nix",
 | 
				
			||||||
 | 
					        "rev": "e310c19a1aeb1ce1ed4d41d5ab2d02db596e0918",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "ref": "2.26-maintenance",
 | 
				
			||||||
 | 
					        "repo": "nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nix-eval-jobs": {
 | 
				
			||||||
 | 
					      "flake": false,
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1739500569,
 | 
				
			||||||
 | 
					        "narHash": "sha256-3wIReAqdTALv39gkWXLMZQvHyBOc3yPkWT2ZsItxedY=",
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "nix-eval-jobs",
 | 
				
			||||||
 | 
					        "rev": "4b392b284877d203ae262e16af269f702df036bc",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "nix-eval-jobs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "nix-index-database": {
 | 
					    "nix-index-database": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "nixpkgs": [
 | 
					        "nixpkgs": [
 | 
				
			||||||
@@ -352,11 +426,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1742701275,
 | 
					        "lastModified": 1743306489,
 | 
				
			||||||
        "narHash": "sha256-AulwPVrS9859t+eJ61v24wH/nfBEIDSXYxlRo3fL/SA=",
 | 
					        "narHash": "sha256-LROaIjSLo347cwcHRfSpqzEOa2FoLSeJwU4dOrGm55E=",
 | 
				
			||||||
        "owner": "Mic92",
 | 
					        "owner": "Mic92",
 | 
				
			||||||
        "repo": "nix-index-database",
 | 
					        "repo": "nix-index-database",
 | 
				
			||||||
        "rev": "36dc43cb50d5d20f90a28d53abb33a32b0a2aae6",
 | 
					        "rev": "b3696bfb6c24aa61428839a99e8b40c53ac3a82d",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -403,11 +477,11 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixos-hardware": {
 | 
					    "nixos-hardware": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1742806253,
 | 
					        "lastModified": 1743420942,
 | 
				
			||||||
        "narHash": "sha256-zvQ4GsCJT6MTOzPKLmlFyM+lxo0JGQ0cSFaZSACmWfY=",
 | 
					        "narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=",
 | 
				
			||||||
        "owner": "NixOS",
 | 
					        "owner": "NixOS",
 | 
				
			||||||
        "repo": "nixos-hardware",
 | 
					        "repo": "nixos-hardware",
 | 
				
			||||||
        "rev": "ecaa2d911e77c265c2a5bac8b583c40b0f151726",
 | 
					        "rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -426,11 +500,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1742419596,
 | 
					        "lastModified": 1743178092,
 | 
				
			||||||
        "narHash": "sha256-+Bw1HR4oX6vUbCMhwWbW+Nr20F+UesNdUd7b17s3ESE=",
 | 
					        "narHash": "sha256-fOMsQpcdIbj+wOexiCSEW2J4Erqd0LRV25aYiOx4QRw=",
 | 
				
			||||||
        "owner": "SuperSandro2000",
 | 
					        "owner": "SuperSandro2000",
 | 
				
			||||||
        "repo": "nixos-modules",
 | 
					        "repo": "nixos-modules",
 | 
				
			||||||
        "rev": "82491ff311152b87fe7cfbdaf545f727e0750aa9",
 | 
					        "rev": "77ff511df92a9d4a828bdf032b8f48e7c3d99b50",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -441,16 +515,16 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs": {
 | 
					    "nixpkgs": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1742800061,
 | 
					        "lastModified": 1739461644,
 | 
				
			||||||
        "narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=",
 | 
					        "narHash": "sha256-1o1qR0KYozYGRrnqytSpAhVBYLNBHX+Lv6I39zGRzKM=",
 | 
				
			||||||
        "owner": "nixos",
 | 
					        "owner": "NixOS",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734",
 | 
					        "rev": "97a719c9f0a07923c957cf51b20b329f9fb9d43f",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
        "owner": "nixos",
 | 
					        "owner": "NixOS",
 | 
				
			||||||
        "ref": "nixos-unstable-small",
 | 
					        "ref": "nixos-24.11-small",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -472,11 +546,11 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs-stable": {
 | 
					    "nixpkgs-stable": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1742751704,
 | 
					        "lastModified": 1743367904,
 | 
				
			||||||
        "narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=",
 | 
					        "narHash": "sha256-sOos1jZGKmT6xxPvxGQyPTApOunXvScV4lNjBCXd/CI=",
 | 
				
			||||||
        "owner": "nixos",
 | 
					        "owner": "nixos",
 | 
				
			||||||
        "repo": "nixpkgs",
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
        "rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092",
 | 
					        "rev": "7ffe0edc685f14b8c635e3d6591b0bbb97365e6c",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -486,6 +560,22 @@
 | 
				
			|||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs_2": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1743472173,
 | 
				
			||||||
 | 
					        "narHash": "sha256-xwNv3FYTC5pl4QVZ79gUxqCEvqKzcKdXycpH5UbYscw=",
 | 
				
			||||||
 | 
					        "owner": "nixos",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "88e992074d86ad50249de12b7fb8dbaadf8dc0c5",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nixos",
 | 
				
			||||||
 | 
					        "ref": "nixos-unstable-small",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "nur": {
 | 
					    "nur": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "flake-parts": "flake-parts_2",
 | 
					        "flake-parts": "flake-parts_2",
 | 
				
			||||||
@@ -540,12 +630,13 @@
 | 
				
			|||||||
        "flake-parts": "flake-parts",
 | 
					        "flake-parts": "flake-parts",
 | 
				
			||||||
        "flake-utils": "flake-utils",
 | 
					        "flake-utils": "flake-utils",
 | 
				
			||||||
        "home-manager": "home-manager",
 | 
					        "home-manager": "home-manager",
 | 
				
			||||||
 | 
					        "hydra": "hydra",
 | 
				
			||||||
        "hyprland-contrib": "hyprland-contrib",
 | 
					        "hyprland-contrib": "hyprland-contrib",
 | 
				
			||||||
        "nix-index-database": "nix-index-database",
 | 
					        "nix-index-database": "nix-index-database",
 | 
				
			||||||
        "nixos-generators": "nixos-generators",
 | 
					        "nixos-generators": "nixos-generators",
 | 
				
			||||||
        "nixos-hardware": "nixos-hardware",
 | 
					        "nixos-hardware": "nixos-hardware",
 | 
				
			||||||
        "nixos-modules": "nixos-modules",
 | 
					        "nixos-modules": "nixos-modules",
 | 
				
			||||||
        "nixpkgs": "nixpkgs",
 | 
					        "nixpkgs": "nixpkgs_2",
 | 
				
			||||||
        "nixpkgs-stable": "nixpkgs-stable",
 | 
					        "nixpkgs-stable": "nixpkgs-stable",
 | 
				
			||||||
        "pre-commit-hooks": "pre-commit-hooks",
 | 
					        "pre-commit-hooks": "pre-commit-hooks",
 | 
				
			||||||
        "rust-overlay": "rust-overlay",
 | 
					        "rust-overlay": "rust-overlay",
 | 
				
			||||||
@@ -562,11 +653,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1742783666,
 | 
					        "lastModified": 1743475035,
 | 
				
			||||||
        "narHash": "sha256-IwdSl51NL6V0f+mYXZR0UTKaGleOsk9zV3l6kt5SUWw=",
 | 
					        "narHash": "sha256-uLjVsb4Rxnp1zmFdPCDmdODd4RY6ETOeRj0IkC0ij/4=",
 | 
				
			||||||
        "owner": "oxalica",
 | 
					        "owner": "oxalica",
 | 
				
			||||||
        "repo": "rust-overlay",
 | 
					        "repo": "rust-overlay",
 | 
				
			||||||
        "rev": "60766d63c227d576510ecfb5edd3a687d56f6bc7",
 | 
					        "rev": "bee11c51c2cda3ac57c9e0149d94b86cc1b00d13",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -582,11 +673,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1742700801,
 | 
					        "lastModified": 1743502316,
 | 
				
			||||||
        "narHash": "sha256-ZGlpUDsuBdeZeTNgoMv+aw0ByXT2J3wkYw9kJwkAS4M=",
 | 
					        "narHash": "sha256-zI2WSkU+ei4zCxT+IVSQjNM9i0ST++T2qSFXTsAND7s=",
 | 
				
			||||||
        "owner": "Mic92",
 | 
					        "owner": "Mic92",
 | 
				
			||||||
        "repo": "sops-nix",
 | 
					        "repo": "sops-nix",
 | 
				
			||||||
        "rev": "67566fe68a8bed2a7b1175fdfb0697ed22ae8852",
 | 
					        "rev": "e7f4d7ed8bce8dfa7d2f2fe6f8b8f523e54646f8",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -623,11 +714,11 @@
 | 
				
			|||||||
        "tinted-zed": "tinted-zed"
 | 
					        "tinted-zed": "tinted-zed"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1742753562,
 | 
					        "lastModified": 1743496321,
 | 
				
			||||||
        "narHash": "sha256-EBXgl3sPi5AQUM58XGuuC8HQl/Df+Dbt6pOLInInJ/k=",
 | 
					        "narHash": "sha256-xhHg8ixBhZngvGOMb2SJuJEHhHA10n8pA02fEKuKzek=",
 | 
				
			||||||
        "owner": "danth",
 | 
					        "owner": "danth",
 | 
				
			||||||
        "repo": "stylix",
 | 
					        "repo": "stylix",
 | 
				
			||||||
        "rev": "d9df91c55643a8b5229a3ae3a496a30f14965457",
 | 
					        "rev": "54721996d6590267d095f63297d9051e9342a33d",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
@@ -783,11 +874,11 @@
 | 
				
			|||||||
        ]
 | 
					        ]
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1730615238,
 | 
					        "lastModified": 1743305055,
 | 
				
			||||||
        "narHash": "sha256-u/ZGtyEUvAkFOBgLo2YldOx0GKjE3/esWpWruRD376E=",
 | 
					        "narHash": "sha256-NIsi8Dno9YsOLUUTrLU4p+hxYeJr3Vkg1gIpQKVTaDs=",
 | 
				
			||||||
        "owner": "Toqozz",
 | 
					        "owner": "Toqozz",
 | 
				
			||||||
        "repo": "wired-notify",
 | 
					        "repo": "wired-notify",
 | 
				
			||||||
        "rev": "1632418aa15889343028261663e81d8b5595860e",
 | 
					        "rev": "75d43f54a02b15f2a15f5c1a0e1c7d15100067a6",
 | 
				
			||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "original": {
 | 
					      "original": {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										21
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								flake.nix
									
									
									
									
									
								
							@@ -18,6 +18,7 @@
 | 
				
			|||||||
      "nix-cache:trR+y5nwpQHR4hystoogubFmp97cewkjWeqqbygRQRs="
 | 
					      "nix-cache:trR+y5nwpQHR4hystoogubFmp97cewkjWeqqbygRQRs="
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
    trusted-users = [ "root" ];
 | 
					    trusted-users = [ "root" ];
 | 
				
			||||||
 | 
					    allow-import-from-derivation = true;
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  inputs = {
 | 
					  inputs = {
 | 
				
			||||||
@@ -58,6 +59,13 @@
 | 
				
			|||||||
      inputs.nixpkgs.follows = "nixpkgs";
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    hydra = {
 | 
				
			||||||
 | 
					      url = "git+https://nayeonie.com/ahuston-0/hydra?ref=add-gitea-pulls";
 | 
				
			||||||
 | 
					      # inputs = {
 | 
				
			||||||
 | 
					      #   nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
 | 
					      # };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    hyprland-contrib = {
 | 
					    hyprland-contrib = {
 | 
				
			||||||
      url = "github:hyprwm/contrib";
 | 
					      url = "github:hyprwm/contrib";
 | 
				
			||||||
      inputs.nixpkgs.follows = "nixpkgs";
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
@@ -128,7 +136,7 @@
 | 
				
			|||||||
      systems = [
 | 
					      systems = [
 | 
				
			||||||
        "x86_64-linux"
 | 
					        "x86_64-linux"
 | 
				
			||||||
        # disable arm for now as hydra isn't set up for it
 | 
					        # disable arm for now as hydra isn't set up for it
 | 
				
			||||||
        # "aarch64-linux"
 | 
					        # "aarch64-linuxa
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      forEachSystem = lib.genAttrs systems;
 | 
					      forEachSystem = lib.genAttrs systems;
 | 
				
			||||||
@@ -144,13 +152,13 @@
 | 
				
			|||||||
          lib = self;
 | 
					          lib = self;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      );
 | 
					      );
 | 
				
			||||||
      inherit (lib.rad-dev.systems) genSystems getImages;
 | 
					      inherit (lib.adev.systems) genSystems getImages;
 | 
				
			||||||
      inherit (self) outputs; # for hydra
 | 
					      inherit (self) outputs; # for hydra and packages
 | 
				
			||||||
    in
 | 
					    in
 | 
				
			||||||
    rec {
 | 
					    rec {
 | 
				
			||||||
      inherit lib; # for allowing use of custom functions in nix repl
 | 
					      inherit lib; # for allowing use of custom functions in nix repl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      #hydraJobs = import ./hydra/jobs.nix { inherit inputs outputs systems; };
 | 
					      hydraJobs = import ./hydra/jobs.nix { inherit inputs outputs systems; };
 | 
				
			||||||
      formatter = forEachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style);
 | 
					      formatter = forEachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      nixosConfigurations = genSystems inputs outputs src (src + "/systems");
 | 
					      nixosConfigurations = genSystems inputs outputs src (src + "/systems");
 | 
				
			||||||
@@ -160,10 +168,7 @@
 | 
				
			|||||||
        qcow = getImages nixosConfigurations "qcow";
 | 
					        qcow = getImages nixosConfigurations "qcow";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      packages.x86_64-linux.lego-latest =
 | 
					      packages = import ./pkgs { pkgs = nixpkgs.legacyPackages.x86_64-linux; };
 | 
				
			||||||
        nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/lego-latest/default.nix
 | 
					 | 
				
			||||||
          { };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      checks = import ./checks.nix { inherit inputs forEachSystem formatter; };
 | 
					      checks = import ./checks.nix { inherit inputs forEachSystem formatter; };
 | 
				
			||||||
      devShells = import ./shell.nix { inherit inputs forEachSystem checks; };
 | 
					      devShells = import ./shell.nix { inherit inputs forEachSystem checks; };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,7 +19,6 @@ let
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  prs = readJSONFile pulls;
 | 
					  prs = readJSONFile pulls;
 | 
				
			||||||
  refs = readJSONFile branches;
 | 
					  refs = readJSONFile branches;
 | 
				
			||||||
  repo = "RAD-Development/nix-dotfiles";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # template for creating a job
 | 
					  # template for creating a job
 | 
				
			||||||
  makeJob =
 | 
					  makeJob =
 | 
				
			||||||
@@ -28,6 +27,7 @@ let
 | 
				
			|||||||
      keepnr ? 3,
 | 
					      keepnr ? 3,
 | 
				
			||||||
      description,
 | 
					      description,
 | 
				
			||||||
      flake,
 | 
					      flake,
 | 
				
			||||||
 | 
					      enabled ? 1,
 | 
				
			||||||
    }:
 | 
					    }:
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      inherit
 | 
					      inherit
 | 
				
			||||||
@@ -35,8 +35,8 @@ let
 | 
				
			|||||||
        flake
 | 
					        flake
 | 
				
			||||||
        schedulingshares
 | 
					        schedulingshares
 | 
				
			||||||
        keepnr
 | 
					        keepnr
 | 
				
			||||||
 | 
					        enabled
 | 
				
			||||||
        ;
 | 
					        ;
 | 
				
			||||||
      enabled = 1;
 | 
					 | 
				
			||||||
      type = 1;
 | 
					      type = 1;
 | 
				
			||||||
      hidden = false;
 | 
					      hidden = false;
 | 
				
			||||||
      checkinterval = 300; # every 5 minutes
 | 
					      checkinterval = 300; # every 5 minutes
 | 
				
			||||||
@@ -44,7 +44,9 @@ let
 | 
				
			|||||||
      emailoverride = "";
 | 
					      emailoverride = "";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Create a hydra job for a branch
 | 
					  giteaHost = "ssh://gitea@nayeonie.com:2222";
 | 
				
			||||||
 | 
					  repo = "ahuston-0/nix-dotfiles";
 | 
				
			||||||
 | 
					  # # Create a hydra job for a branch
 | 
				
			||||||
  jobOfRef =
 | 
					  jobOfRef =
 | 
				
			||||||
    name:
 | 
					    name:
 | 
				
			||||||
    { ref, ... }:
 | 
					    { ref, ... }:
 | 
				
			||||||
@@ -55,7 +57,7 @@ let
 | 
				
			|||||||
        name = builtins.replaceStrings [ "/" ] [ "-" ] "branch-${name}";
 | 
					        name = builtins.replaceStrings [ "/" ] [ "-" ] "branch-${name}";
 | 
				
			||||||
        value = makeJob {
 | 
					        value = makeJob {
 | 
				
			||||||
          description = "Branch ${name}";
 | 
					          description = "Branch ${name}";
 | 
				
			||||||
          flake = "git+ssh://git@github.com/${repo}?ref=${ref}";
 | 
					          flake = "git+${giteaHost}/${repo}?ref=${ref}";
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -64,7 +66,8 @@ let
 | 
				
			|||||||
    name = if info.draft then "draft-${id}" else "pr-${id}";
 | 
					    name = if info.draft then "draft-${id}" else "pr-${id}";
 | 
				
			||||||
    value = makeJob {
 | 
					    value = makeJob {
 | 
				
			||||||
      description = "PR ${id}: ${info.title}";
 | 
					      description = "PR ${id}: ${info.title}";
 | 
				
			||||||
      flake = "git+ssh://git@github.com/${info.head.repo.full_name}?ref=${info.head.ref}";
 | 
					      flake = "git+${giteaHost}/${repo}?ref=${info.head.ref}";
 | 
				
			||||||
 | 
					      enabled = info.state == "open";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "enabled": 1,
 | 
					  "enabled": 1,
 | 
				
			||||||
  "hidden": false,
 | 
					  "hidden": false,
 | 
				
			||||||
  "description": "RAD Development infrastructure",
 | 
					  "description": "ahuston-0's personal server infra",
 | 
				
			||||||
  "nixexprinput": "nixexpr",
 | 
					  "nixexprinput": "nixexpr",
 | 
				
			||||||
  "nixexprpath": "hydra/jobsets.nix",
 | 
					  "nixexprpath": "hydra/jobsets.nix",
 | 
				
			||||||
  "checkinterval": 60,
 | 
					  "checkinterval": 60,
 | 
				
			||||||
@@ -12,7 +12,7 @@
 | 
				
			|||||||
  "type": 0,
 | 
					  "type": 0,
 | 
				
			||||||
  "inputs": {
 | 
					  "inputs": {
 | 
				
			||||||
    "nixexpr": {
 | 
					    "nixexpr": {
 | 
				
			||||||
      "value": "https://github.com/RAD-Development/nix-dotfiles main",
 | 
					      "value": "ssh://gitea@nayeonie.com:2222/ahuston-0/nix-dotfiles.git main",
 | 
				
			||||||
      "type": "git",
 | 
					      "type": "git",
 | 
				
			||||||
      "emailresponsible": false
 | 
					      "emailresponsible": false
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@@ -22,13 +22,13 @@
 | 
				
			|||||||
      "emailresponsible": false
 | 
					      "emailresponsible": false
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "pulls": {
 | 
					    "pulls": {
 | 
				
			||||||
      "type": "githubpulls",
 | 
					      "type": "giteapulls",
 | 
				
			||||||
      "value": "RAD-Development nix-dotfiles",
 | 
					      "value": "nayeonie.com ahuston-0 nix-dotfiles https",
 | 
				
			||||||
      "emailresponsible": false
 | 
					      "emailresponsible": false
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "branches": {
 | 
					    "branches": {
 | 
				
			||||||
      "type": "github_refs",
 | 
					      "type": "gitea_refs",
 | 
				
			||||||
      "value": "RAD-Development nix-dotfiles heads -",
 | 
					      "value": "nayeonie.com ahuston-0 nix-dotfiles heads https -",
 | 
				
			||||||
      "emailresponsible": false
 | 
					      "emailresponsible": false
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
{ lib, ... }:
 | 
					{ lib, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  # create rad-dev namespace for lib
 | 
					  # create adev namespace for lib
 | 
				
			||||||
  rad-dev = rec {
 | 
					  adev = rec {
 | 
				
			||||||
    systems = import ./systems.nix { inherit lib; };
 | 
					    systems = import ./systems.nix { inherit lib; };
 | 
				
			||||||
    container-utils = import ./container-utils.nix { inherit lib; };
 | 
					    container-utils = import ./container-utils.nix { inherit lib; };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -128,6 +128,7 @@ rec {
 | 
				
			|||||||
  # configPath: path to the folder containing hardware.nix & configuration.nix
 | 
					  # configPath: path to the folder containing hardware.nix & configuration.nix
 | 
				
			||||||
  # hostname: hostname of the server
 | 
					  # hostname: hostname of the server
 | 
				
			||||||
  # inputs: flake inputs to be used
 | 
					  # inputs: flake inputs to be used
 | 
				
			||||||
 | 
					  # outputs: flake outputs to be used, primarily for accessing custom packages
 | 
				
			||||||
  # src: base path of the repo
 | 
					  # src: base path of the repo
 | 
				
			||||||
  # users: list of users to be added
 | 
					  # users: list of users to be added
 | 
				
			||||||
  # home: enables home-manager on this machine (requires all users to have home-manager)
 | 
					  # home: enables home-manager on this machine (requires all users to have home-manager)
 | 
				
			||||||
@@ -149,7 +150,7 @@ rec {
 | 
				
			|||||||
      configPath,
 | 
					      configPath,
 | 
				
			||||||
      hostname,
 | 
					      hostname,
 | 
				
			||||||
      inputs,
 | 
					      inputs,
 | 
				
			||||||
      outputs,
 | 
					      outputs ? { },
 | 
				
			||||||
      src,
 | 
					      src,
 | 
				
			||||||
      users,
 | 
					      users,
 | 
				
			||||||
      home ? true,
 | 
					      home ? true,
 | 
				
			||||||
@@ -176,7 +177,7 @@ rec {
 | 
				
			|||||||
          (configPath + "/configuration.nix")
 | 
					          (configPath + "/configuration.nix")
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
        ++ modules
 | 
					        ++ modules
 | 
				
			||||||
        ++ (lib.rad-dev.fileList (src + "/modules"))
 | 
					        ++ (lib.adev.fileList (src + "/modules"))
 | 
				
			||||||
        ++ genWrapper sops genSops args
 | 
					        ++ genWrapper sops genSops args
 | 
				
			||||||
        ++ genWrapper home genHome args
 | 
					        ++ genWrapper home genHome args
 | 
				
			||||||
        ++ genWrapper true genUsers args
 | 
					        ++ genWrapper true genUsers args
 | 
				
			||||||
@@ -191,6 +192,7 @@ rec {
 | 
				
			|||||||
  #
 | 
					  #
 | 
				
			||||||
  # args:
 | 
					  # args:
 | 
				
			||||||
  # inputs: flake-inputs to be distributed to each system config
 | 
					  # inputs: flake-inputs to be distributed to each system config
 | 
				
			||||||
 | 
					  # outputs: flake-outputs to be distributed to each system config
 | 
				
			||||||
  # src: the base path to the repo
 | 
					  # src: the base path to the repo
 | 
				
			||||||
  # path: the path to read the systems from, should be a directory containing one directory per machine, each having at least the following
 | 
					  # path: the path to read the systems from, should be a directory containing one directory per machine, each having at least the following
 | 
				
			||||||
  #   - default.nix (with the extra params for constructSystem in it, see systems/palatine-hill/default.nix for an example)
 | 
					  #   - default.nix (with the extra params for constructSystem in it, see systems/palatine-hill/default.nix for an example)
 | 
				
			||||||
@@ -219,10 +221,10 @@ rec {
 | 
				
			|||||||
                ;
 | 
					                ;
 | 
				
			||||||
              hostname = name;
 | 
					              hostname = name;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            // import configPath { inherit inputs; }
 | 
					            // import configPath { inherit inputs outputs; }
 | 
				
			||||||
          );
 | 
					          );
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ) (lib.rad-dev.lsdir path)
 | 
					      ) (lib.adev.lsdir path)
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # gets all the images of a specified format
 | 
					  # gets all the images of a specified format
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -61,7 +61,7 @@ in
 | 
				
			|||||||
    lib.mkIf cfg.enable {
 | 
					    lib.mkIf cfg.enable {
 | 
				
			||||||
      environment.systemPackages =
 | 
					      environment.systemPackages =
 | 
				
			||||||
        [ pkgs.git ]
 | 
					        [ pkgs.git ]
 | 
				
			||||||
        ++ lib.optionals (lib.any (ssh-key: ssh-key != "") (lib.rad-dev.mapGetAttr "ssh-key" repos)) [
 | 
					        ++ lib.optionals (lib.any (ssh-key: ssh-key != "") (lib.adev.mapGetAttr "ssh-key" repos)) [
 | 
				
			||||||
          pkgs.openssh
 | 
					          pkgs.openssh
 | 
				
			||||||
        ];
 | 
					        ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,10 @@
 | 
				
			|||||||
{ lib, config, ... }:
 | 
					{ lib, config, ... }:
 | 
				
			||||||
let
 | 
					let
 | 
				
			||||||
  cfg = config.services.rad-dev.k3s-net;
 | 
					  cfg = config.services.adev.k3s-net;
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  options = {
 | 
					  options = {
 | 
				
			||||||
    services.rad-dev.k3s-net = {
 | 
					    services.adev.k3s-net = {
 | 
				
			||||||
      enable = lib.mkOption {
 | 
					      enable = lib.mkOption {
 | 
				
			||||||
        default = false;
 | 
					        default = false;
 | 
				
			||||||
        example = true;
 | 
					        example = true;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,9 @@
 | 
				
			|||||||
{ lib, pkgs, ... }:
 | 
					{
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  outputs,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  nix = {
 | 
					  nix = {
 | 
				
			||||||
    package = pkgs.nixVersions.latest;
 | 
					    package = pkgs.nixVersions.latest;
 | 
				
			||||||
@@ -46,4 +51,11 @@
 | 
				
			|||||||
      dates = [ "01:00" ];
 | 
					      dates = [ "01:00" ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  nixpkgs.overlays = [
 | 
				
			||||||
 | 
					    (_: _: {
 | 
				
			||||||
 | 
					      # bring all packages into a namespace called rad-pkgs
 | 
				
			||||||
 | 
					      rad-pkgs = lib.genAttrs (lib.attrNames outputs.packages) (pkg: outputs.packages.${pkg});
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,11 +5,11 @@
 | 
				
			|||||||
  ...
 | 
					  ...
 | 
				
			||||||
}:
 | 
					}:
 | 
				
			||||||
let
 | 
					let
 | 
				
			||||||
  cfg = config.services.rad-dev.yubikey;
 | 
					  cfg = config.services.adev.yubikey;
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  options = {
 | 
					  options = {
 | 
				
			||||||
    services.rad-dev.yubikey = {
 | 
					    services.adev.yubikey = {
 | 
				
			||||||
      enable = lib.mkEnableOption "enable yubikey defaults";
 | 
					      enable = lib.mkEnableOption "enable yubikey defaults";
 | 
				
			||||||
      enable-desktop-app = lib.mkEnableOption "installs desktop application";
 | 
					      enable-desktop-app = lib.mkEnableOption "installs desktop application";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										9
									
								
								pkgs/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								pkgs/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					let
 | 
				
			||||||
 | 
					  rad-maintainers = import ./maintainers.nix;
 | 
				
			||||||
 | 
					in
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ftb-app = pkgs.callPackage ./ftb-app { inherit rad-maintainers; };
 | 
				
			||||||
 | 
					  lego-latest = pkgs.callPackage ./lego-latest { inherit rad-maintainers; };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										112
									
								
								pkgs/ftb-app/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								pkgs/ftb-app/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,112 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  alsa-lib,
 | 
				
			||||||
 | 
					  at-spi2-atk,
 | 
				
			||||||
 | 
					  cairo,
 | 
				
			||||||
 | 
					  cups,
 | 
				
			||||||
 | 
					  dbus,
 | 
				
			||||||
 | 
					  dpkg,
 | 
				
			||||||
 | 
					  expat,
 | 
				
			||||||
 | 
					  fetchurl,
 | 
				
			||||||
 | 
					  gtk3,
 | 
				
			||||||
 | 
					  gdk-pixbuf,
 | 
				
			||||||
 | 
					  jre,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  libdrm,
 | 
				
			||||||
 | 
					  libgbm,
 | 
				
			||||||
 | 
					  libxkbcommon,
 | 
				
			||||||
 | 
					  makeWrapper,
 | 
				
			||||||
 | 
					  mesa,
 | 
				
			||||||
 | 
					  nspr,
 | 
				
			||||||
 | 
					  nss,
 | 
				
			||||||
 | 
					  pango,
 | 
				
			||||||
 | 
					  rad-maintainers,
 | 
				
			||||||
 | 
					  stdenv,
 | 
				
			||||||
 | 
					  xorg,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					# source_aarch64=("https://piston.feed-the-beast.com/app/ftb-app-${pkgver}-arm64.deb")
 | 
				
			||||||
 | 
					# sha256sums_aarch64=(ad1197556a187693cbc488142562a0c17144e33056f1c914950c2f1496a4c532)
 | 
				
			||||||
 | 
					stdenv.mkDerivation rec {
 | 
				
			||||||
 | 
					  pname = "ftb-app";
 | 
				
			||||||
 | 
					  version = "1.27.3";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  src = fetchurl {
 | 
				
			||||||
 | 
					    url = "https://piston.feed-the-beast.com/app/ftb-app-linux-${version}-amd64.deb";
 | 
				
			||||||
 | 
					    sha256 = "031a73g58vj35h33pmp3swjrjlg09ismdx46810sp7ihrpvs0ad6";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  nativeBuildInputs = [
 | 
				
			||||||
 | 
					    dpkg
 | 
				
			||||||
 | 
					    makeWrapper
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  unpackPhase = ''
 | 
				
			||||||
 | 
					    runHook preUnpack
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dpkg -x $src ./ftb-app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    runHook postUnpack
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  installPhase = ''
 | 
				
			||||||
 | 
					    runHook preInstall
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    mkdir -p "$out"
 | 
				
			||||||
 | 
					    cp -r ftb-app/* "$out"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Flatten /usr and manually merge lib/ and usr/lib/, since mv refuses to.
 | 
				
			||||||
 | 
					    mv "$out"'/opt/FTB Electron App' "$out/bin"
 | 
				
			||||||
 | 
					    mv "$out/usr/"* "$out/"
 | 
				
			||||||
 | 
					    rmdir "$out/usr"
 | 
				
			||||||
 | 
					    rmdir "$out/opt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for f in "$out/share/applications/"*.desktop; do
 | 
				
			||||||
 | 
					       substituteInPlace "$f" \
 | 
				
			||||||
 | 
					           --replace-fail '/opt/FTB Electron App/ftb-app' "$out/bin/ftb-app"
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # prevent self-upgrade with dpkg
 | 
				
			||||||
 | 
					    rm "$out/bin/resources/package-type"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    chmod +x "$out/bin/ftb-app"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    libs="${nss}/lib/libnss3.so ${nss}/lib/libnssutil3.so ${nss}/lib/libsmime3.so "
 | 
				
			||||||
 | 
					    libs+="${nspr}/lib/libnspr4.so ${dbus.lib}/lib/libdbus-1.so.3 "
 | 
				
			||||||
 | 
					    libs+="${at-spi2-atk}/lib/libatk-1.0.so.0 ${cups.lib}/lib/libcups.so.2 "
 | 
				
			||||||
 | 
					    libs+="${at-spi2-atk}/lib/libatk-bridge-2.0.so.0 "
 | 
				
			||||||
 | 
					    libs+="${libdrm}/lib/libdrm.so.2 ${gtk3}/lib/libgtk-3.so.0 "
 | 
				
			||||||
 | 
					    libs+="${pango.out}/lib/libpango-1.0.so.0 ${cairo}/lib/libcairo.so.2 "
 | 
				
			||||||
 | 
					    libs+="${xorg.libX11}/lib/libX11.so.6 ${xorg.libXext}/lib/libXext.so.6 "
 | 
				
			||||||
 | 
					    libs+="${xorg.libXcomposite}/lib/libXcomposite.so.1 "
 | 
				
			||||||
 | 
					    libs+="${xorg.libXdamage}/lib/libXdamage.so.1 "
 | 
				
			||||||
 | 
					    libs+="${xorg.libXfixes}/lib/libXfixes.so.3 ${expat}/lib/libexpat.so.1 "
 | 
				
			||||||
 | 
					    libs+="${xorg.libXrandr}/lib/libXrandr.so.2  "
 | 
				
			||||||
 | 
					    libs+="${xorg.libxcb}/lib/libxcb.so.1 ${alsa-lib}/lib/libasound.so.2 "
 | 
				
			||||||
 | 
					    libs+="${libxkbcommon}/lib/libxkbcommon.so.0 "
 | 
				
			||||||
 | 
					    libs+="${at-spi2-atk}/lib/libatspi.so.0 ${xorg.libXtst}/lib/libXtst.so.6 "
 | 
				
			||||||
 | 
					    libs+="${gdk-pixbuf}/lib/libgdk_pixbuf-2.0.so.0 ${libgbm}/lib/libgbm.so.1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo "$libs"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for p in "$out/bin/ftb-app"; do
 | 
				
			||||||
 | 
					        wrapProgram "$p" \
 | 
				
			||||||
 | 
					            --set LD_PRELOAD "$libs" \
 | 
				
			||||||
 | 
					            --set NIX_REDIRECTS "/usr/share=$out/share:"'/opt/FTB Electron Application'"=$out/bin" \
 | 
				
			||||||
 | 
					            --set JAVA_HOME "${jre.home}"
 | 
				
			||||||
 | 
					            # --prefix PATH : "{lib.makeBinPath [ gzip gnutar ]}"
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    runHook postInstall
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  meta = with lib; {
 | 
				
			||||||
 | 
					    description = "A new Modpack launcher for FTB and Curse modpacks.";
 | 
				
			||||||
 | 
					    homepage = "https://feed-the-beast.com/app";
 | 
				
			||||||
 | 
					    license = with licenses; [ lgpl21Only ];
 | 
				
			||||||
 | 
					    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
 | 
				
			||||||
 | 
					    maintainers = with rad-maintainers; [ ahuston-0 ];
 | 
				
			||||||
 | 
					    platforms = [ "x86_64-linux" ];
 | 
				
			||||||
 | 
					    mainProgram = "ftb-app";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -2,6 +2,7 @@
 | 
				
			|||||||
  lib,
 | 
					  lib,
 | 
				
			||||||
  fetchFromGitHub,
 | 
					  fetchFromGitHub,
 | 
				
			||||||
  buildGoModule,
 | 
					  buildGoModule,
 | 
				
			||||||
 | 
					  rad-maintainers,
 | 
				
			||||||
}:
 | 
					}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
buildGoModule rec {
 | 
					buildGoModule rec {
 | 
				
			||||||
@@ -31,7 +32,7 @@ buildGoModule rec {
 | 
				
			|||||||
    description = "Let's Encrypt client and ACME library written in Go";
 | 
					    description = "Let's Encrypt client and ACME library written in Go";
 | 
				
			||||||
    license = licenses.mit;
 | 
					    license = licenses.mit;
 | 
				
			||||||
    homepage = "https://go-acme.github.io/lego/";
 | 
					    homepage = "https://go-acme.github.io/lego/";
 | 
				
			||||||
    maintainers = teams.acme.members;
 | 
					    maintainers = teams.acme.members ++ [ rad-maintainers.ahuston-0 ];
 | 
				
			||||||
    mainProgram = "lego";
 | 
					    mainProgram = "lego";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										77
									
								
								pkgs/maintainers.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								pkgs/maintainers.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
				
			|||||||
 | 
					/*
 | 
				
			||||||
 | 
					  Borrowed this from nixpkgs :)
 | 
				
			||||||
 | 
					  List of NixOS maintainers.
 | 
				
			||||||
 | 
					   ```nix
 | 
				
			||||||
 | 
					   handle = {
 | 
				
			||||||
 | 
					     # Required
 | 
				
			||||||
 | 
					     name = "Your name";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     # Optional, but at least one of email, matrix or githubId must be given
 | 
				
			||||||
 | 
					     email = "address@example.org";
 | 
				
			||||||
 | 
					     matrix = "@user:example.org";
 | 
				
			||||||
 | 
					     github = "GithubUsername";
 | 
				
			||||||
 | 
					     githubId = your-github-id;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     keys = [{
 | 
				
			||||||
 | 
					       fingerprint = "AAAA BBBB CCCC DDDD EEEE  FFFF 0000 1111 2222 3333";
 | 
				
			||||||
 | 
					     }];
 | 
				
			||||||
 | 
					   };
 | 
				
			||||||
 | 
					   ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   where
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   - `handle` is the handle you are going to use in nixpkgs expressions,
 | 
				
			||||||
 | 
					   - `name` is a name that people would know and recognize you by,
 | 
				
			||||||
 | 
					   - `email` is your maintainer email address,
 | 
				
			||||||
 | 
					   - `matrix` is your Matrix user ID,
 | 
				
			||||||
 | 
					   - `github` is your GitHub handle (as it appears in the URL of your profile page, `https://github.com/<userhandle>`),
 | 
				
			||||||
 | 
					   - `githubId` is your GitHub user ID, which can be found at `https://api.github.com/users/<userhandle>`,
 | 
				
			||||||
 | 
					   - `keys` is a list of your PGP/GPG key fingerprints.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Specifying a GitHub account ensures that you automatically:
 | 
				
			||||||
 | 
					   - get invited to the @NixOS/nixpkgs-maintainers team ;
 | 
				
			||||||
 | 
					   - once you are part of the @NixOS org, OfBorg will request you review
 | 
				
			||||||
 | 
					     pull requests that modify a package for which you are a maintainer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   `handle == github` is strongly preferred whenever `github` is an acceptable attribute name and is short and convenient.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   If `github` begins with a numeral, `handle` should be prefixed with an underscore.
 | 
				
			||||||
 | 
					   ```nix
 | 
				
			||||||
 | 
					   _1example = {
 | 
				
			||||||
 | 
					     github = "1example";
 | 
				
			||||||
 | 
					   };
 | 
				
			||||||
 | 
					   ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Add PGP/GPG keys only if you actually use them to sign commits and/or mail.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   To get the required PGP/GPG values for a key run
 | 
				
			||||||
 | 
					   ```shell
 | 
				
			||||||
 | 
					   gpg --fingerprint <email> | head -n 2
 | 
				
			||||||
 | 
					   ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   !!! Note that PGP/GPG values stored here are for informational purposes only, don't use this file as a source of truth.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   More fields may be added in the future, however, in order to comply with GDPR this file should stay as minimal as possible.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   When editing this file:
 | 
				
			||||||
 | 
					    * keep the list alphabetically sorted, check with:
 | 
				
			||||||
 | 
					        nix-instantiate --eval maintainers/scripts/check-maintainers-sorted.nix
 | 
				
			||||||
 | 
					    * test the validity of the format with:
 | 
				
			||||||
 | 
					        nix-build lib/tests/maintainers.nix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   When adding a new maintainer, be aware of the current commit conventions
 | 
				
			||||||
 | 
					   documented at [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#commit-conventions)
 | 
				
			||||||
 | 
					   file located in the root of the Nixpkgs repo.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  ahuston-0 = {
 | 
				
			||||||
 | 
					    name = "ahuston-0";
 | 
				
			||||||
 | 
					    email = "aliceghuston@gmail.com";
 | 
				
			||||||
 | 
					    github = "ahuston-0";
 | 
				
			||||||
 | 
					    githubId = 43225907;
 | 
				
			||||||
 | 
					    keys = [ { fingerprint = "F638 32C3 080D 6E1A C77E  ECF8 0B42 45FF E305 BC82"; } ];
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -38,7 +38,7 @@ forEachSystem (
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # constructs a custom shell with commonly used utilities
 | 
					    # constructs a custom shell with commonly used utilities
 | 
				
			||||||
    rad-dev = pkgs.mkShell {
 | 
					    adev = pkgs.mkShell {
 | 
				
			||||||
      packages = with pkgs; [
 | 
					      packages = with pkgs; [
 | 
				
			||||||
        deadnix
 | 
					        deadnix
 | 
				
			||||||
        pre-commit
 | 
					        pre-commit
 | 
				
			||||||
@@ -56,7 +56,7 @@ forEachSystem (
 | 
				
			|||||||
    default = pkgs.mkShell {
 | 
					    default = pkgs.mkShell {
 | 
				
			||||||
      inputsFrom = [
 | 
					      inputsFrom = [
 | 
				
			||||||
        pre-commit
 | 
					        pre-commit
 | 
				
			||||||
        rad-dev
 | 
					        adev
 | 
				
			||||||
        sops
 | 
					        sops
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -75,7 +75,7 @@
 | 
				
			|||||||
    fprintd.enable = lib.mkForce false;
 | 
					    fprintd.enable = lib.mkForce false;
 | 
				
			||||||
    openssh.enable = lib.mkForce false;
 | 
					    openssh.enable = lib.mkForce false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    rad-dev.yubikey = {
 | 
					    adev.yubikey = {
 | 
				
			||||||
      enable = true;
 | 
					      enable = true;
 | 
				
			||||||
      enable-desktop-app = true;
 | 
					      enable-desktop-app = true;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,6 +30,10 @@
 | 
				
			|||||||
  };
 | 
					  };
 | 
				
			||||||
  # Optional, hint electron apps to use wayland:
 | 
					  # Optional, hint electron apps to use wayland:
 | 
				
			||||||
  environment.sessionVariables.NIXOS_OZONE_WL = "1";
 | 
					  environment.sessionVariables.NIXOS_OZONE_WL = "1";
 | 
				
			||||||
 | 
					  xdg.portal = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  services = {
 | 
					  services = {
 | 
				
			||||||
    xserver = {
 | 
					    xserver = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -72,6 +72,7 @@
 | 
				
			|||||||
    protontricks
 | 
					    protontricks
 | 
				
			||||||
    proxychains
 | 
					    proxychains
 | 
				
			||||||
    qrencode
 | 
					    qrencode
 | 
				
			||||||
 | 
					    rad-pkgs.ftb-app
 | 
				
			||||||
    redshift
 | 
					    redshift
 | 
				
			||||||
    restic
 | 
					    restic
 | 
				
			||||||
    ripgrep
 | 
					    ripgrep
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,7 +31,7 @@
 | 
				
			|||||||
      openssl
 | 
					      openssl
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
    ++ [
 | 
					    ++ [
 | 
				
			||||||
      outputs.packages.x86_64-linux.lego-latest
 | 
					      outputs.packages.lego-latest
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
  );
 | 
					  );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -62,58 +62,58 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  # borrowing from https://github.com/Shawn8901/nix-configuration/blob/4b8d1d44f47aec60feb58ca7b7ab5ed000506e90/modules/nixos/private/hydra.nix
 | 
					  # borrowing from https://github.com/Shawn8901/nix-configuration/blob/4b8d1d44f47aec60feb58ca7b7ab5ed000506e90/modules/nixos/private/hydra.nix
 | 
				
			||||||
  # configured default webstore for this on root user separately
 | 
					  # configured default webstore for this on root user separately
 | 
				
			||||||
  # systemd = {
 | 
					  systemd = {
 | 
				
			||||||
  #   services = {
 | 
					    services = {
 | 
				
			||||||
  #     attic-watch-store = {
 | 
					      attic-watch-store = {
 | 
				
			||||||
  #       wantedBy = [ "multi-user.target" ];
 | 
					        wantedBy = [ "multi-user.target" ];
 | 
				
			||||||
  #       after = [
 | 
					        after = [
 | 
				
			||||||
  #         "network-online.target"
 | 
					          "network-online.target"
 | 
				
			||||||
  #         "docker.service"
 | 
					          "docker.service"
 | 
				
			||||||
  #         "atticd.service"
 | 
					          "atticd.service"
 | 
				
			||||||
  #       ];
 | 
					        ];
 | 
				
			||||||
  #       requires = [
 | 
					        requires = [
 | 
				
			||||||
  #         "network-online.target"
 | 
					          "network-online.target"
 | 
				
			||||||
  #         "docker.service"
 | 
					          "docker.service"
 | 
				
			||||||
  #         "atticd.service"
 | 
					          "atticd.service"
 | 
				
			||||||
  #       ];
 | 
					        ];
 | 
				
			||||||
  #       description = "Upload all store content to binary cache";
 | 
					        description = "Upload all store content to binary cache";
 | 
				
			||||||
  #       serviceConfig = {
 | 
					        serviceConfig = {
 | 
				
			||||||
  #         User = "root";
 | 
					          User = "root";
 | 
				
			||||||
  #         Restart = "always";
 | 
					          Restart = "always";
 | 
				
			||||||
  #         ExecStart = "${pkgs.attic-client}/bin/attic watch-store cache-nix-dot";
 | 
					          ExecStart = "${pkgs.attic-client}/bin/attic watch-store nix-cache";
 | 
				
			||||||
  #       };
 | 
					        };
 | 
				
			||||||
  #     };
 | 
					      };
 | 
				
			||||||
  #     attic-sync-hydra = {
 | 
					      attic-sync-hydra = {
 | 
				
			||||||
  #       after = [
 | 
					        after = [
 | 
				
			||||||
  #         "network-online.target"
 | 
					          "network-online.target"
 | 
				
			||||||
  #         "docker.service"
 | 
					          "docker.service"
 | 
				
			||||||
  #         "atticd.service"
 | 
					          "atticd.service"
 | 
				
			||||||
  #       ];
 | 
					        ];
 | 
				
			||||||
  #       requires = [
 | 
					        requires = [
 | 
				
			||||||
  #         "network-online.target"
 | 
					          "network-online.target"
 | 
				
			||||||
  #         "docker.service"
 | 
					          "docker.service"
 | 
				
			||||||
  #         "atticd.service"
 | 
					          "atticd.service"
 | 
				
			||||||
  #       ];
 | 
					        ];
 | 
				
			||||||
  #       description = "Force resync of hydra derivations with attic";
 | 
					        description = "Force resync of hydra derivations with attic";
 | 
				
			||||||
  #       serviceConfig = {
 | 
					        serviceConfig = {
 | 
				
			||||||
  #         Type = "oneshot";
 | 
					          Type = "oneshot";
 | 
				
			||||||
  #         User = "root";
 | 
					          User = "root";
 | 
				
			||||||
  #         ExecStart = "${config.nix.package}/bin/nix ${./sync-attic.bash}";
 | 
					          ExecStart = "${config.nix.package}/bin/nix ${./sync-attic.bash}";
 | 
				
			||||||
  #       };
 | 
					        };
 | 
				
			||||||
  #     };
 | 
					      };
 | 
				
			||||||
  #   };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  #   timers = {
 | 
					    timers = {
 | 
				
			||||||
  #     attic-sync-hydra = {
 | 
					      attic-sync-hydra = {
 | 
				
			||||||
  #       wantedBy = [ "timers.target" ];
 | 
					        wantedBy = [ "timers.target" ];
 | 
				
			||||||
  #       timerConfig = {
 | 
					        timerConfig = {
 | 
				
			||||||
  #         OnBootSec = 600;
 | 
					          OnBootSec = 600;
 | 
				
			||||||
  #         OnUnitActiveSec = 86400;
 | 
					          OnUnitActiveSec = 86400;
 | 
				
			||||||
  #         Unit = "attic-sync-hydra.service";
 | 
					          Unit = "attic-sync-hydra.service";
 | 
				
			||||||
  #       };
 | 
					        };
 | 
				
			||||||
  #     };
 | 
					      };
 | 
				
			||||||
  #   };
 | 
					    };
 | 
				
			||||||
  # };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  sops = {
 | 
					  sops = {
 | 
				
			||||||
    secrets = {
 | 
					    secrets = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,5 +6,5 @@ sync_directories=(
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for dir in "${sync_directories[@]}"; do
 | 
					for dir in "${sync_directories[@]}"; do
 | 
				
			||||||
  find "$dir" -regex ".*\.drv$" -exec attic push cache-nix-dot '{}' \;
 | 
					  find "$dir" -regex ".*\.drv$" -exec attic push nix-cache '{}' \;
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,8 +17,8 @@
 | 
				
			|||||||
    ./minio.nix
 | 
					    ./minio.nix
 | 
				
			||||||
    ./networking.nix
 | 
					    ./networking.nix
 | 
				
			||||||
    ./nextcloud.nix
 | 
					    ./nextcloud.nix
 | 
				
			||||||
    ./samba.nix
 | 
					 | 
				
			||||||
    ./postgresql.nix
 | 
					    ./postgresql.nix
 | 
				
			||||||
 | 
					    ./samba.nix
 | 
				
			||||||
    ./zfs.nix
 | 
					    ./zfs.nix
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@
 | 
				
			|||||||
let
 | 
					let
 | 
				
			||||||
  vars = import ../vars.nix;
 | 
					  vars = import ../vars.nix;
 | 
				
			||||||
  act_path = vars.primary_act;
 | 
					  act_path = vars.primary_act;
 | 
				
			||||||
 | 
					  act_config_path = ./act_config.yaml;
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  virtualisation.oci-containers.containers = {
 | 
					  virtualisation.oci-containers.containers = {
 | 
				
			||||||
@@ -20,10 +21,9 @@ in
 | 
				
			|||||||
      };
 | 
					      };
 | 
				
			||||||
      ports = [ "8088:8088" ];
 | 
					      ports = [ "8088:8088" ];
 | 
				
			||||||
      volumes = [
 | 
					      volumes = [
 | 
				
			||||||
        "${act_path}/stable-latest-main/config.yaml:/config.yaml"
 | 
					        "${act_config_path}:/config.yaml"
 | 
				
			||||||
        "${act_path}/stable-latest-main/data:/data"
 | 
					        "${act_path}/stable-latest-main/data:/data"
 | 
				
			||||||
        "/var/run/docker.sock:/var/run/docker.sock"
 | 
					        "/var/run/docker.sock:/var/run/docker.sock"
 | 
				
			||||||
        "/nix:/nix"
 | 
					 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
      environment = {
 | 
					      environment = {
 | 
				
			||||||
        CONFIG_FILE = "/config.yaml";
 | 
					        CONFIG_FILE = "/config.yaml";
 | 
				
			||||||
@@ -43,10 +43,9 @@ in
 | 
				
			|||||||
        "com.centurylinklabs.watchtower.scope" = "act-runner";
 | 
					        "com.centurylinklabs.watchtower.scope" = "act-runner";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      volumes = [
 | 
					      volumes = [
 | 
				
			||||||
        "${act_path}/stable-latest-1/config.yaml:/config.yaml"
 | 
					        "${./act_config.yaml}:/config.yaml"
 | 
				
			||||||
        "${act_path}/stable-latest-1/data:/data"
 | 
					        "${act_path}/stable-latest-1/data:/data"
 | 
				
			||||||
        "/var/run/docker.sock:/var/run/docker.sock"
 | 
					        "/var/run/docker.sock:/var/run/docker.sock"
 | 
				
			||||||
        "/nix:/nix"
 | 
					 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
      environment = {
 | 
					      environment = {
 | 
				
			||||||
        CONFIG_FILE = "/config.yaml";
 | 
					        CONFIG_FILE = "/config.yaml";
 | 
				
			||||||
@@ -66,10 +65,9 @@ in
 | 
				
			|||||||
        "com.centurylinklabs.watchtower.scope" = "act-runner";
 | 
					        "com.centurylinklabs.watchtower.scope" = "act-runner";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      volumes = [
 | 
					      volumes = [
 | 
				
			||||||
        "${act_path}/stable-latest-2/config.yaml:/config.yaml"
 | 
					        "${act_config_path}:/config.yaml"
 | 
				
			||||||
        "${act_path}/stable-latest-2/data:/data"
 | 
					        "${act_path}/stable-latest-2/data:/data"
 | 
				
			||||||
        "/var/run/docker.sock:/var/run/docker.sock"
 | 
					        "/var/run/docker.sock:/var/run/docker.sock"
 | 
				
			||||||
        "/nix:/nix"
 | 
					 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
      environment = {
 | 
					      environment = {
 | 
				
			||||||
        CONFIG_FILE = "/config.yaml";
 | 
					        CONFIG_FILE = "/config.yaml";
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										95
									
								
								systems/palatine-hill/docker/act_config.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								systems/palatine-hill/docker/act_config.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,95 @@
 | 
				
			|||||||
 | 
					# Example configuration file, it's safe to copy this as the default config file without any modification.
 | 
				
			||||||
 | 
					# You don't have to copy this file to your instance,
 | 
				
			||||||
 | 
					# just run `./act_runner generate-config > config.yaml` to generate a config file.
 | 
				
			||||||
 | 
					log:
 | 
				
			||||||
 | 
					    # The level of logging, can be trace, debug, info, warn, error, fatal
 | 
				
			||||||
 | 
					    level: debug
 | 
				
			||||||
 | 
					runner:
 | 
				
			||||||
 | 
					    # Where to store the registration result.
 | 
				
			||||||
 | 
					    file: .runner
 | 
				
			||||||
 | 
					    # Execute how many tasks concurrently at the same time.
 | 
				
			||||||
 | 
					    capacity: 1
 | 
				
			||||||
 | 
					    # Extra environment variables to run jobs.
 | 
				
			||||||
 | 
					    envs:
 | 
				
			||||||
 | 
					        A_TEST_ENV_NAME_1: a_test_env_value_1
 | 
				
			||||||
 | 
					        A_TEST_ENV_NAME_2: a_test_env_value_2
 | 
				
			||||||
 | 
					    # Extra environment variables to run jobs from a file.
 | 
				
			||||||
 | 
					    # It will be ignored if it's empty or the file doesn't exist.
 | 
				
			||||||
 | 
					    env_file: .env
 | 
				
			||||||
 | 
					    # The timeout for a job to be finished.
 | 
				
			||||||
 | 
					    # Please note that the Gitea instance also has a timeout (3h by default) for the job.
 | 
				
			||||||
 | 
					    # So the job could be stopped by the Gitea instance if it's timeout is shorter than this.
 | 
				
			||||||
 | 
					    timeout: 3h
 | 
				
			||||||
 | 
					    # The timeout for the runner to wait for running jobs to finish when shutting down.
 | 
				
			||||||
 | 
					    # Any running jobs that haven't finished after this timeout will be cancelled.
 | 
				
			||||||
 | 
					    shutdown_timeout: 30m
 | 
				
			||||||
 | 
					    # Whether skip verifying the TLS certificate of the Gitea instance.
 | 
				
			||||||
 | 
					    insecure: false
 | 
				
			||||||
 | 
					    # The timeout for fetching the job from the Gitea instance.
 | 
				
			||||||
 | 
					    fetch_timeout: 5s
 | 
				
			||||||
 | 
					    # The interval for fetching the job from the Gitea instance.
 | 
				
			||||||
 | 
					    fetch_interval: 2s
 | 
				
			||||||
 | 
					    # The labels of a runner are used to determine which jobs the runner can run, and how to run them.
 | 
				
			||||||
 | 
					    # Like: "macos-arm64:host" or "ubuntu-latest:docker://gitea/runner-images:ubuntu-latest"
 | 
				
			||||||
 | 
					    # Find more images provided by Gitea at https://gitea.com/gitea/runner-images .
 | 
				
			||||||
 | 
					    # If it's empty when registering, it will ask for inputting labels.
 | 
				
			||||||
 | 
					    # If it's empty when execute `daemon`, will use labels in `.runner` file.
 | 
				
			||||||
 | 
					    labels:
 | 
				
			||||||
 | 
					        - "ubuntu-latest:docker://gitea/runner-images:ubuntu-latest"
 | 
				
			||||||
 | 
					        - "ubuntu-22.04:docker://gitea/runner-images:ubuntu-22.04"
 | 
				
			||||||
 | 
					        - "ubuntu-20.04:docker://gitea/runner-images:ubuntu-20.04"
 | 
				
			||||||
 | 
					        #cache:
 | 
				
			||||||
 | 
					    # Enable cache server to use actions/cache.
 | 
				
			||||||
 | 
					    #enabled: true
 | 
				
			||||||
 | 
					    # The directory to store the cache data.
 | 
				
			||||||
 | 
					    # If it's empty, the cache data will be stored in $HOME/.cache/actcache.
 | 
				
			||||||
 | 
					    #dir: ""
 | 
				
			||||||
 | 
					    # The host of the cache server.
 | 
				
			||||||
 | 
					    # It's not for the address to listen, but the address to connect from job containers.
 | 
				
			||||||
 | 
					    # So 0.0.0.0 is a bad choice, leave it empty to detect automatically.
 | 
				
			||||||
 | 
					    #host: ""
 | 
				
			||||||
 | 
					    # The port of the cache server.
 | 
				
			||||||
 | 
					    # 0 means to use a random available port.
 | 
				
			||||||
 | 
					    #port: 0
 | 
				
			||||||
 | 
					    # The external cache server URL. Valid only when enable is true.
 | 
				
			||||||
 | 
					    # If it's specified, act_runner will use this URL as the ACTIONS_CACHE_URL rather than start a server by itself.
 | 
				
			||||||
 | 
					    # The URL should generally end with "/".
 | 
				
			||||||
 | 
					    #external_server: ""
 | 
				
			||||||
 | 
					container:
 | 
				
			||||||
 | 
					    # Specifies the network to which the container will connect.
 | 
				
			||||||
 | 
					    # Could be host, bridge or the name of a custom network.
 | 
				
			||||||
 | 
					    # If it's empty, act_runner will create a network automatically.
 | 
				
			||||||
 | 
					    network: ""
 | 
				
			||||||
 | 
					    # Whether to use privileged mode or not when launching task containers (privileged mode is required for Docker-in-Docker).
 | 
				
			||||||
 | 
					    privileged: false
 | 
				
			||||||
 | 
					    # And other options to be used when the container is started (eg, --add-host=my.gitea.url:host-gateway).
 | 
				
			||||||
 | 
					    options:
 | 
				
			||||||
 | 
					    # The parent directory of a job's working directory.
 | 
				
			||||||
 | 
					    # NOTE: There is no need to add the first '/' of the path as act_runner will add it automatically. 
 | 
				
			||||||
 | 
					    # If the path starts with '/', the '/' will be trimmed.
 | 
				
			||||||
 | 
					    # For example, if the parent directory is /path/to/my/dir, workdir_parent should be path/to/my/dir
 | 
				
			||||||
 | 
					    # If it's empty, /workspace will be used.
 | 
				
			||||||
 | 
					    workdir_parent:
 | 
				
			||||||
 | 
					    # Volumes (including bind mounts) can be mounted to containers. Glob syntax is supported, see https://github.com/gobwas/glob
 | 
				
			||||||
 | 
					    # You can specify multiple volumes. If the sequence is empty, no volumes can be mounted.
 | 
				
			||||||
 | 
					    # For example, if you only allow containers to mount the `data` volume and all the json files in `/src`, you should change the config to:
 | 
				
			||||||
 | 
					    # valid_volumes:
 | 
				
			||||||
 | 
					    #   - data
 | 
				
			||||||
 | 
					    #   - /src/*.json
 | 
				
			||||||
 | 
					    # If you want to allow any volume, please use the following configuration:
 | 
				
			||||||
 | 
					    # valid_volumes:
 | 
				
			||||||
 | 
					    #   - '**'
 | 
				
			||||||
 | 
					    valid_volumes: []
 | 
				
			||||||
 | 
					    # overrides the docker client host with the specified one.
 | 
				
			||||||
 | 
					    # If it's empty, act_runner will find an available docker host automatically.
 | 
				
			||||||
 | 
					    # If it's "-", act_runner will find an available docker host automatically, but the docker host won't be mounted to the job containers and service containers.
 | 
				
			||||||
 | 
					    # If it's not empty or "-", the specified docker host will be used. An error will be returned if it doesn't work.
 | 
				
			||||||
 | 
					    docker_host: ""
 | 
				
			||||||
 | 
					    # Pull docker image(s) even if already present
 | 
				
			||||||
 | 
					    force_pull: true
 | 
				
			||||||
 | 
					    # Rebuild docker image(s) even if already present
 | 
				
			||||||
 | 
					    force_rebuild: false
 | 
				
			||||||
 | 
					host:
 | 
				
			||||||
 | 
					    # The parent directory of a job's working directory.
 | 
				
			||||||
 | 
					    # If it's empty, $HOME/.cache/act/ will be used.
 | 
				
			||||||
 | 
					    workdir_parent:
 | 
				
			||||||
@@ -122,7 +122,7 @@ let
 | 
				
			|||||||
    cmd = lib.splitString " " "--concurrent 6 AmAnd0";
 | 
					    cmd = lib.splitString " " "--concurrent 6 AmAnd0";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
  inherit (lib.rad-dev.container-utils) createTemplatedContainers;
 | 
					  inherit (lib.adev.container-utils) createTemplatedContainers;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  vars = import ../vars.nix;
 | 
					  vars = import ../vars.nix;
 | 
				
			||||||
  at_path = vars.primary_archiveteam;
 | 
					  at_path = vars.primary_archiveteam;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,31 +9,31 @@ let
 | 
				
			|||||||
    divinejourney = "dj.alicehuston.xyz";
 | 
					    divinejourney = "dj.alicehuston.xyz";
 | 
				
			||||||
    rlcraft = "rlcraft.alicehuston.xyz";
 | 
					    rlcraft = "rlcraft.alicehuston.xyz";
 | 
				
			||||||
    arcanum-institute = "arcanum.alicehuston.xyz";
 | 
					    arcanum-institute = "arcanum.alicehuston.xyz";
 | 
				
			||||||
    bcg-plus = "bcg.alicehuston.xyz";
 | 
					    # bcg-plus = "bcg.alicehuston.xyz";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  defaultServer = "rlcraft";
 | 
					  defaultServer = "rlcraft";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  defaultEnv = {
 | 
					  # defaultEnv = {
 | 
				
			||||||
    EULA = "true";
 | 
					  #   EULA = "true";
 | 
				
			||||||
    TYPE = "AUTO_CURSEFORGE";
 | 
					  #   TYPE = "AUTO_CURSEFORGE";
 | 
				
			||||||
    STOP_SERVER_ANNOUNCE_DELAY = "120";
 | 
					  #   STOP_SERVER_ANNOUNCE_DELAY = "120";
 | 
				
			||||||
    STOP_DURATION = "600";
 | 
					  #   STOP_DURATION = "600";
 | 
				
			||||||
    SYNC_CHUNK_WRITES = "false";
 | 
					  #   SYNC_CHUNK_WRITES = "false";
 | 
				
			||||||
    USE_AIKAR_FLAGS = "true";
 | 
					  #   USE_AIKAR_FLAGS = "true";
 | 
				
			||||||
    MEMORY = "8GB";
 | 
					  #   MEMORY = "8GB";
 | 
				
			||||||
    ALLOW_FLIGHT = "true";
 | 
					  #   ALLOW_FLIGHT = "true";
 | 
				
			||||||
    MAX_TICK_TIME = "-1";
 | 
					  #   MAX_TICK_TIME = "-1";
 | 
				
			||||||
  };
 | 
					  # };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  defaultOptions = [
 | 
					  # defaultOptions = [
 | 
				
			||||||
    "--stop-signal=SIGTERM"
 | 
					  #   "--stop-signal=SIGTERM"
 | 
				
			||||||
    "--stop-timeout=1800"
 | 
					  #   "--stop-timeout=1800"
 | 
				
			||||||
    "--network=minecraft-net"
 | 
					  #   "--network=minecraft-net"
 | 
				
			||||||
  ];
 | 
					  # ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  vars = import ../vars.nix;
 | 
					  # vars = import ../vars.nix;
 | 
				
			||||||
  minecraft_path = "${vars.primary_games}/minecraft";
 | 
					  # minecraft_path = "${vars.primary_games}/minecraft";
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  virtualisation.oci-containers.containers = {
 | 
					  virtualisation.oci-containers.containers = {
 | 
				
			||||||
@@ -46,7 +46,7 @@ in
 | 
				
			|||||||
      cmd = [
 | 
					      cmd = [
 | 
				
			||||||
        (
 | 
					        (
 | 
				
			||||||
          "--mapping=mc.alicehuston.xyz=${defaultServer}:25565"
 | 
					          "--mapping=mc.alicehuston.xyz=${defaultServer}:25565"
 | 
				
			||||||
          + (lib.rad-dev.mapAttrsToString (hostname: url: "," + url + "=" + hostname + ":25565") servers)
 | 
					          + (lib.adev.mapAttrsToString (hostname: url: "," + url + "=" + hostname + ":25565") servers)
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
      ];
 | 
					      ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
@@ -67,24 +67,24 @@ in
 | 
				
			|||||||
    #   log-driver = "local";
 | 
					    #   log-driver = "local";
 | 
				
			||||||
    #   environmentFiles = [ config.sops.secrets."docker/minecraft".path ];
 | 
					    #   environmentFiles = [ config.sops.secrets."docker/minecraft".path ];
 | 
				
			||||||
    # };
 | 
					    # };
 | 
				
			||||||
    bcg-plus = {
 | 
					    # bcg-plus = {
 | 
				
			||||||
      image = "itzg/minecraft-server:java17";
 | 
					    #   image = "itzg/minecraft-server:java17";
 | 
				
			||||||
      volumes = [
 | 
					    #   volumes = [
 | 
				
			||||||
        "${minecraft_path}/bcg-plus/modpacks:/modpacks:ro"
 | 
					    #     "${minecraft_path}/bcg-plus/modpacks:/modpacks:ro"
 | 
				
			||||||
        "${minecraft_path}/bcg-plus/data:/data"
 | 
					    #     "${minecraft_path}/bcg-plus/data:/data"
 | 
				
			||||||
      ];
 | 
					    #   ];
 | 
				
			||||||
      hostname = "bcg-plus";
 | 
					    #   hostname = "bcg-plus";
 | 
				
			||||||
      environment = defaultEnv // {
 | 
					    #   environment = defaultEnv // {
 | 
				
			||||||
        VERSION = "1.17";
 | 
					    #     VERSION = "1.17";
 | 
				
			||||||
        CF_SLUG = "bcg";
 | 
					    #     CF_SLUG = "bcg";
 | 
				
			||||||
        DIFFICULTY = "normal";
 | 
					    #     DIFFICULTY = "normal";
 | 
				
			||||||
        DEBUG = "true";
 | 
					    #     DEBUG = "true";
 | 
				
			||||||
        # ENABLE_COMMAND_BLOCK = "true";
 | 
					    #     # ENABLE_COMMAND_BLOCK = "true";
 | 
				
			||||||
      };
 | 
					    #   };
 | 
				
			||||||
      extraOptions = defaultOptions;
 | 
					    #   extraOptions = defaultOptions;
 | 
				
			||||||
      log-driver = "local";
 | 
					    #   log-driver = "local";
 | 
				
			||||||
      environmentFiles = [ config.sops.secrets."docker/minecraft".path ];
 | 
					    #   environmentFiles = [ config.sops.secrets."docker/minecraft".path ];
 | 
				
			||||||
    };
 | 
					    # };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  sops = {
 | 
					  sops = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  config,
 | 
					  config,
 | 
				
			||||||
  lib,
 | 
					  inputs,
 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}:
 | 
					}:
 | 
				
			||||||
let
 | 
					let
 | 
				
			||||||
@@ -43,6 +42,7 @@ in
 | 
				
			|||||||
  services = {
 | 
					  services = {
 | 
				
			||||||
    hydra = {
 | 
					    hydra = {
 | 
				
			||||||
      enable = true;
 | 
					      enable = true;
 | 
				
			||||||
 | 
					      package = inputs.hydra.packages.x86_64-linux.hydra;
 | 
				
			||||||
      hydraURL = "https://hydra.alicehuston.xyz";
 | 
					      hydraURL = "https://hydra.alicehuston.xyz";
 | 
				
			||||||
      smtpHost = "alicehuston.xyz";
 | 
					      smtpHost = "alicehuston.xyz";
 | 
				
			||||||
      notificationSender = "hydra@alicehuston.xyz";
 | 
					      notificationSender = "hydra@alicehuston.xyz";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,6 +27,8 @@ acme:
 | 
				
			|||||||
    dnsimple: ENC[AES256_GCM,data:37FKyBibFtXZgI4EduJQ0z8F+shBc5Q6YlLa3YkVPh9XuJVS20eybi75bfJxiozcZ9d+YRaqcbkBQCSdFOCotDU=,iv:oq3JjqbfAm2C4jcL1lvUb2EOmnwlR07vPoO8H0BmydQ=,tag:E3NO/jMElL6Q817666gIyg==,type:str]
 | 
					    dnsimple: ENC[AES256_GCM,data:37FKyBibFtXZgI4EduJQ0z8F+shBc5Q6YlLa3YkVPh9XuJVS20eybi75bfJxiozcZ9d+YRaqcbkBQCSdFOCotDU=,iv:oq3JjqbfAm2C4jcL1lvUb2EOmnwlR07vPoO8H0BmydQ=,tag:E3NO/jMElL6Q817666gIyg==,type:str]
 | 
				
			||||||
server-validation:
 | 
					server-validation:
 | 
				
			||||||
    webhook: ENC[AES256_GCM,data:Lwqy4UhyFutpXjai7EJPKp8MDlI+ayDna4T8jluvC6qkeJ7o1UaaDCOsgLy4Fw7LC77tXhJtkcmep9w37JaiHp2CoDOfy2iAaq8o9CCSi/a0zqMJx+HdZYZNemvmpc6E/be0K+JDrFZLbjr3unSpCidQ3whccC6XyY013R12swN3bFZIu1gtzXCgUZ4U,iv:pVbrRwH3ziu4+R5BfimPV7N71QmyerJEc9M5K4eofOc=,tag:zNrCXrIioQWPEPVz/wMDpQ==,type:str]
 | 
					    webhook: ENC[AES256_GCM,data:Lwqy4UhyFutpXjai7EJPKp8MDlI+ayDna4T8jluvC6qkeJ7o1UaaDCOsgLy4Fw7LC77tXhJtkcmep9w37JaiHp2CoDOfy2iAaq8o9CCSi/a0zqMJx+HdZYZNemvmpc6E/be0K+JDrFZLbjr3unSpCidQ3whccC6XyY013R12swN3bFZIu1gtzXCgUZ4U,iv:pVbrRwH3ziu4+R5BfimPV7N71QmyerJEc9M5K4eofOc=,tag:zNrCXrIioQWPEPVz/wMDpQ==,type:str]
 | 
				
			||||||
 | 
					typhon:
 | 
				
			||||||
 | 
					    hashedPassword: ENC[AES256_GCM,data:gMyY8gxUn3HzycQRu2cminqRFWghqWcjzZzTxAQZ5PJqn604iSwDiVdr7icHB7drJfCAfsE7L4oKRJgxaIAE32043oOkb2T7DDH8y2jxMzqmZCfbvrfMI4wdfRTHGqzxb6X/aZ5ai2rr1Q==,iv:4EsTo/lQld0o9iktDX9gobMlPUCitx1i9wn8EL16sIs=,tag:FgVDRHk2glDwpC/mprrPqQ==,type:str]
 | 
				
			||||||
sops:
 | 
					sops:
 | 
				
			||||||
    kms: []
 | 
					    kms: []
 | 
				
			||||||
    gcp_kms: []
 | 
					    gcp_kms: []
 | 
				
			||||||
@@ -42,8 +44,8 @@ sops:
 | 
				
			|||||||
            cXNZWmZqd0R0SmhINExscHBKWmxvblUKEFEQvt/zQFARba4S8vHz/1SoKdKg69At
 | 
					            cXNZWmZqd0R0SmhINExscHBKWmxvblUKEFEQvt/zQFARba4S8vHz/1SoKdKg69At
 | 
				
			||||||
            LZ58XQGOmlGbBhPr7EzYQ2XSY4flWbnnD174cmCR8DNFm15DsNA5fw==
 | 
					            LZ58XQGOmlGbBhPr7EzYQ2XSY4flWbnnD174cmCR8DNFm15DsNA5fw==
 | 
				
			||||||
            -----END AGE ENCRYPTED FILE-----
 | 
					            -----END AGE ENCRYPTED FILE-----
 | 
				
			||||||
    lastmodified: "2025-03-04T04:53:14Z"
 | 
					    lastmodified: "2025-03-26T05:47:58Z"
 | 
				
			||||||
    mac: ENC[AES256_GCM,data:MCucwVPGRMA/hGYS7mwSppkZAQ3wjHJnyeSvSI8YOOD0Xq7mvkMSvKctFHl6h4Cx3ubRvVHf5j35/NQxb+/VhhCPAHWDbqq9O2N0aWhAeybCu0IjruKrJhs76KsXJnNZ9REQQnS1/TNquuvj9FCoqDnrQcFs7M0KJ5m3eUU2h2k=,iv:ZJGJ8CTA8K5FnoKtbogleksB8wDcZtknO07M07Dmpsc=,tag:GMUXJD4U8KQgy9rvzEAMuw==,type:str]
 | 
					    mac: ENC[AES256_GCM,data:ZP9HglMmn9FDv6/vtQAxz/qP76QniPqM6bzMQVvVU/OhDmjuneGKZY7d1Es7LC9o5qmJ+T3Dh3/bkmuRdgdnd2TO6iuvM++DEPxwnoHis+0lbMxv5a6ibzvoXXm2CrL4HPETqLKbLahGJRmDNgnkCEWxAs16zrqe5kgDpD53R5c=,iv:DcCXNGyb41ToV9uSnrnrl0dWiw2pvykM8z86Yk814P4=,tag:T9PFl48qABwBSy7vIhSmLA==,type:str]
 | 
				
			||||||
    pgp:
 | 
					    pgp:
 | 
				
			||||||
        - created_at: "2024-11-28T18:56:39Z"
 | 
					        - created_at: "2024-11-28T18:56:39Z"
 | 
				
			||||||
          enc: |-
 | 
					          enc: |-
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										17
									
								
								systems/palatine-hill/typhon.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								systems/palatine-hill/typhon.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					{ config, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					let
 | 
				
			||||||
 | 
					  vars = import ./vars.nix;
 | 
				
			||||||
 | 
					  typhon_path = vars.primary_typhon;
 | 
				
			||||||
 | 
					in
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  services.typhon = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    hashedPasswordFile = config.sops.secrets."typhon/hashedPassword".path;
 | 
				
			||||||
 | 
					    home = typhon_path;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  sops.secrets = {
 | 
				
			||||||
 | 
					    "typhon/hashedPassword".owner = "root";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -76,6 +76,7 @@
 | 
				
			|||||||
      nix-prefetch
 | 
					      nix-prefetch
 | 
				
			||||||
      nix-tree
 | 
					      nix-tree
 | 
				
			||||||
      nh
 | 
					      nh
 | 
				
			||||||
 | 
					      nix-prefetch-scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # doom emacs dependencies
 | 
					      # doom emacs dependencies
 | 
				
			||||||
      fd
 | 
					      fd
 | 
				
			||||||
@@ -90,6 +91,7 @@
 | 
				
			|||||||
      nodejs_20
 | 
					      nodejs_20
 | 
				
			||||||
      nodePackages.prettier
 | 
					      nodePackages.prettier
 | 
				
			||||||
      treefmt
 | 
					      treefmt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,3 +22,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
(setq! lsp-nix-nil-max-mem 20000)
 | 
					(setq! lsp-nix-nil-max-mem 20000)
 | 
				
			||||||
(setq! lsp-nix-nil-formatter ["nixfmt"])
 | 
					(setq! lsp-nix-nil-formatter ["nixfmt"])
 | 
				
			||||||
 | 
					(add-hook 'python-mode-hook (lambda ()
 | 
				
			||||||
 | 
					                                (require 'sphinx-doc)
 | 
				
			||||||
 | 
					                                (sphinx-doc-mode t)))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -80,3 +80,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
(package! pacdiff.el
 | 
					(package! pacdiff.el
 | 
				
			||||||
  :recipe (:host github :repo "fbrosda/pacdiff.el" :files ("pacdiff.el" "README.org" "LICENSE")))
 | 
					  :recipe (:host github :repo "fbrosda/pacdiff.el" :files ("pacdiff.el" "README.org" "LICENSE")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(package! python-docstring-mode
 | 
				
			||||||
 | 
					  :recipe (:host github :repo "glyph/python-docstring-mode" :files ("python-docstring.el" "docstring_wrap.py")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(package! sphinx-doc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;; https://github.com/glyph/python-docstring-mode.git
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,6 @@
 | 
				
			|||||||
  programs.zsh = {
 | 
					  programs.zsh = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    # autosuggestion.enable = true;
 | 
					 | 
				
			||||||
    oh-my-zsh = {
 | 
					    oh-my-zsh = {
 | 
				
			||||||
      enable = true;
 | 
					      enable = true;
 | 
				
			||||||
      plugins = [
 | 
					      plugins = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@ alice:
 | 
				
			|||||||
    user-password: ENC[AES256_GCM,data:+cM85X1vapqfQdJ+Dv6YvT5qHlvsmaXPRbvKRHtCkPT3wdw4f7tLHLFmvWnak7CRezI00PxVEtCZL5mqLyN2HaU4OqIk/9fgqczIzemwBlMGJt+ndwG4oqBqE0ymtzmy8MA59wonRqoxzYKQfAGQsprdCIovrg==,iv:BtSDBgvQeZdTY1KUClnt9V8qHcS/gouaaQw342tk4Sg=,tag:T7tzyKuCo83s78ca7f4KDQ==,type:str]
 | 
					    user-password: ENC[AES256_GCM,data:+cM85X1vapqfQdJ+Dv6YvT5qHlvsmaXPRbvKRHtCkPT3wdw4f7tLHLFmvWnak7CRezI00PxVEtCZL5mqLyN2HaU4OqIk/9fgqczIzemwBlMGJt+ndwG4oqBqE0ymtzmy8MA59wonRqoxzYKQfAGQsprdCIovrg==,iv:BtSDBgvQeZdTY1KUClnt9V8qHcS/gouaaQw342tk4Sg=,tag:T7tzyKuCo83s78ca7f4KDQ==,type:str]
 | 
				
			||||||
    #ENC[AES256_GCM,data:6+dLs8opC27IrHJCPfL2c7KiLbaQTqI6oRKpIZLR4+P9gTupziAhCm/G7RY01gVPSgxdBpJ6L4xVbcMEg9hDKBMI4naF9arNrFsV6WXNc+LA5BYyT9L9G1nDea8fPFYDSF2537eLgLqWNE1WSsUOrz/WOxbE6g==,iv:AxsdKmGz6qEYlWY08q/2hqsm0EXaqodwD/7OJg4FAIY=,tag:EgfL3I1VBXtFgIdTOW5eBA==,type:comment]
 | 
					    #ENC[AES256_GCM,data:6+dLs8opC27IrHJCPfL2c7KiLbaQTqI6oRKpIZLR4+P9gTupziAhCm/G7RY01gVPSgxdBpJ6L4xVbcMEg9hDKBMI4naF9arNrFsV6WXNc+LA5BYyT9L9G1nDea8fPFYDSF2537eLgLqWNE1WSsUOrz/WOxbE6g==,iv:AxsdKmGz6qEYlWY08q/2hqsm0EXaqodwD/7OJg4FAIY=,tag:EgfL3I1VBXtFgIdTOW5eBA==,type:comment]
 | 
				
			||||||
    #ENC[AES256_GCM,data:vUMcowHjlQA0RWflfaQhZKkalO39epYi6N9PPW8=,iv:6DFqHlQR+mi+ZkfMUhlhwvpMwnxXNfQV6+sYgPzSj4I=,tag:Pz1zJayscGckPO8Q2ZVb4g==,type:comment]
 | 
					    #ENC[AES256_GCM,data:vUMcowHjlQA0RWflfaQhZKkalO39epYi6N9PPW8=,iv:6DFqHlQR+mi+ZkfMUhlhwvpMwnxXNfQV6+sYgPzSj4I=,tag:Pz1zJayscGckPO8Q2ZVb4g==,type:comment]
 | 
				
			||||||
    gha-hydra-token: ENC[AES256_GCM,data:rYDYIn7MAF4pSZQj+Nln2z9J+AxvuSzumthL86njpKETutArrw+9iX2hHJt5t513NHH03tMtZOFqM60/pzWg4YXVQOSpQmq8QOelD7qCdfCr4Z2QSeOHqXqwKy21iWtoVbxOXWunVxLzkWMJrpHkpVsiBA75Nv66ftKEjN80QNGik6xQE1iPsCB2JHeqYNIr8gtPkCr7H5Pt4yBBO/1rsyONrbNlwmzVX78eqXxmc43XOiNVjEsk8ekJxJ9mn5S6JcPNehBcnZA0kWAIxvtDIPYKnz4YBIXoilBbjgytXL8nw3PkEX27x5yeg9KfxPxO/4CGoi5wfKsYuEynBdWbHtj6a3H0AvA9KIZzktTRNJFU3ZW8UveSCXY4YHl0NREJ8kbIUgkkE7PWeyzGenGFTPMahTA0rKSa+tWPQ1c00lvo9VS3/7pfeJfZEKS7R2xBaEDZrfffHyB5PLTQOGpWl5y40wTn4HdBlyQwoREvobOaKVZEyWtVvJcUeHDPepgEHGVDzwyTelX8Btb6ZNA0Fur8xvpkLZcLmMhbvCdkjq84ztJ36nQQ5JZthecyqcZTWPyfWtPeoUPVIaxn31oLjwsriDwdQmID6twTjC9PT8nBZD/u0JebOCdeYf8fm9q49SaN2w/ZMdSRWucHUsRXeN9O149vYoOqR28H+8v/tYJdqofJpHKrIBs=,iv:GcEV6f4rqkrpCafeaLNMqqU/vBNE0xHbqokL2gMXHYw=,tag:sCHvUgq1w8npedjIAninrA==,type:str]
 | 
					    gha-hydra-token: ENC[AES256_GCM,data:CXdOiW9oYaVj4oqfiXSz9O9xIsB5ZyUac2WFSFD1ankZpnmQpv9TwolJxb6h8r+UM7Q9QzCCWk7KHe80lolZhpHa79bpcj+wt9v51ydj0Zy+3sufHS+JnGwmqBbw6dVqJ2uBr4nW2NADzHEbG8N367uKYEq2vazB4y02JiopXL8DHsYcx+Z4u7GJC/gYbpm9vnt8OVdYmfYRQ9BGSiaJOghDzpmCisEZdLpCLXM3cULn8yVUXIFWx8yF/6JrWN+myeoZiUFCL2sZmeSIswFg9kwBKXIsjBrz+EDXZzDCEr88UrEJ0j2+egsrG9BNlstVwC8oscYdbXWmYUdsCBNVxK3xjJYm9gDdSyo0DfSvTzK1t+/s9L1zC8uqj2TXYdVd6QyH2TRXxiPeNLYClRHT2UljymSpIVXOn/Okuo7dte+ZZqZVndT1lwK//2y8V3Hng+5wixfFFsQAd5oJzfraRSnM+RLZtjI3TMoyc5no3pVwV6zsCqRd2nvr7gieXUMWtSLb6YrM6tvhRpeiieYUqQ8NwHV0Avqco0I838o5yywVGSnUflGxnwYoGQIX70qoTcxNPGuiiiqSynh64e3nrlC9xN6EWuFpUNVfkBibZNRi+EyDAhK7LKwiPbL2z919N54vyzzoWA1KUFqxow+JsX+Q8rpnfJtag44F5qFt3/Be5PIMYVU7acXTiVJvM3cKPMQIBPXpQFX5OshwGhttGFuB53aWPHCzlhT4NDQbcZ/rLQ3bcytVpnH55WWze0Oe0zUZYGFc/rV9Fc4QjhR7/8pAi9kGUlKy2MYBamjmnCWlOnHPIQQLpPs/oiW+,iv:KL2P3O8Fnbn56hLX8PWIrigoPTBfIvMUpizKy3C3RIA=,tag:G0M/9iT9IWUSJ5ktUc/g5A==,type:str]
 | 
				
			||||||
    wakatime-api-key: ENC[AES256_GCM,data:ITu5pRySYGCJ6q9IQ35NfpGX2FyIJRYHGDeBiq0btzIrqitxcFox1Vc=,iv:HsXpyFHV7dG5qORk26BtD+kFo4Jdq2c4fozMpoqyDfU=,tag:uaQoXvvYqNfmRXVDVH8AoQ==,type:str]
 | 
					    wakatime-api-key: ENC[AES256_GCM,data:ITu5pRySYGCJ6q9IQ35NfpGX2FyIJRYHGDeBiq0btzIrqitxcFox1Vc=,iv:HsXpyFHV7dG5qORk26BtD+kFo4Jdq2c4fozMpoqyDfU=,tag:uaQoXvvYqNfmRXVDVH8AoQ==,type:str]
 | 
				
			||||||
    attic-nix-cache-creator: ENC[AES256_GCM,data:P0iBdy4IYrxcq7v4wTgwwZvAfVdRFo08pi0zvpY9cP9BDCwbBnp+3qDKWL29rC7OxsaLtmRkvPmbkF3ZX3Yu5OaptwVg2Xi0vNqhk3gu5Fdj8ygPigB0ZtimkfWv1QkctoVoXKXuLv6Xd4XKPCWOOIekWlJsBRcyfyzkyFURkU9tBBkXyEAWItho/J8hJr6r00eA3EN4rTe8Ge+PGpfTfpZVpnoGrC35xPnGLq19+b44DectHDTkMZrZKxiCaVIgKUZDLaFgi6a6PsX+L1HQAIZukXJu3m4BPdvzzby+zgX24pVJOYjAUB2BwO9jUlMS6+7qo0p6k01uLicryfKx/ajdAHcy39tFHX7naA4JriC2/FgI2HlFGp0Lc+g0pfdCYwLs5QBfRaOHyrbFWUDG,iv:OBrgnewqBaug00ygAXs0eFs3LqcHqo1EW96N5I38A0o=,tag:V+Gn47O6AH1RwL9qJLpAkw==,type:str]
 | 
					    attic-nix-cache-creator: ENC[AES256_GCM,data:P0iBdy4IYrxcq7v4wTgwwZvAfVdRFo08pi0zvpY9cP9BDCwbBnp+3qDKWL29rC7OxsaLtmRkvPmbkF3ZX3Yu5OaptwVg2Xi0vNqhk3gu5Fdj8ygPigB0ZtimkfWv1QkctoVoXKXuLv6Xd4XKPCWOOIekWlJsBRcyfyzkyFURkU9tBBkXyEAWItho/J8hJr6r00eA3EN4rTe8Ge+PGpfTfpZVpnoGrC35xPnGLq19+b44DectHDTkMZrZKxiCaVIgKUZDLaFgi6a6PsX+L1HQAIZukXJu3m4BPdvzzby+zgX24pVJOYjAUB2BwO9jUlMS6+7qo0p6k01uLicryfKx/ajdAHcy39tFHX7naA4JriC2/FgI2HlFGp0Lc+g0pfdCYwLs5QBfRaOHyrbFWUDG,iv:OBrgnewqBaug00ygAXs0eFs3LqcHqo1EW96N5I38A0o=,tag:V+Gn47O6AH1RwL9qJLpAkw==,type:str]
 | 
				
			||||||
    attic-nix-cache-reader: ENC[AES256_GCM,data:DWIkRri3lHJOVXIAbHWJL7cCV4FHjB91bbpPAib/5ZDKap3xjnxUjwswc7wjO1hCoV3+gmep1a64kma6MJts4bcAug5bPyrrPy//rVpCYvSbSmbPz5k4sW5GLU/Sf4NyBevsQo9KRrphpoSUQEFQB27vabYDjjkB051/qJo1B9B7nqmrSyd3np4YdyHAgUiMyJt0oqx8nXySz3XZU+DIM8/OhMZILpnEWIgyP2K7j8JNNpZZJ5sD/icUy6Vba/4LcKjtmYtfQ+HO1soyF6aMiQSjhp7fzJHktwa9kgB3oDzIg3KyCJYS2RNW7mW9Dd1T,iv:fvhGFU22KgknMpJbOkA3v29bKzRVX6hi7V7xJgSUjPg=,tag:TjGSUl0XXS7jlhP/NG4cvQ==,type:str]
 | 
					    attic-nix-cache-reader: ENC[AES256_GCM,data:DWIkRri3lHJOVXIAbHWJL7cCV4FHjB91bbpPAib/5ZDKap3xjnxUjwswc7wjO1hCoV3+gmep1a64kma6MJts4bcAug5bPyrrPy//rVpCYvSbSmbPz5k4sW5GLU/Sf4NyBevsQo9KRrphpoSUQEFQB27vabYDjjkB051/qJo1B9B7nqmrSyd3np4YdyHAgUiMyJt0oqx8nXySz3XZU+DIM8/OhMZILpnEWIgyP2K7j8JNNpZZJ5sD/icUy6Vba/4LcKjtmYtfQ+HO1soyF6aMiQSjhp7fzJHktwa9kgB3oDzIg3KyCJYS2RNW7mW9Dd1T,iv:fvhGFU22KgknMpJbOkA3v29bKzRVX6hi7V7xJgSUjPg=,tag:TjGSUl0XXS7jlhP/NG4cvQ==,type:str]
 | 
				
			||||||
@@ -42,8 +42,8 @@ sops:
 | 
				
			|||||||
            ZERFTlFyNjhOb3VCaW43ZXFHT1Vxc0UK7YV+BU7dCEOZxpqkQA394eDsnthvorj6
 | 
					            ZERFTlFyNjhOb3VCaW43ZXFHT1Vxc0UK7YV+BU7dCEOZxpqkQA394eDsnthvorj6
 | 
				
			||||||
            7bqrCdeU+6DU7DmFs6++BrNO2tx8vvOa1im+ZGrM/gZAJdv/7R2d6Q==
 | 
					            7bqrCdeU+6DU7DmFs6++BrNO2tx8vvOa1im+ZGrM/gZAJdv/7R2d6Q==
 | 
				
			||||||
            -----END AGE ENCRYPTED FILE-----
 | 
					            -----END AGE ENCRYPTED FILE-----
 | 
				
			||||||
    lastmodified: "2025-03-18T22:08:52Z"
 | 
					    lastmodified: "2025-03-26T15:28:13Z"
 | 
				
			||||||
    mac: ENC[AES256_GCM,data:3Hr8FyzfZvvtyusqdDOjggDGFlBwyOq2VND+/jtNbY5i5JPK+qTkamn98IKkcHSPooaIVzEAek91fZDo90mYRhCzEwfbLATmFXPHsZHUg+5nD8VzcNUWQDb2/ey4RPhzTMtXfY9v9wdIcTdBKYKSZ61puptSX8nJ2S74ag6B5AY=,iv:J+VxUvwWE496DqTsVXdlpxgkf8zGT9uDvt6RLrmc0n0=,tag:X2Qg3DDzOTBDqo+6eQPHvw==,type:str]
 | 
					    mac: ENC[AES256_GCM,data:BfEahKHAcnLc/PSagENBIVwxufJrjpMSC6U4hkkxNwcEJYDNAlrF0w00aiexLeX+UfVGIw19+SrNL5zuecEf+GaYzYNy9RE3c66KUM2B/cpuBuzkiwLaBCTfcWr7k8dW11BGFCmugRSG4w6wXKG5B/LyEKB6Vcvp0JRbCYSqZSY=,iv:97UzvdvQCtTLaLDrg6VEwiofHtSPGtaxuPLHfTAyIFA=,tag:r4r45OaV9ZRDzd56RGLFZw==,type:str]
 | 
				
			||||||
    pgp:
 | 
					    pgp:
 | 
				
			||||||
        - created_at: "2024-09-05T06:10:22Z"
 | 
					        - created_at: "2024-09-05T06:10:22Z"
 | 
				
			||||||
          enc: |-
 | 
					          enc: |-
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user