[Init]
This commit is contained in:
		
							
								
								
									
										26
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										26
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
										Executable file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | name: update-flake-lock | ||||||
|  | on: | ||||||
|  |   workflow_dispatch: # allows manual triggering | ||||||
|  |   schedule: | ||||||
|  |     - cron: '0 0 * * 0' # runs weekly on Sunday at 00:00 | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   lockfile: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout repository | ||||||
|  |         uses: actions/checkout@v2 | ||||||
|  |       - name: Install Nix | ||||||
|  |         uses: cachix/install-nix-action@v16 | ||||||
|  |         with: | ||||||
|  |           extra_nix_config: | | ||||||
|  |             auto-optimise-store = true | ||||||
|  |             access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | ||||||
|  |             experimental-features = nix-command flakes | ||||||
|  |       - name: Update flake.lock | ||||||
|  |         uses: DeterminateSystems/update-flake-lock@v16 | ||||||
|  |         with: | ||||||
|  |           pr-title: "chore: update flake.lock" # Title of PR to be created | ||||||
|  |           pr-labels: |                  # Labels to be set on the PR | ||||||
|  |             dependencies | ||||||
|  |             automated | ||||||
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Executable file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | result | ||||||
|  | age-key.txt | ||||||
|  | .decrypted~common.yaml | ||||||
							
								
								
									
										46
									
								
								.sops.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								.sops.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,46 @@ | |||||||
|  | keys: | ||||||
|  |   # Users | ||||||
|  |   - &users: | ||||||
|  |     - &sora 4E241635F8EDD2919D2FB44CA362EA0491E2EEA0 | ||||||
|  |   # Hosts | ||||||
|  |   - &hosts: | ||||||
|  |     - &iriy age1ms8f0ysv6vakxepvt69fejczs6tddexepesdv4rkgtheehj3nu4sc6290s | ||||||
|  |     - &avalon age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg | ||||||
|  |     - &valinor age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg | ||||||
|  |     - &asgard age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg | ||||||
|  |  | ||||||
|  | creation_rules: | ||||||
|  |   - path_regex: secrets/iriy.ya?ml$ | ||||||
|  |     key_groups: | ||||||
|  |     - age: | ||||||
|  |       - *iriy | ||||||
|  |       pgp: | ||||||
|  |       - *sora | ||||||
|  |   - path_regex: secrets/avalon.ya?ml$ | ||||||
|  |     key_groups: | ||||||
|  |     - age: | ||||||
|  |       - *avalon | ||||||
|  |       pgp: | ||||||
|  |       - *sora | ||||||
|  |   - path_regex: secrets/valinor.ya?ml$ | ||||||
|  |     key_groups: | ||||||
|  |     - age: | ||||||
|  |       - *valinor | ||||||
|  |       pgp: | ||||||
|  |       - *sora | ||||||
|  |   - path_regex: secrets/asgard.ya?ml$ | ||||||
|  |     key_groups: | ||||||
|  |     - age: | ||||||
|  |       - *asgard | ||||||
|  |       pgp: | ||||||
|  |       - *sora | ||||||
|  |  | ||||||
|  |   - path_regex: secrets/common.ya?ml$ | ||||||
|  |     key_groups: | ||||||
|  |     - age: | ||||||
|  |       - *valinor | ||||||
|  |       - *iriy | ||||||
|  |       - *avalon | ||||||
|  |       - *asgard | ||||||
|  |       pgp: | ||||||
|  |       - *sora | ||||||
							
								
								
									
										15
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,6 +1,13 @@ | |||||||
| <h1 align="center"> | <h1 align="center"> | ||||||
| <img src="https://files.catbox.moe/i4twd5.png"></img> <br> | <img src="./nix.png"></img> <br> | ||||||
| snowflake | </h1> | ||||||
|  |  | ||||||
|  | <h1 align="center"> | ||||||
|  | ... | ||||||
|  | </h1> | ||||||
|  | <h1 align="center"> | ||||||
|  | <img width="256" style="image-rendering: crisp-edges;" src="./colors/palette0.png"></img> | ||||||
|  | <br> | ||||||
|  | <img width="256" style="image-rendering: crisp-edges;" src="./colors/palette1p.png"></img> | ||||||
|  | <img width="256" style="image-rendering: crisp-edges;" src="./colors/palette1h.png"></img> | ||||||
| </h1> | </h1> | ||||||
| <p align="center">:snowflake: a flake or crystal of snow :snowflake:</p> |  | ||||||
| <img src="https://files.catbox.moe/d3gsz1.png"></img> |  | ||||||
							
								
								
									
										8
									
								
								colors/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								colors/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | { | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | { | ||||||
|  |   imports = [ | ||||||
|  |     ./sorahiro_soft.nix | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										
											BIN
										
									
								
								colors/palette0.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								colors/palette0.png
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 5.4 KiB | 
							
								
								
									
										
											BIN
										
									
								
								colors/palette1h.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								colors/palette1h.png
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 5.4 KiB | 
							
								
								
									
										
											BIN
										
									
								
								colors/palette1p.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								colors/palette1p.png
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 5.2 KiB | 
							
								
								
									
										33
									
								
								colors/sorahiro_hard.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								colors/sorahiro_hard.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,33 @@ | |||||||
|  | {  | ||||||
|  |   nix-colors,  | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | { | ||||||
|  |   # usage:  a = "#${config.colorScheme.colors.base00}"; | ||||||
|  |  | ||||||
|  |   colorScheme = { | ||||||
|  |     slug = "sorahiro-hard"; | ||||||
|  |     name = "sorahiro-hard"; | ||||||
|  |     author = "Soraefir @ Helcel"; | ||||||
|  |     colors = { | ||||||
|  |         # Format: Name, Pantone, RAL | ||||||
|  |         base00= "#030B12"; # Rich Black / 6C / 000-15-00 | ||||||
|  |         base01= "#0C1D2E"; # Maastricht Blue / 5395C / 270-20-15 | ||||||
|  |         base02= "#203A53"; # Japanese Indigo / 534C / 260-20-20 | ||||||
|  |         base03= "#425F7C"; # Deep Space Sparkle / 7699C / 260-40-20 | ||||||
|  |         base04= "#93A9BE"; # Pewter Blue / 535C / 260-70-15 | ||||||
|  |         base05= "#B6C5D5"; # Pastel Blue / 5445C / 260-80-10 | ||||||
|  |         base06= "#D6DFE8"; # Gainsboro / 642C / 260-90-05 | ||||||
|  |         base07= "#F0F3F7"; # White / 656C / 290-92-05 | ||||||
|  |         base08= "#F59331"; # Deep Saffron / 715C / 070-70-70 | ||||||
|  |         base09= "#F5F531"; # Maximum Yellow / 394C / 100-80-80 | ||||||
|  |         base0A= "#93F531"; # French Lime / 7488C / 120-70-75 | ||||||
|  |         base0B= "#31F593"; # Eucalyptus / 3385C / 160-70-50 | ||||||
|  |         base0C= "#3193F5"; # Brilliant Azure / 2727C / 280-50-40 | ||||||
|  |         baseOD= "#9331F5"; # Blue-Violet / 7442C / 300-40-45 | ||||||
|  |         base0E= "#F53193"; # Royal Pink / 232C / 350-50-50 | ||||||
|  |         base0F= "#F53131"; # Deep Carmine Pink / 1788C / 040-50-70 | ||||||
|  |  | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										32
									
								
								colors/sorahiro_soft.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										32
									
								
								colors/sorahiro_soft.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,32 @@ | |||||||
|  | {  | ||||||
|  |   nix-colors,  | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | { | ||||||
|  |   # usage:  a = "#${config.colorScheme.colors.base00}"; | ||||||
|  |      | ||||||
|  |   colorScheme = { | ||||||
|  |     slug = "sorahiro-soft"; | ||||||
|  |     name = "sorahiro-soft"; | ||||||
|  |     author = "Soraefir @ Helcel"; | ||||||
|  |     colors = { | ||||||
|  |         # Format: Name, Pantone, RAL | ||||||
|  |         base00= "#030B12"; # Rich Black / 6C / 000-15-00 | ||||||
|  |         base01= "#0C1D2E"; # Maastricht Blue / 5395C / 270-20-15 | ||||||
|  |         base02= "#203A53"; # Japanese Indigo / 534C / 260-20-20 | ||||||
|  |         base03= "#425F7C"; # Deep Space Sparkle / 7699C / 260-40-20 | ||||||
|  |         base04= "#93A9BE"; # Pewter Blue / 535C / 260-70-15 | ||||||
|  |         base05= "#B6C5D5"; # Pastel Blue / 5445C / 260-80-10 | ||||||
|  |         base06= "#D6DFE8"; # Gainsboro / 642C / 260-90-05 | ||||||
|  |         base07= "#F0F3F7"; # White / 656C / 290-92-05 | ||||||
|  |         base08= "#F5B97D"; # Mellow Apricot / 156C / 070-80-40 | ||||||
|  |         base09= "#F5F57D"; # Sunny / 393C / 100-90-50 | ||||||
|  |         base0A= "#B9F57D"; # Yellow-Green / 373C / 120-80-60 | ||||||
|  |         base0B= "#7DF5B9"; # Aquamarine / 3375C / 150-80-40 | ||||||
|  |         base0C= "#7DB9F5"; # Light Azure / 278C / 250-70-30 | ||||||
|  |         base0D= "#B97DF5"; # Lavender / 2572C / 310-60-35 | ||||||
|  |         base0E= "#F57DB9"; # Persian Pink / 211C / 350-60-45 | ||||||
|  |         base0F= "#F57D7D"; # Light Coral / 170C / 030-60-50 | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										307
									
								
								flake.lock
									
									
									
										generated
									
									
									
										Executable file
									
								
							
							
						
						
									
										307
									
								
								flake.lock
									
									
									
										generated
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,307 @@ | |||||||
|  | { | ||||||
|  |   "nodes": { | ||||||
|  |     "base16-schemes": { | ||||||
|  |       "flake": false, | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1680729003, | ||||||
|  |         "narHash": "sha256-M9LHTL24/W4oqgbYRkz0B2qpNrkefTs98pfj3MxIXnU=", | ||||||
|  |         "owner": "tinted-theming", | ||||||
|  |         "repo": "base16-schemes", | ||||||
|  |         "rev": "dc048afa066287a719ddbab62b3e19e4b5110cf0", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "tinted-theming", | ||||||
|  |         "repo": "base16-schemes", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "darwin": { | ||||||
|  |       "inputs": { | ||||||
|  |         "nixpkgs": [ | ||||||
|  |           "nixpkgs" | ||||||
|  |         ] | ||||||
|  |       }, | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1686307493, | ||||||
|  |         "narHash": "sha256-R4VEFnDn7nRmNxAu1LwNbjns5DPM8IBsvnrWmZ8ymPs=", | ||||||
|  |         "owner": "lnl7", | ||||||
|  |         "repo": "nix-darwin", | ||||||
|  |         "rev": "7c16d31383a90e0e72ace0c35d2d66a18f90fb4f", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "lnl7", | ||||||
|  |         "ref": "master", | ||||||
|  |         "repo": "nix-darwin", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "hardware": { | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1686452266, | ||||||
|  |         "narHash": "sha256-zLKiX0iu6jZFeZDpR1gE6fNyMr8eiM8GLnj9SoUCjFs=", | ||||||
|  |         "owner": "nixos", | ||||||
|  |         "repo": "nixos-hardware", | ||||||
|  |         "rev": "2a807ad6e8dc458db08588b78cc3c0f0ec4ff321", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "nixos", | ||||||
|  |         "repo": "nixos-hardware", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "home-manager": { | ||||||
|  |       "inputs": { | ||||||
|  |         "nixpkgs": [ | ||||||
|  |           "nixpkgs" | ||||||
|  |         ] | ||||||
|  |       }, | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1686715156, | ||||||
|  |         "narHash": "sha256-91S5sWEDREACTu7411J9dhHVGgK9eSeGz4bGCuu/kLo=", | ||||||
|  |         "owner": "nix-community", | ||||||
|  |         "repo": "home-manager", | ||||||
|  |         "rev": "5db22bce05c776057fdb289da17f6c12049c4624", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "nix-community", | ||||||
|  |         "repo": "home-manager", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "hyprland": { | ||||||
|  |       "inputs": { | ||||||
|  |         "hyprland-protocols": "hyprland-protocols", | ||||||
|  |         "nixpkgs": "nixpkgs", | ||||||
|  |         "wlroots": "wlroots", | ||||||
|  |         "xdph": "xdph" | ||||||
|  |       }, | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1686743277, | ||||||
|  |         "narHash": "sha256-l8RKMKolHSpVhHrVj+0ClUZumh0rnWSENWJu5f3r4lg=", | ||||||
|  |         "owner": "hyprwm", | ||||||
|  |         "repo": "Hyprland", | ||||||
|  |         "rev": "0f1911a8d4b67a622bb83e86bebd402f3c105f53", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "hyprwm", | ||||||
|  |         "repo": "Hyprland", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "hyprland-protocols": { | ||||||
|  |       "inputs": { | ||||||
|  |         "nixpkgs": [ | ||||||
|  |           "hyprland", | ||||||
|  |           "nixpkgs" | ||||||
|  |         ] | ||||||
|  |       }, | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1684265364, | ||||||
|  |         "narHash": "sha256-AxNnWbthsuNx73HDQr0eBxrcE3+yfl/WsaXZqUFmkpQ=", | ||||||
|  |         "owner": "hyprwm", | ||||||
|  |         "repo": "hyprland-protocols", | ||||||
|  |         "rev": "8c279b9fb0f2b031427dc5ef4eab53f2ed835530", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "hyprwm", | ||||||
|  |         "repo": "hyprland-protocols", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "nix-colors": { | ||||||
|  |       "inputs": { | ||||||
|  |         "base16-schemes": "base16-schemes", | ||||||
|  |         "nixpkgs-lib": "nixpkgs-lib" | ||||||
|  |       }, | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1682108218, | ||||||
|  |         "narHash": "sha256-tMr7BbxualFQlN+XopS8rMMgf2XR9ZfRuwIZtjsWmfI=", | ||||||
|  |         "owner": "misterio77", | ||||||
|  |         "repo": "nix-colors", | ||||||
|  |         "rev": "b92df8f5eb1fa20d8e09810c03c9dc0d94ef2820", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "misterio77", | ||||||
|  |         "repo": "nix-colors", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "nixpkgs": { | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1686501370, | ||||||
|  |         "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=", | ||||||
|  |         "owner": "NixOS", | ||||||
|  |         "repo": "nixpkgs", | ||||||
|  |         "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "NixOS", | ||||||
|  |         "ref": "nixos-unstable", | ||||||
|  |         "repo": "nixpkgs", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "nixpkgs-lib": { | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1680397293, | ||||||
|  |         "narHash": "sha256-wBpJ73+tJ8fZSWb4tzNbAVahC4HSo2QG3nICDy4ExBQ=", | ||||||
|  |         "owner": "nix-community", | ||||||
|  |         "repo": "nixpkgs.lib", | ||||||
|  |         "rev": "b18d328214ca3c627d3cc3f51fd9d1397fdbcd7a", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "nix-community", | ||||||
|  |         "repo": "nixpkgs.lib", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "nixpkgs-stable": { | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1686392259, | ||||||
|  |         "narHash": "sha256-hqSS9hKhWldIZr1bBp9xKhIznnGPICGKzuehd2LH0UA=", | ||||||
|  |         "owner": "NixOS", | ||||||
|  |         "repo": "nixpkgs", | ||||||
|  |         "rev": "ef24b2fa0c5f290a35064b847bc211f25cb85c88", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "NixOS", | ||||||
|  |         "ref": "release-22.11", | ||||||
|  |         "repo": "nixpkgs", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "nixpkgs_2": { | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1686501370, | ||||||
|  |         "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=", | ||||||
|  |         "owner": "nixos", | ||||||
|  |         "repo": "nixpkgs", | ||||||
|  |         "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "nixos", | ||||||
|  |         "ref": "nixos-unstable", | ||||||
|  |         "repo": "nixpkgs", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "nixpkgs_3": { | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1686398752, | ||||||
|  |         "narHash": "sha256-nGWNQVhSw4VSL+S0D0cbrNR9vs9Bq7rlYR+1K5f5j6w=", | ||||||
|  |         "owner": "NixOS", | ||||||
|  |         "repo": "nixpkgs", | ||||||
|  |         "rev": "a30520bf8eabf8a5c37889d661e67a2dbcaa59e6", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "NixOS", | ||||||
|  |         "ref": "nixpkgs-unstable", | ||||||
|  |         "repo": "nixpkgs", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "nur": { | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1686732300, | ||||||
|  |         "narHash": "sha256-7wwhRQ4X5vZF8c6xCL9FuF1meGvjmjg5uSb6DMZo7nE=", | ||||||
|  |         "owner": "nix-community", | ||||||
|  |         "repo": "nur", | ||||||
|  |         "rev": "7ea3c0a513ce7538c139876763f5c9c87c4f1d99", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "nix-community", | ||||||
|  |         "repo": "nur", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "root": { | ||||||
|  |       "inputs": { | ||||||
|  |         "darwin": "darwin", | ||||||
|  |         "hardware": "hardware", | ||||||
|  |         "home-manager": "home-manager", | ||||||
|  |         "hyprland": "hyprland", | ||||||
|  |         "nix-colors": "nix-colors", | ||||||
|  |         "nixpkgs": "nixpkgs_2", | ||||||
|  |         "nur": "nur", | ||||||
|  |         "sops-nix": "sops-nix" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "sops-nix": { | ||||||
|  |       "inputs": { | ||||||
|  |         "nixpkgs": "nixpkgs_3", | ||||||
|  |         "nixpkgs-stable": "nixpkgs-stable" | ||||||
|  |       }, | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1686453485, | ||||||
|  |         "narHash": "sha256-75iPAcS6xuw4SNfqLmFCi9wWG1JmDNKaC8l3WJUkmDk=", | ||||||
|  |         "owner": "Mic92", | ||||||
|  |         "repo": "sops-nix", | ||||||
|  |         "rev": "cb85e297937af1bd1434cf5f85a3f86a21dc8207", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "Mic92", | ||||||
|  |         "repo": "sops-nix", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "wlroots": { | ||||||
|  |       "flake": false, | ||||||
|  |       "locked": { | ||||||
|  |         "host": "gitlab.freedesktop.org", | ||||||
|  |         "lastModified": 1686573751, | ||||||
|  |         "narHash": "sha256-5vnFxEMvn4wzT+XKR5Jo8VSn1hXrdf/mWuTmdHhRFBs=", | ||||||
|  |         "owner": "wlroots", | ||||||
|  |         "repo": "wlroots", | ||||||
|  |         "rev": "6e8fb5509f2c94d09d4efa0f9b1f40b37bf73863", | ||||||
|  |         "type": "gitlab" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "host": "gitlab.freedesktop.org", | ||||||
|  |         "owner": "wlroots", | ||||||
|  |         "repo": "wlroots", | ||||||
|  |         "type": "gitlab" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "xdph": { | ||||||
|  |       "inputs": { | ||||||
|  |         "hyprland-protocols": [ | ||||||
|  |           "hyprland", | ||||||
|  |           "hyprland-protocols" | ||||||
|  |         ], | ||||||
|  |         "nixpkgs": [ | ||||||
|  |           "hyprland", | ||||||
|  |           "nixpkgs" | ||||||
|  |         ] | ||||||
|  |       }, | ||||||
|  |       "locked": { | ||||||
|  |         "lastModified": 1685385764, | ||||||
|  |         "narHash": "sha256-r+XMyOoRXq+hlfjayb+fyi9kq2JK48TrwuNIAXqlj7U=", | ||||||
|  |         "owner": "hyprwm", | ||||||
|  |         "repo": "xdg-desktop-portal-hyprland", | ||||||
|  |         "rev": "4d9ff0c17716936e0b5ca577a39e263633901ed1", | ||||||
|  |         "type": "github" | ||||||
|  |       }, | ||||||
|  |       "original": { | ||||||
|  |         "owner": "hyprwm", | ||||||
|  |         "repo": "xdg-desktop-portal-hyprland", | ||||||
|  |         "type": "github" | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   "root": "root", | ||||||
|  |   "version": 7 | ||||||
|  | } | ||||||
							
								
								
									
										93
									
								
								flake.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										93
									
								
								flake.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,93 @@ | |||||||
|  | { | ||||||
|  |   description = "SoraFlake"; | ||||||
|  |    | ||||||
|  |   inputs = { | ||||||
|  |     nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; | ||||||
|  |     hardware.url = "github:nixos/nixos-hardware"; | ||||||
|  |     nur.url = "github:nix-community/nur"; | ||||||
|  |      | ||||||
|  |     home-manager = { | ||||||
|  |       url = "github:nix-community/home-manager"; | ||||||
|  |       inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|  |     };  | ||||||
|  |     darwin = { | ||||||
|  |       url = "github:lnl7/nix-darwin/master";                              # MacOS Package Management | ||||||
|  |       inputs.nixpkgs.follows = "nixpkgs"; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     hyprland.url = "github:hyprwm/Hyprland"; | ||||||
|  |     sops-nix.url = "github:Mic92/sops-nix"; | ||||||
|  |     nix-colors.url = "github:misterio77/nix-colors"; | ||||||
|  |  | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   outputs = { self, nixpkgs, hardware, nur, home-manager, darwin, sops-nix, hyprland, nix-colors, ... }@inputs: | ||||||
|  |    | ||||||
|  |   let | ||||||
|  |     gen = import ./generator.nix  { inherit inputs nixpkgs home-manager darwin sops-nix hyprland nix-colors; }; | ||||||
|  |   in { | ||||||
|  |     nixosConfigurations = { | ||||||
|  |       valinor = gen.generate { | ||||||
|  |         type = "nixos"; | ||||||
|  |         system = "x86_64-linux"; | ||||||
|  |         host = "valinor"; | ||||||
|  |       }; | ||||||
|  |       iriy = gen.generate { | ||||||
|  |         type = "nixos"; | ||||||
|  |         system = "x86_64-linux"; | ||||||
|  |         host = "iriy"; | ||||||
|  |       }; | ||||||
|  |       efir = gen.generate { | ||||||
|  |         type = "nixos"; | ||||||
|  |         system = "x86_64-linux"; | ||||||
|  |         host = "efir"; | ||||||
|  |       }; | ||||||
|  |       avalon = gen.generate { | ||||||
|  |         type = "nixos"; | ||||||
|  |         system = "x86_64-linux"; | ||||||
|  |         host = "avalon"; | ||||||
|  |       }; | ||||||
|  |        | ||||||
|  |     }; | ||||||
|  |     darwinConfigurations = { | ||||||
|  |       asgard = gen.generate { | ||||||
|  |         type = "macos"; | ||||||
|  |         system = "x86-64-darwin"; | ||||||
|  |         host = "asgard"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |     homeConfigurations = { | ||||||
|  |       yomi = gen.generate { | ||||||
|  |         type = "home"; | ||||||
|  |         system = "arm-64"; | ||||||
|  |         host = "example"; | ||||||
|  |       }; | ||||||
|  |       example = gen.generate { | ||||||
|  |         type = "home"; | ||||||
|  |         system = "-"; #supports any  | ||||||
|  |         host = "example"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |     # ===== Unsupported/NotImplemented ====== | ||||||
|  |     # menel - PI/ARM64 | ||||||
|  |     # ilduma - PI/ARM64 | ||||||
|  |     # daimoth - PI/ARM64 | ||||||
|  |     # gimle - .... | ||||||
|  |  | ||||||
|  |     # ===== Unused ====== | ||||||
|  |     # | ||||||
|  |     # naraka - ? | ||||||
|  |     # diyu - ? | ||||||
|  |     # tirnanog - ? | ||||||
|  |     # valhalla - ? | ||||||
|  |     # arcadia - ?  | ||||||
|  |     # elysium - ?  | ||||||
|  |     # empyrean - ? | ||||||
|  |     # duat - ? | ||||||
|  |     # sheol - ? | ||||||
|  |     # adlivun - ? | ||||||
|  |     # araf - ? | ||||||
|  |     # aman/araman - ? | ||||||
|  |   | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										53
									
								
								generator.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										53
									
								
								generator.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,53 @@ | |||||||
|  | { inputs, nixpkgs, home-manager, darwin, sops-nix, hyprland, nix-colors, ... }: | ||||||
|  | { | ||||||
|  |     generate = { type, system, host }: | ||||||
|  |     ({"nixos" = nixpkgs.lib.nixosSystem { | ||||||
|  |         system = system; | ||||||
|  |         modules = [ | ||||||
|  |             sops-nix.nixosModules.sops | ||||||
|  |             ./hosts/${host} | ||||||
|  |             home-manager.nixosModules.home-manager { | ||||||
|  |                 home-manager.useGlobalPkgs = true; | ||||||
|  |                 home-manager.useUserPackages = true; | ||||||
|  |                 home-manager.extraSpecialArgs = { | ||||||
|  |                     inherit inputs; | ||||||
|  |                 }; | ||||||
|  |                 home-manager.users.sora = { | ||||||
|  |                     imports = [ | ||||||
|  |                         nix-colors.homeManagerModule | ||||||
|  |                         hyprland.homeManagerModules.default | ||||||
|  |                         ./hosts/${host}/home.nix | ||||||
|  |                     ]; | ||||||
|  |                 }; | ||||||
|  |             } | ||||||
|  |         ]; | ||||||
|  |     }; | ||||||
|  |     "macos" = darwin.lib.darwinSystem { | ||||||
|  |         system = system; | ||||||
|  |         modules = [ | ||||||
|  |             sops-nix.nixosModules.sops | ||||||
|  |             ./hosts/${host} | ||||||
|  |             home-manager.darwinModules.home-manager { | ||||||
|  |                 home-manager.useGlobalPkgs = true; | ||||||
|  |                 home-manager.useUserPackages = true; | ||||||
|  |                 home-manager.extraSpecialArgs = { | ||||||
|  |                     inherit inputs; | ||||||
|  |                 }; | ||||||
|  |                 home-manager.users.sora = { | ||||||
|  |                     imports = [ | ||||||
|  |                         nix-colors.homeManagerModule | ||||||
|  |                         hyprland.homeManagerModules.default | ||||||
|  |                         ./hosts/${host}/home.nix | ||||||
|  |                     ]; | ||||||
|  |                 }; | ||||||
|  |             } | ||||||
|  |         ]; | ||||||
|  |     }; | ||||||
|  |     "home" = home-manager.lib.homeManagerConfiguration { | ||||||
|  |         modules = [ | ||||||
|  |             ./hosts/${host}/home.nix | ||||||
|  |         ]; | ||||||
|  |     }; | ||||||
|  |     _ = throw "Unsupported system"; | ||||||
|  |     }.${type}); | ||||||
|  | } | ||||||
							
								
								
									
										21
									
								
								home/cli/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								home/cli/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | { | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     ./git | ||||||
|  |     ./neofetch | ||||||
|  |     ./starship | ||||||
|  |     ./zsh | ||||||
|  |     ./helix | ||||||
|  |   ]; | ||||||
|  |  | ||||||
|  |   home.packages = with pkgs; [ | ||||||
|  |     sudo | ||||||
|  |     ripgrep | ||||||
|  |  | ||||||
|  |     bat | ||||||
|  |     croc | ||||||
|  |     socat | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										20
									
								
								home/cli/git/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										20
									
								
								home/cli/git/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  | { | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |    | ||||||
|  |   programs.git = { | ||||||
|  |     enable = true; | ||||||
|  |     userEmail = "soraefir+git@pm.me"; | ||||||
|  |     userName = "soraefir"; | ||||||
|  |   signing = { | ||||||
|  |     key = "4E241635F8EDD2919D2FB44CA362EA0491E2EEA0"; | ||||||
|  |     signByDefault = true; | ||||||
|  |    }; | ||||||
|  |   ignores = ["*result*" ".direnv" "node_modules"]; | ||||||
|  |  }; | ||||||
|  |  | ||||||
|  |  home.packages = with pkgs; [ | ||||||
|  |     tig | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								home/cli/helix/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								home/cli/helix/default.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | { | ||||||
|  |     ... | ||||||
|  | }:{ | ||||||
|  |     programs.helix = { | ||||||
|  |         enable = true; | ||||||
|  |         languages = { }; | ||||||
|  |         settings = { }; | ||||||
|  |         themes = { }; | ||||||
|  |     }; | ||||||
|  | } | ||||||
							
								
								
									
										127
									
								
								home/cli/neofetch/config.conf
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										127
									
								
								home/cli/neofetch/config.conf
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,127 @@ | |||||||
|  |  | ||||||
|  | print_info() { | ||||||
|  |     info "" | ||||||
|  |     info "${c5} ├─  Distro     " distro | ||||||
|  |     info "${c5} ├─  Kernel     " kernel | ||||||
|  |     info "${c5} ├─  Pkgs       " packages | ||||||
|  |     info "${c5} ├─  Compositor " de | ||||||
|  |     info "${c5} ├─  CPU        " cpu | ||||||
|  |     info "${c5} ├─  GPU        " gpu | ||||||
|  |     info "${c5} ├─  Term       " term | ||||||
|  |     prin "$(color 0) $(color 1) $(color 2) $(color 3) $(color 4) $(color 5) $(color 6) $(color 7)" | ||||||
|  |     prin "$(color 8) $(color 9) $(color 10) $(color 11) $(color 12) $(color 13) $(color 14) $(color 15)" | ||||||
|  |      | ||||||
|  | } | ||||||
|  |  | ||||||
|  | ##--------- Title | ||||||
|  | title_fqdn="off" | ||||||
|  |  | ||||||
|  | ##--------- Kernel | ||||||
|  | kernel_shorthand="off" | ||||||
|  |  | ||||||
|  | ##--------- Distro | ||||||
|  | distro_shorthand="on" | ||||||
|  | os_arch="off" | ||||||
|  |  | ||||||
|  | ##--------- Uptime | ||||||
|  | uptime_shorthand="off" | ||||||
|  |  | ||||||
|  | ##--------- Memory | ||||||
|  | memory_percent="off" | ||||||
|  | memory_unit="mib" | ||||||
|  |  | ||||||
|  | ##--------- Packages | ||||||
|  | package_managers="on" | ||||||
|  |  | ||||||
|  | ##--------- Shell | ||||||
|  | shell_path="off" | ||||||
|  | shell_version="on" | ||||||
|  |  | ||||||
|  | ##--------- CPU | ||||||
|  | speed_type="bios_limit" | ||||||
|  | speed_shorthand="off" | ||||||
|  | cpu_brand="on" | ||||||
|  | cpu_speed="off" | ||||||
|  | cpu_cores="off" | ||||||
|  | cpu_temp="off" | ||||||
|  |  | ||||||
|  | ##--------- GPU | ||||||
|  | gpu_brand="on" | ||||||
|  | gpu_type="dedicated" | ||||||
|  |  | ||||||
|  | ##--------- Resolution | ||||||
|  | refresh_rate="off" | ||||||
|  |  | ||||||
|  | ##--------- GTK | ||||||
|  | gtk_shorthand="off" | ||||||
|  | gtk2="on" | ||||||
|  | gtk3="on" | ||||||
|  |  | ||||||
|  | ##--------- IP | ||||||
|  | public_ip_host="http://ident.me" | ||||||
|  | public_ip_timeout=2 | ||||||
|  |  | ||||||
|  | ##--------- DE | ||||||
|  | de_version="on" | ||||||
|  |  | ||||||
|  | ##--------- Disk | ||||||
|  | disk_show=('/') | ||||||
|  | disk_subtitle="mount" | ||||||
|  | disk_percent="on" | ||||||
|  |  | ||||||
|  | ##--------- Song | ||||||
|  | music_player="auto" | ||||||
|  | song_format="%artist% - %album% - %title%" | ||||||
|  | song_shorthand="off" | ||||||
|  | mpc_args=() | ||||||
|  |  | ||||||
|  | ##--------- Text Colors | ||||||
|  | colors=(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) | ||||||
|  |  | ||||||
|  | ##--------- Text Options | ||||||
|  | bold="on" | ||||||
|  | underline_enabled="on" | ||||||
|  | underline_char="" | ||||||
|  | separator=":" | ||||||
|  |  | ||||||
|  | ##--------- Color Blocks | ||||||
|  | block_range=(0 15) | ||||||
|  | color_blocks="on" | ||||||
|  | block_width=3 | ||||||
|  | block_height=1 | ||||||
|  | col_offset="auto" | ||||||
|  |  | ||||||
|  | ##--------- Progress Bars | ||||||
|  | bar_char_elapsed="-" | ||||||
|  | bar_char_total="=" | ||||||
|  | bar_border="on" | ||||||
|  | bar_length=15 | ||||||
|  | bar_color_elapsed="distro" | ||||||
|  | bar_color_total="distro" | ||||||
|  |  | ||||||
|  | cpu_display="off" | ||||||
|  | memory_display="off" | ||||||
|  | battery_display="off" | ||||||
|  | disk_display="off" | ||||||
|  |  | ||||||
|  | ##--------- Backend Settings | ||||||
|  | image_backend="kitty" | ||||||
|  | image_source="auto" | ||||||
|  |  | ||||||
|  | ##--------- Ascii Options | ||||||
|  | ascii_distro="nixos_small" | ||||||
|  | ascii_bold="on" | ||||||
|  |  | ||||||
|  | ##--------- Image Options | ||||||
|  | image_loop="off" | ||||||
|  | thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" | ||||||
|  | crop_mode="normal" | ||||||
|  | crop_offset="center" | ||||||
|  | image_size="auto" | ||||||
|  | gap=2 | ||||||
|  | yoffset=0 | ||||||
|  | xoffset=0 | ||||||
|  | background_color= | ||||||
|  |  | ||||||
|  | ##--------- Misc Options | ||||||
|  | stdout="off" | ||||||
							
								
								
									
										10
									
								
								home/cli/neofetch/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								home/cli/neofetch/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | { | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   home.packages = with pkgs; [ | ||||||
|  |     neofetch | ||||||
|  |   ]; | ||||||
|  |   xdg.configFile."neofetch/config.conf".source =./config.conf; | ||||||
|  | } | ||||||
							
								
								
									
										63
									
								
								home/cli/starship/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										63
									
								
								home/cli/starship/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,63 @@ | |||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   lib, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |    | ||||||
|  |   home.sessionVariables.STARSHIP_CACHE = "${config.xdg.cacheHome}/starship"; | ||||||
|  |  | ||||||
|  |   programs.starship = { | ||||||
|  |     enable = true; | ||||||
|  |     enableFishIntegration = false; | ||||||
|  |     enableIonIntegration = false; | ||||||
|  |     enableNushellIntegration = false; | ||||||
|  |     enableZshIntegration = true; | ||||||
|  |     settings = { | ||||||
|  |     format = lib.concatStrings [ | ||||||
|  |     "[░▒▓](#${config.colorScheme.colors.base06})" | ||||||
|  |     "$username" | ||||||
|  |     "$hostname" | ||||||
|  |     "[](bg:#${config.colorScheme.colors.base05} fg:#${config.colorScheme.colors.base06})" | ||||||
|  |     "$directory" | ||||||
|  |     "[](bg:#${config.colorScheme.colors.base04} fg:#${config.colorScheme.colors.base05})" | ||||||
|  |     "$git_branch" | ||||||
|  |     "$git_status" | ||||||
|  |     "[](fg:#${config.colorScheme.colors.base04})" | ||||||
|  |   ]; | ||||||
|  |   username = { | ||||||
|  |     show_always = true; | ||||||
|  |     style_user = "bg:#${config.colorScheme.colors.base06} fg:#${config.colorScheme.colors.base00}"; | ||||||
|  |     style_root = "bg:#${config.colorScheme.colors.base06} fg:#${config.colorScheme.colors.base00}"; | ||||||
|  |     format = "[ $user]($style)"; | ||||||
|  |   }; | ||||||
|  |   hostname = { | ||||||
|  |     ssh_symbol = ""; | ||||||
|  |     style = "bg:#${config.colorScheme.colors.base06} fg:#${config.colorScheme.colors.base00}"; | ||||||
|  |     format = "[@$hostname]($style)"; | ||||||
|  |     ssh_only = false; | ||||||
|  |     disabled = false; | ||||||
|  |   }; | ||||||
|  |   directory = { | ||||||
|  |     style = "bg:#${config.colorScheme.colors.base05} fg:#${config.colorScheme.colors.base00}"; | ||||||
|  |     format = "[ $path ]($style)"; | ||||||
|  |     truncation_length = 3; | ||||||
|  |     truncation_symbol = "…/"; | ||||||
|  |   }; | ||||||
|  |   directory.substitutions = { | ||||||
|  |     "Documents" = " "; | ||||||
|  |     "Downloads" = " "; | ||||||
|  |     "Music" = " "; | ||||||
|  |     "Pictures" = " "; | ||||||
|  |   }; | ||||||
|  |   git_branch = { | ||||||
|  |     symbol = ""; | ||||||
|  |     style = "bg:#${config.colorScheme.colors.base04} fg:#${config.colorScheme.colors.base00}"; | ||||||
|  |     format = "[ $symbol $branch ]($style)"; | ||||||
|  |   }; | ||||||
|  |   git_status = { | ||||||
|  |     style = "bg:#${config.colorScheme.colors.base04} fg:#${config.colorScheme.colors.base00}"; | ||||||
|  |     format = "[$all_status$ahead_behind ]($style)"; | ||||||
|  |   }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										5
									
								
								home/cli/zsh/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								home/cli/zsh/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | { | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   programs.zsh.enable = true; | ||||||
|  | } | ||||||
							
								
								
									
										63
									
								
								home/gui/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										63
									
								
								home/gui/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,63 @@ | |||||||
|  | { | ||||||
|  |   pkgs, | ||||||
|  |   lib, | ||||||
|  |   inputs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     ./dunst | ||||||
|  |     ./eww | ||||||
|  |     ./wofi | ||||||
|  |     ./mpv | ||||||
|  |     ./wayland | ||||||
|  |     ./pipewire | ||||||
|  |  | ||||||
|  |     ./theme | ||||||
|  |  | ||||||
|  |     ./firefox | ||||||
|  |     ./zathura | ||||||
|  |     ./kitty | ||||||
|  |  | ||||||
|  |     ./various | ||||||
|  |   ]; | ||||||
|  |  | ||||||
|  |   home.packages = with pkgs; [ | ||||||
|  |     brillo | ||||||
|  |     dunst | ||||||
|  |     libnotify | ||||||
|  |     wofi | ||||||
|  |     btop | ||||||
|  |     swayidle | ||||||
|  |     swaylock-effects | ||||||
|  |     swww | ||||||
|  |    ]; | ||||||
|  |  | ||||||
|  |   xdg.mimeApps = { | ||||||
|  |     enable = true; | ||||||
|  |     defaultApplications = { | ||||||
|  |       "x-scheme-handler/discord-409416265891971072" = ["discord-409416265891971072.desktop"]; | ||||||
|  |       "x-scheme-handler/discord-402572971681644545" = ["discord-402572971681644545.desktop"]; | ||||||
|  |       "x-scheme-handler/discord-696343075731144724" = ["discord-696343075731144724.desktop"]; | ||||||
|  |       "x-scheme-handler/http" = ["firefox.desktop"]; | ||||||
|  |       "x-scheme-handler/https" = ["firefox.desktop"]; | ||||||
|  |       "x-scheme-handler/chrome" = ["firefox.desktop"]; | ||||||
|  |       "text/html" = ["firefox.desktop"]; | ||||||
|  |       "application/x-extension-htm" = ["firefox.desktop"]; | ||||||
|  |       "application/x-extension-html" = ["firefox.desktop"]; | ||||||
|  |       "application/x-extension-shtml" = ["firefox.desktop"]; | ||||||
|  |       "application/xhtml+xml" = ["firefox.desktop"]; | ||||||
|  |       "application/x-extension-xhtml" = ["firefox.desktop"]; | ||||||
|  |       "application/x-extension-xht" = ["firefox.desktop"]; | ||||||
|  |        | ||||||
|  |       "application/pdf"  = ["org.pwmt.zathura-pdf-mupdf.desktop"]; | ||||||
|  |       "text/plain" = ["vscodium.desktop"]; | ||||||
|  |        | ||||||
|  |       "video/mp4" = ["mpv.desktop"]; | ||||||
|  |     };    | ||||||
|  |     associations = { | ||||||
|  |       removed = { | ||||||
|  |         "application/pdf" = ["krita_pdf.desktop"]; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										94
									
								
								home/gui/dunst/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										94
									
								
								home/gui/dunst/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,94 @@ | |||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }:  | ||||||
|  | { | ||||||
|  |  | ||||||
|  |   services.dunst = { | ||||||
|  |     enable = true; | ||||||
|  |     #waylandDisplay = "DP-2"; | ||||||
|  |     settings = { | ||||||
|  |       global = { | ||||||
|  |         follow = "mouse"; | ||||||
|  |         height = "200"; | ||||||
|  |         width = "400"; | ||||||
|  |         scale = "0"; | ||||||
|  |         origin = "top-right"; | ||||||
|  |         offset = "4x40"; | ||||||
|  |         notification_limit = "0"; | ||||||
|  |         progress_bar = "true"; | ||||||
|  |         progress_bar_height = "10"; | ||||||
|  |         progress_bar_frame_width = "0"; | ||||||
|  |         progress_bar_min_width = "350"; | ||||||
|  |         progress_bar_max_width = "400"; | ||||||
|  |         indicate_hidden = "yes"; | ||||||
|  |         transparency = "0"; | ||||||
|  |         separator_height = "2"; | ||||||
|  |         padding = "12"; | ||||||
|  |         horizontal_padding = "15"; | ||||||
|  |         text_icon_padding = "0"; | ||||||
|  |         frame_width = "2"; | ||||||
|  |         frame_color = "#${config.colorScheme.colors.base03}"; | ||||||
|  |         separator_color = "auto"; | ||||||
|  |         sort = "yes"; | ||||||
|  |         font = "IBM Plex Mono 14"; | ||||||
|  |         markup = "full"; | ||||||
|  |         format = "<b>%s</b>\\n<span size=\"small\">%b</span>"; | ||||||
|  |         alignment = "center"; | ||||||
|  |         vertical_alignment = "center"; | ||||||
|  |         show_age_threshold = "60"; | ||||||
|  |         ellipsize = "end"; | ||||||
|  |         ignore_newline = "no"; | ||||||
|  |         stack_duplicates = "true"; | ||||||
|  |         hide_duplicate_count = "false"; | ||||||
|  |         show_indicators = "yes"; | ||||||
|  |         min_icon_size = 32; | ||||||
|  |         max_icon_size = 64; | ||||||
|  |          | ||||||
|  |         icon_path = "/usr/share/icons/gnome/128x128/status/:/usr/share/icons/gnome/128x128/devices/"; | ||||||
|  |         icon_theme = "Papirus, Adwaita"; | ||||||
|  |         enable_recursive_icon_lookup = "true"; | ||||||
|  |  | ||||||
|  |         sticky_history = "yes"; | ||||||
|  |         history_length = "20"; | ||||||
|  |  | ||||||
|  |         dmenu = "wofi --show dmenu -p dunst:"; | ||||||
|  |         browser = "/usr/bin/xdg-open"; | ||||||
|  |         always_run_script = "true"; | ||||||
|  |         title = "Dunst"; | ||||||
|  |         class = "Dunst"; | ||||||
|  |         corner_radius = "10"; | ||||||
|  |         ignore_dbusclose = "false"; | ||||||
|  |         layer = "top"; | ||||||
|  |         force_xwayland = "true"; | ||||||
|  |         force_xinerama = "false"; | ||||||
|  |  | ||||||
|  |         mouse_left_click = "close_current"; | ||||||
|  |         mouse_middle_click = "context"; | ||||||
|  |         mouse_right_click = "do_action"; | ||||||
|  |  | ||||||
|  |       }; | ||||||
|  |       urgency_low = { | ||||||
|  |         background = "#${config.colorScheme.colors.base00}"; | ||||||
|  |         foreground = "#${config.colorScheme.colors.base07}"; | ||||||
|  |         frame_color = "#${config.colorScheme.colors.base03}"; | ||||||
|  |         timeout = "3"; | ||||||
|  |         highlight = "#${config.colorScheme.colors.base0B}"; | ||||||
|  |       }; | ||||||
|  |       urgency_normal = { | ||||||
|  |         background = "#${config.colorScheme.colors.base00}"; | ||||||
|  |         foreground = "#${config.colorScheme.colors.base07}"; | ||||||
|  |         frame_color = "#${config.colorScheme.colors.base03}"; | ||||||
|  |         timeout = "5"; | ||||||
|  |         highlight = "#${config.colorScheme.colors.base0C}"; | ||||||
|  |       }; | ||||||
|  |       urgency_critical ={ | ||||||
|  |         background = "#${config.colorScheme.colors.base00}"; | ||||||
|  |         foreground = "#${config.colorScheme.colors.base0F}"; | ||||||
|  |         frame_color = "#${config.colorScheme.colors.base03}"; | ||||||
|  |         timeout = "10"; | ||||||
|  |         highlight = "#${config.colorScheme.colors.base0E}"; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										31
									
								
								home/gui/eww/css/_calendar.scss
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										31
									
								
								home/gui/eww/css/_calendar.scss
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,31 @@ | |||||||
|  | .calendar-win { | ||||||
|  |   @include window; | ||||||
|  |   background-color: $bg; | ||||||
|  |   color: $fg; | ||||||
|  |   padding: .2em; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | calendar { | ||||||
|  |   padding: 5px; | ||||||
|  |  | ||||||
|  |   :selected { | ||||||
|  |     color: $base0C; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   .header { | ||||||
|  |     color: $base05; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   .highlight { | ||||||
|  |     color: $base0C; | ||||||
|  |     font-weight: bold; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   .button { | ||||||
|  |     color: $base0C; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   :indeterminate { | ||||||
|  |     color: $base03; | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										123
									
								
								home/gui/eww/css/_sidebar.scss
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										123
									
								
								home/gui/eww/css/_sidebar.scss
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,123 @@ | |||||||
|  | .system-menu-box { | ||||||
|  |   @include window; | ||||||
|  |   background-color: $bg; | ||||||
|  |   color: $fg; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .separator { | ||||||
|  |   font-size: 1rem; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .top-row { | ||||||
|  |   margin: 1rem 1.5rem 0; | ||||||
|  |  | ||||||
|  |   .time { font-size: 2rem; } | ||||||
|  |  | ||||||
|  |   .date-box { | ||||||
|  |     margin: 0 1rem; | ||||||
|  |  | ||||||
|  |     label { font-size: 1.1rem; } | ||||||
|  |  | ||||||
|  |     .date { | ||||||
|  |       background: unset; | ||||||
|  |       margin: 0 .5rem 0 0; | ||||||
|  |       padding: 0; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |    | ||||||
|  |   button { | ||||||
|  |     background-color: $bg1; | ||||||
|  |     border-radius: 16px; | ||||||
|  |     margin-bottom: .1rem; | ||||||
|  |     padding: 0 .5rem; | ||||||
|  |  | ||||||
|  |     label { font-size: 1.5rem; } | ||||||
|  |     &:hover { background-color: $bg1; } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .system-row { | ||||||
|  |   margin: .5rem .7rem; | ||||||
|  |  | ||||||
|  |   label { | ||||||
|  |     font-size: 1rem; | ||||||
|  |     margin: 0 .1rem; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .element { | ||||||
|  |   @include rounding; | ||||||
|  |   background-color: $bg1; | ||||||
|  |   margin: .3rem; | ||||||
|  |  | ||||||
|  |   button { | ||||||
|  |     @include rounding; | ||||||
|  |     padding: 1rem 3rem; | ||||||
|  |  | ||||||
|  |     label { | ||||||
|  |       font-size: 1.5rem; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     &:hover { | ||||||
|  |       background-color: rgba(255, 255, 255, 0.2); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .sliders { | ||||||
|  |   @include rounding; | ||||||
|  |   background-color: $bg1; | ||||||
|  |   margin: .5rem 1rem; | ||||||
|  |   padding: .6rem 1rem; | ||||||
|  |  | ||||||
|  |   scale { | ||||||
|  |     margin-right: -1rem; | ||||||
|  |     min-width: 21.5rem; | ||||||
|  |  | ||||||
|  |     trough { margin-right: 0; } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   box { margin: .2rem 0; } | ||||||
|  |   label { font-size: 1.2rem; } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .volume-slider-box, | ||||||
|  | .brightness-slider-box { | ||||||
|  |   trough { background-color: $base02; } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .volume-bar highlight { | ||||||
|  |   @include rounding; | ||||||
|  |   background-image: linear-gradient(to right, $base0B, $base0C); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .brightness-bar highlight { | ||||||
|  |   @include rounding; | ||||||
|  |   background-image: linear-gradient(to right, $base0A, $base0B); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .bottom-row { | ||||||
|  |   margin: .5rem 1rem; | ||||||
|  |  | ||||||
|  |   .battery-icon { font-size: 2rem; } | ||||||
|  |   .battery-wattage { color: $base0A; } | ||||||
|  |  | ||||||
|  |   .battery-status { | ||||||
|  |     color: $base04; | ||||||
|  |     margin: 0 .5rem; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .bt-connected { | ||||||
|  |   background-color: $base0C; | ||||||
|  |   color: $base00; | ||||||
|  |  | ||||||
|  |   button:hover { background-color: rgba(0, 0, 0, .3); } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .net-connected { | ||||||
|  |   background-color: $base0C; | ||||||
|  |   color: $base00; | ||||||
|  |  | ||||||
|  |   button:hover { background-color: rgba(0, 0, 0, .3); } | ||||||
|  | } | ||||||
							
								
								
									
										76
									
								
								home/gui/eww/css/_system.scss
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										76
									
								
								home/gui/eww/css/_system.scss
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,76 @@ | |||||||
|  | .membar { | ||||||
|  |   color: $base08; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .cpubar { | ||||||
|  |   color: $base0C; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .batbar { | ||||||
|  |   color: $base0B; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .membar, | ||||||
|  | .cpubar, | ||||||
|  | .batbar { | ||||||
|  |   background-color: $bg1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .iconmem { | ||||||
|  |   color: $base08; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .iconcpu { | ||||||
|  |   color: $base0C; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .icon-text { | ||||||
|  |   font-size: 3rem; | ||||||
|  |   padding: .7rem; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .sys-text-sub { | ||||||
|  |   color: $fg; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .sys-text-mem, | ||||||
|  | .sys-text-cpu { | ||||||
|  |   font-size: 1rem; | ||||||
|  |   font-weight: bold; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .sys-icon-mem, | ||||||
|  | .sys-icon-cpu { | ||||||
|  |   font-size: 1.5rem; | ||||||
|  |   margin: 1.5rem; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .system-info-box { | ||||||
|  |   @include rounding; | ||||||
|  |   background-color: $bg1; | ||||||
|  |   margin: .5rem 1rem; | ||||||
|  |   padding: .5rem; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .sys-mem, | ||||||
|  | .sys-cpu { | ||||||
|  |   background-color: $bg; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .sys-icon-mem, | ||||||
|  | .sys-text-mem, | ||||||
|  | .sys-mem { | ||||||
|  |   color: $base08; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .sys-icon-cpu, | ||||||
|  | .sys-text-cpu, | ||||||
|  | .sys-cpu { | ||||||
|  |   color: $base0C; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .sys-box { | ||||||
|  |   margin: .3em; | ||||||
|  |  | ||||||
|  |   box { margin-left: 1rem; } | ||||||
|  | } | ||||||
							
								
								
									
										51
									
								
								home/gui/eww/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										51
									
								
								home/gui/eww/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,51 @@ | |||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   lib, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | { | ||||||
|  |  | ||||||
|  |   home.packages = [ | ||||||
|  |     pkgs.eww-wayland | ||||||
|  |     pkgs.jaq | ||||||
|  |   ]; | ||||||
|  |  | ||||||
|  |   xdg.configFile."eww" = { | ||||||
|  |     source = lib.cleanSourceWith { | ||||||
|  |       filter = name: _type: let | ||||||
|  |         baseName = baseNameOf (toString name); | ||||||
|  |       in | ||||||
|  |         !(lib.hasSuffix ".nix" baseName) && (baseName != "_colors.scss"); | ||||||
|  |       src = lib.cleanSource ./.; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     recursive = true; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   # colors file | ||||||
|  |   xdg.configFile."eww/css/_colors.scss".text = '' | ||||||
|  | $base00: #${config.colorScheme.colors.base00}; | ||||||
|  | $base01: #${config.colorScheme.colors.base01}; | ||||||
|  | $base02: #${config.colorScheme.colors.base02}; | ||||||
|  | $base03: #${config.colorScheme.colors.base03}; | ||||||
|  | $base04: #${config.colorScheme.colors.base04}; | ||||||
|  | $base05: #${config.colorScheme.colors.base05}; | ||||||
|  | $base06: #${config.colorScheme.colors.base06}; | ||||||
|  | $base07: #${config.colorScheme.colors.base07}; | ||||||
|  | $base08: #${config.colorScheme.colors.base08}; | ||||||
|  | $base09: #${config.colorScheme.colors.base09}; | ||||||
|  | $base0A: #${config.colorScheme.colors.base0A}; | ||||||
|  | $base0B: #${config.colorScheme.colors.base0B}; | ||||||
|  | $base0C: #${config.colorScheme.colors.base0C}; | ||||||
|  | $base0D: #${config.colorScheme.colors.base0D}; | ||||||
|  | $base0E: #${config.colorScheme.colors.base0E}; | ||||||
|  | $base0F: #${config.colorScheme.colors.base0F}; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | $fg: $base07; | ||||||
|  | $bg: $base00; | ||||||
|  | $bg1: $base01; | ||||||
|  | $border: $base03; | ||||||
|  | ''; | ||||||
|  | } | ||||||
							
								
								
									
										109
									
								
								home/gui/eww/eww.scss
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										109
									
								
								home/gui/eww/eww.scss
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,109 @@ | |||||||
|  | @import 'css/colors'; | ||||||
|  |  | ||||||
|  | @mixin rounding { | ||||||
|  |   border-radius: 16px; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @mixin window { | ||||||
|  |   border: 2px solid $base03; | ||||||
|  |   margin: 5px 5px 10px; | ||||||
|  |   @include rounding; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | * { | ||||||
|  |   all: unset; | ||||||
|  |   font-family: "IBM Plex Mono"; | ||||||
|  |   transition: 200ms ease; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @import 'css/calendar'; | ||||||
|  | @import 'css/sidebar'; | ||||||
|  | @import 'css/system'; | ||||||
|  |  | ||||||
|  | .bar { | ||||||
|  |   background-color: $bg; | ||||||
|  |   color: $fg; | ||||||
|  |   border-bottom: 2px solid $base03; | ||||||
|  |  | ||||||
|  |   label { | ||||||
|  |     font-size: 1.2rem; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | tooltip { | ||||||
|  |   background: $bg; | ||||||
|  |   border: 1px solid $border; | ||||||
|  |   border-radius: 8px; | ||||||
|  |  | ||||||
|  |   label { | ||||||
|  |     font-size: 1rem; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .icon, | ||||||
|  | .icon label { font-family: Material Design Icons; } | ||||||
|  |  | ||||||
|  | .ws { | ||||||
|  |   border-radius: 2rem; | ||||||
|  |   margin: .7rem .25rem; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .focused { | ||||||
|  |   background-color: $bg; | ||||||
|  |   border-radius: 1rem; | ||||||
|  |   margin: .3rem; | ||||||
|  |   padding: .25rem; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .module { margin: 0 5px; } | ||||||
|  |  | ||||||
|  | .hour { | ||||||
|  |   font-weight: bold; | ||||||
|  |   padding-left: 5px; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .minute { | ||||||
|  |   padding-right: .7rem; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .date { | ||||||
|  |   background: $bg; | ||||||
|  |   color: $base0C; | ||||||
|  |  | ||||||
|  |   label { | ||||||
|  |     font-size: 1.2rem; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .bright-icon { color: $base09; } | ||||||
|  | .module-bt { font-size: 1.2rem; } | ||||||
|  |  | ||||||
|  | scale trough { | ||||||
|  |   background-color: $bg1; | ||||||
|  |   border-radius: 24px; | ||||||
|  |   margin: 0 1rem; | ||||||
|  |   min-height: 10px; | ||||||
|  |   min-width: 70px; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .workspaces { margin-left: 10px; } | ||||||
|  |  | ||||||
|  | .grey { | ||||||
|  |   background-color: $base02; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .red { | ||||||
|  |   background-color: $base0F; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .orange { | ||||||
|  |   background-color: $base08; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .green { | ||||||
|  |   background-color: $base0B; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .blue { | ||||||
|  |   background-color: $base0C; | ||||||
|  | } | ||||||
							
								
								
									
										44
									
								
								home/gui/eww/eww.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										44
									
								
								home/gui/eww/eww.yuck
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,44 @@ | |||||||
|  | (include "./modules/clock.yuck") | ||||||
|  | (include "./modules/net.yuck") | ||||||
|  | (include "./modules/sys.yuck") | ||||||
|  | (include "./modules/variables.yuck") | ||||||
|  | (include "./modules/workspaces.yuck") | ||||||
|  |  | ||||||
|  | (include "./windows/calendar.yuck") | ||||||
|  | (include "./windows/system.yuck") | ||||||
|  |  | ||||||
|  | (defwidget left [] | ||||||
|  |   (box | ||||||
|  |     :space-evenly false | ||||||
|  |     :halign "start" | ||||||
|  |     (workspaces))) | ||||||
|  |  | ||||||
|  | (defwidget right [] | ||||||
|  |   (box | ||||||
|  |     :space-evenly false | ||||||
|  |     :halign "end" | ||||||
|  |     (sys) | ||||||
|  |     (clock_module))) | ||||||
|  |  | ||||||
|  | (defwidget center [] | ||||||
|  |   (box | ||||||
|  |     :space-evenly false | ||||||
|  |     :halign "center" | ||||||
|  |     )) | ||||||
|  |  | ||||||
|  | (defwidget bar-box [] | ||||||
|  |   (centerbox | ||||||
|  |     (left) | ||||||
|  |     (center) | ||||||
|  |     (right))) | ||||||
|  |  | ||||||
|  | (defwindow bar | ||||||
|  |     :monitor 0 | ||||||
|  |     :geometry (geometry :x "0%" | ||||||
|  |       :y "0%" | ||||||
|  |       :width "100%" | ||||||
|  |       :height "32px" | ||||||
|  |       :anchor "top center") | ||||||
|  |     :stacking "fg" | ||||||
|  |     :exclusive true | ||||||
|  |   (bar-box)) | ||||||
							
								
								
									
										24
									
								
								home/gui/eww/modules/clock.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								home/gui/eww/modules/clock.yuck
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,24 @@ | |||||||
|  | (defvar date_rev false) | ||||||
|  |  | ||||||
|  | (defwidget clock_module [] | ||||||
|  |   (eventbox | ||||||
|  |     :onhover "${EWW_CMD} update date_rev=true" | ||||||
|  |     :onhoverlost "${EWW_CMD} update date_rev=false" | ||||||
|  |     (overlay | ||||||
|  |       :class "module" | ||||||
|  |       (box | ||||||
|  |         :space-evenly false | ||||||
|  |         (label | ||||||
|  |           :text {time.hour} | ||||||
|  |           :class "hour") | ||||||
|  |         (label | ||||||
|  |           :text ":") | ||||||
|  |         (label | ||||||
|  |           :text {time.minute} | ||||||
|  |           :class "minute")) | ||||||
|  |       (revealer | ||||||
|  |         :reveal date_rev | ||||||
|  |         (button | ||||||
|  |           :class "date" | ||||||
|  |           :onclick "${EWW_CMD} open --toggle calendar" | ||||||
|  |           {time.date}))))) | ||||||
							
								
								
									
										7
									
								
								home/gui/eww/modules/net.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								home/gui/eww/modules/net.yuck
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | (defwidget net [] | ||||||
|  |   (button | ||||||
|  |     :class "module icon" | ||||||
|  |     :onclick "gnome-control-center &" | ||||||
|  |     :tooltip {net.name} | ||||||
|  |     :style "color: ${net.color};" | ||||||
|  |     {net.icon})) | ||||||
							
								
								
									
										30
									
								
								home/gui/eww/modules/sys.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										30
									
								
								home/gui/eww/modules/sys.yuck
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  | (defwidget sys [] | ||||||
|  |   (box | ||||||
|  |     :class "module" | ||||||
|  |     :space-evenly false | ||||||
|  |     :spacing 5 | ||||||
|  |     (circular-progress | ||||||
|  |       :value {EWW_CPU.avg} | ||||||
|  |       :class "cpubar" | ||||||
|  |       :thickness 3 | ||||||
|  |       (button | ||||||
|  |         :onclick "${EWW_CMD} open --toggle system-menu" | ||||||
|  |         (label :class "icon-text" :text ""))) | ||||||
|  |  | ||||||
|  |     (circular-progress | ||||||
|  |       :value {memory.percent} | ||||||
|  |       :class "membar" | ||||||
|  |       :thickness 3 | ||||||
|  |       (button | ||||||
|  |         :onclick "${EWW_CMD} open --toggle system-menu" | ||||||
|  |         (label :class "icon-text" :text ""))) | ||||||
|  |  | ||||||
|  |     (circular-progress | ||||||
|  |       :value {battery.percentage} | ||||||
|  |       :class "batbar" | ||||||
|  |       :style "color: ${battery.color};" | ||||||
|  |       :thickness 3 | ||||||
|  |       (button | ||||||
|  |         :tooltip "${battery.percentage}%" | ||||||
|  |         :onclick "${EWW_CMD} open --toggle system-menu" | ||||||
|  |         (label :class "icon-text" :text ""))))) | ||||||
							
								
								
									
										17
									
								
								home/gui/eww/modules/variables.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										17
									
								
								home/gui/eww/modules/variables.yuck
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | (defvar bright_reveal false) | ||||||
|  | (defvar bt_rev false) | ||||||
|  | (defvar net_rev false) | ||||||
|  | (defvar time_rev false) | ||||||
|  | (defvar vol_reveal false) | ||||||
|  |  | ||||||
|  | (defpoll time :interval "5s" `date +'{"date": "%d/%m", "hour": "%H", "minute": "%M", "day": "%A"}'`) | ||||||
|  |  | ||||||
|  | (deflisten flightmode "scripts/flightmode") | ||||||
|  | (deflisten powermode "scripts/powermode") | ||||||
|  | (deflisten battery "scripts/battery") | ||||||
|  | (deflisten bluetooth "scripts/bluetooth") | ||||||
|  | (deflisten brightness "scripts/brightness") | ||||||
|  | (deflisten memory "scripts/memory") | ||||||
|  | (deflisten net "scripts/net") | ||||||
|  | (deflisten volume "scripts/volume") | ||||||
|  | (deflisten workspace "scripts/workspaces") | ||||||
							
								
								
									
										13
									
								
								home/gui/eww/modules/workspaces.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								home/gui/eww/modules/workspaces.yuck
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | (defwidget workspaces [] | ||||||
|  |   (eventbox | ||||||
|  | 		:onscroll "echo {} | sed -e \"s/up/-1/g\" -e \"s/down/+1/g\" | xargs hyprctl dispatch workspace" | ||||||
|  | 		(box | ||||||
|  | 			:class "module workspaces" | ||||||
|  | 		  (for ws in workspace | ||||||
|  | 		    (button | ||||||
|  | 					:onclick "hyprctl dispatch workspace ${ws.number}" | ||||||
|  | 					:class "ws icon ${ws.color}" | ||||||
|  | 					; :tooltip {ws.tooltip} | ||||||
|  | 					(box | ||||||
|  | 						:class `${ws.focused ? "focused" : ""}` | ||||||
|  | 						:height 3)))))) | ||||||
							
								
								
									
										61
									
								
								home/gui/eww/scripts/battery
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										61
									
								
								home/gui/eww/scripts/battery
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,61 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | icons=("" "" "" "" "" "" "" "" "" "" "") | ||||||
|  | num_icons=$(awk -v n="${#icons[@]}" 'BEGIN{print 100 / n}') | ||||||
|  | BATTERY="/sys/class/power_supply/BAT0" | ||||||
|  |  | ||||||
|  | geticon() { | ||||||
|  |   level=$(awk -v n="$CAPACITY" -v c="$num_icons" 'BEGIN{print int(n/c-1)}') | ||||||
|  |   echo "${icons[$level]}" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | status() { | ||||||
|  |   if [ "$STATE" = "Charging" ]; then | ||||||
|  |     echo -n "charging" | ||||||
|  |  | ||||||
|  |     if [ "$RATE" -gt 0 ]; then | ||||||
|  |       echo ", $(gettime) left" | ||||||
|  |     else | ||||||
|  |       echo "" | ||||||
|  |     fi | ||||||
|  |   elif [ "$STATE" = "Discharging" ]; then | ||||||
|  |     echo "$(gettime)h left" | ||||||
|  |   else | ||||||
|  |     echo "fully charged" | ||||||
|  |   fi | ||||||
|  | } | ||||||
|  |  | ||||||
|  | color() { | ||||||
|  |   [ "$CAPACITY" -le 20 ] && echo '#f38ba8' || echo '#a6e3a1' | ||||||
|  | } | ||||||
|  |  | ||||||
|  | wattage() { | ||||||
|  |   awk -v rate="$RATE" -v uw="1000000" 'BEGIN{print sprintf("%.1f W", rate/uw)}' | ||||||
|  | } | ||||||
|  |  | ||||||
|  | gettime() { | ||||||
|  |   FULL=$(cat $BATTERY/energy_full) | ||||||
|  |   NOW=$(cat $BATTERY/energy_now) | ||||||
|  |  | ||||||
|  |   if [ "$RATE" -gt 0 ]; then | ||||||
|  |     if [ "$STATE" = "Discharging" ]; then | ||||||
|  |       EX="$NOW / $RATE" | ||||||
|  |     else | ||||||
|  |       EX="($FULL - $NOW) / $RATE" | ||||||
|  |     fi | ||||||
|  |     date -u -d@"$(awk -v ex="$EX" 'BEGIN{print ex * 3600}')" +%H:%M | ||||||
|  |   fi | ||||||
|  | } | ||||||
|  |  | ||||||
|  | if [ -d "$BATTERY" ]; then | ||||||
|  |   while true; do | ||||||
|  |     RATE=$(cat $BATTERY/power_now) | ||||||
|  |     CAPACITY=$(cat $BATTERY/capacity) | ||||||
|  |     STATE=$(cat $BATTERY/status) | ||||||
|  |  | ||||||
|  |     echo '{ "icon": "'$(geticon)'", "percentage": '$CAPACITY', "wattage": "'$(wattage)'", "status": "'$(status)'", "color": "'$(color)'" }' | ||||||
|  |     sleep 5 | ||||||
|  |   done | ||||||
|  | else | ||||||
|  |   echo '{ "icon": "", "percentage": 0, "wattage": "", "status": "", "color": "#a6e3a1" }' | ||||||
|  | fi | ||||||
							
								
								
									
										30
									
								
								home/gui/eww/scripts/brightness
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										30
									
								
								home/gui/eww/scripts/brightness
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | function get_time_ms { | ||||||
|  |   date -u +%s%3N | ||||||
|  | } | ||||||
|  |  | ||||||
|  | icons=("" "" "") | ||||||
|  |  | ||||||
|  | gen_output() { | ||||||
|  |   icon="${icons[$(awk -v n="$(brillo)" 'BEGIN{print int(n/34)}')]}" | ||||||
|  |   prcnt=$(brillo | xargs printf "%.*f\n" "0") | ||||||
|  |   echo '{"percent": '$prcnt', "icon": "'$icon'"}' | ||||||
|  | } | ||||||
|  |  | ||||||
|  | if [[ $(brillo 2>/dev/stdout 1>/dev/null | head -n1 | awk '{print $1}') == "No" ]]; then | ||||||
|  |   echo  '{"percent":  100, "icon": ""}' | ||||||
|  | elif [ "$1" = "" ]; then | ||||||
|  |   # initial | ||||||
|  |   last_time=$(get_time_ms) | ||||||
|  |   gen_output | ||||||
|  |  | ||||||
|  |   udevadm monitor | rg --line-buffered "backlight" | while read -r _; do | ||||||
|  |     current_time=$(get_time_ms) | ||||||
|  |     delta=$((current_time - last_time)) | ||||||
|  |     if [[ $delta -gt 50 ]]; then | ||||||
|  |       gen_output | ||||||
|  |       last_time=$(get_time_ms) | ||||||
|  |     fi | ||||||
|  |   done | ||||||
|  | fi | ||||||
							
								
								
									
										23
									
								
								home/gui/eww/scripts/flightmode
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										23
									
								
								home/gui/eww/scripts/flightmode
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,23 @@ | |||||||
|  | #!/bin/sh | ||||||
|  |  | ||||||
|  | icon() { | ||||||
|  |   [ "$STATUS" = "no" ] && echo "" || echo "" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | toggle() { | ||||||
|  |   if [ "$STATUS" = "no" ]; then | ||||||
|  |     rfkill block all | ||||||
|  |   else | ||||||
|  |     rfkill unblock all | ||||||
|  |   fi | ||||||
|  | } | ||||||
|  |  | ||||||
|  | if [ "$1" = "toggle" ]; then | ||||||
|  |   toggle | ||||||
|  | else | ||||||
|  |   icon | ||||||
|  |   rfkill event | while read -r _; do | ||||||
|  |     STATUS="$(rfkill list | sed -n 2p | awk '{print $3}')" | ||||||
|  |     icon | ||||||
|  |   done | ||||||
|  | fi | ||||||
							
								
								
									
										14
									
								
								home/gui/eww/scripts/memory
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								home/gui/eww/scripts/memory
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | total="$(free --si | rg Mem | awk '{print $2}')" | ||||||
|  |  | ||||||
|  | human() { | ||||||
|  |   awk -v mem="$1" 'BEGIN{print sprintf("%.1f%s", mem/1000/(mem > 1000000 ? 1000 : 1), mem > 1000000 ? "G" : "M")}' | ||||||
|  | } | ||||||
|  |  | ||||||
|  | free --si -s 3 | rg --line-buffered Mem | while read -r line; do | ||||||
|  |   used=$(echo "$line" | awk '{print $3}') | ||||||
|  |   perc=$(awk -v used="$used" -v total="$total" 'BEGIN{print sprintf("%.f", used/total*100)}') | ||||||
|  |  | ||||||
|  |   echo '{"total": "'$(human "$total")'", "used": "'$(human "$used")'", "percent": '$perc'}' | ||||||
|  | done | ||||||
							
								
								
									
										72
									
								
								home/gui/eww/scripts/net
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										72
									
								
								home/gui/eww/scripts/net
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,72 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | function get_time_ms { | ||||||
|  |   date -u +%s%3N | ||||||
|  | } | ||||||
|  |  | ||||||
|  | icons=("" "" "" "" "") | ||||||
|  |  | ||||||
|  | function toggle() { | ||||||
|  |   status=$(rfkill | grep wlan | awk '{print $4}') | ||||||
|  |  | ||||||
|  |   if [ "$status" = "unblocked" ]; then | ||||||
|  |     rfkill block wlan | ||||||
|  |   else | ||||||
|  |     rfkill unblock wlan | ||||||
|  |   fi | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function gen_wifi() { | ||||||
|  |   signal=$(cat /proc/net/wireless | head -n3 | tail -n1 | awk '{print $3}') | ||||||
|  |   level=$(awk -v n="$signal" 'BEGIN{print int((n-1)/20)}') | ||||||
|  |   if [ "$level" -gt 4 ]; then | ||||||
|  |     level=4 | ||||||
|  |   fi | ||||||
|  |  | ||||||
|  |   icon=${icons[$level]} | ||||||
|  |   color="#cba6f7" | ||||||
|  |   class="net-connected" | ||||||
|  |   name=$(wpa_cli status | grep \^ssid= | sed 's/ssid=//g') | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function gen_ethernet() { | ||||||
|  |   icon="" | ||||||
|  |   class="net-connected" | ||||||
|  |   color="#cba6f7" | ||||||
|  |   name=Wired | ||||||
|  | } | ||||||
|  |  | ||||||
|  | function make_content() { | ||||||
|  |   local ethernet wifi | ||||||
|  |   ethernet=$(ip link | rg "^[0-9]+: en[po]+" | head -n1 | sed 's/[a-zA-Z0-9_,><:\ -]*state //g' | sed 's/ mode [a-zA-Z0-9 ]*//g') | ||||||
|  |   wifi=$(wpa_cli status | rg "^wpa_state=" | sed 's/wpa_state=//g') | ||||||
|  |  | ||||||
|  |   # test ethernet first | ||||||
|  |   if [[ $ethernet == "UP" ]]; then | ||||||
|  |     gen_ethernet | ||||||
|  |   elif [[ $wifi == "COMPLETED" ]]; then | ||||||
|  |     gen_wifi | ||||||
|  |   else | ||||||
|  |     icon="" | ||||||
|  |     color="#988ba2" | ||||||
|  |     class="net-disconnected" | ||||||
|  |     name="Disconnected" | ||||||
|  |   fi | ||||||
|  |  | ||||||
|  |   echo '{"icon": "'$icon'", "name": "'$name'", "color": "'$color'", "class": "'$class'"}' | ||||||
|  | } | ||||||
|  |  | ||||||
|  | if [ "$1" = "toggle" ]; then | ||||||
|  |   toggle | ||||||
|  | else | ||||||
|  |   last_time=$(get_time_ms) | ||||||
|  |   make_content | ||||||
|  |   ip monitor | while read -r _; do | ||||||
|  |     current_time=$(get_time_ms) | ||||||
|  |     delta=$((current_time - last_time)) | ||||||
|  |     if [[ $delta -gt 50 ]]; then | ||||||
|  |       make_content | ||||||
|  |       last_time=$(get_time_ms) | ||||||
|  |     fi | ||||||
|  |   done | ||||||
|  | fi | ||||||
							
								
								
									
										20
									
								
								home/gui/eww/scripts/powermode
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										20
									
								
								home/gui/eww/scripts/powermode
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  | #!/bin/sh | ||||||
|  |  | ||||||
|  | icon() { | ||||||
|  |   [ "$STATUS" = "no" ] && echo "" || echo "" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | toggle() { | ||||||
|  |   if [ "$STATUS" = "no" ]; then | ||||||
|  |     echo "" | ||||||
|  |   else | ||||||
|  |     echo "" | ||||||
|  |   fi | ||||||
|  | } | ||||||
|  |  | ||||||
|  | if [ "$1" = "toggle" ]; then | ||||||
|  |   toggle | ||||||
|  |   icon | ||||||
|  | else | ||||||
|  |   icon | ||||||
|  | fi | ||||||
							
								
								
									
										64
									
								
								home/gui/eww/scripts/volume
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										64
									
								
								home/gui/eww/scripts/volume
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,64 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | function get_time_ms { | ||||||
|  |   date -u +%s%3N | ||||||
|  | } | ||||||
|  |  | ||||||
|  | volicons=("" "" "") | ||||||
|  |  | ||||||
|  | vol() { | ||||||
|  |   wpctl get-volume @DEFAULT_AUDIO_"$1"@ | awk '{print int($2*100)}' | ||||||
|  | } | ||||||
|  | ismuted() { | ||||||
|  |   wpctl get-volume @DEFAULT_AUDIO_"$1"@ | rg -qi muted | ||||||
|  |   echo -n $? | ||||||
|  | } | ||||||
|  | setvol() { | ||||||
|  |   wpctl set-volume @DEFAULT_AUDIO_"$1"@ "$(awk -v n="$2" 'BEGIN{print (n / 100)}')" | ||||||
|  | } | ||||||
|  | setmute() { | ||||||
|  |   wpctl set-mute @DEFAULT_AUDIO_"$1"@ toggle | ||||||
|  | } | ||||||
|  |  | ||||||
|  | gen_output() { | ||||||
|  |   percent="$(vol "SINK")" | ||||||
|  |   lvl=$(awk -v n="$percent" 'BEGIN{print int(n/34)}') | ||||||
|  |   ismuted=$(ismuted "SINK") | ||||||
|  |  | ||||||
|  |   if [ "$ismuted" = 1 ]; then | ||||||
|  |     icon="${volicons[$lvl]}" | ||||||
|  |   else | ||||||
|  |     icon="" | ||||||
|  |   fi | ||||||
|  |  | ||||||
|  |   echo '{"icon": "'$icon'", "percent": '$(vol "SINK")', "microphone": '$(vol "SOURCE")'}' | ||||||
|  | } | ||||||
|  |  | ||||||
|  | if [ "$1" = "mute" ]; then | ||||||
|  |   if [ "$2" != "SOURCE" ] && [ "$2" != "SINK" ]; then | ||||||
|  |     echo "Can only mute SINK or SOURCE" | ||||||
|  |     exit 1 | ||||||
|  |   fi | ||||||
|  |   setmute "$2" | ||||||
|  | elif [ "$1" = "setvol" ]; then | ||||||
|  |   if [ "$2" != "SOURCE" ] && [ "$2" != "SINK" ]; then | ||||||
|  |     echo "Can only set volume for SINK or SOURCE" | ||||||
|  |     exit 1 | ||||||
|  |   elif [ "$3" -lt 0 ] || [ "$3" -gt 100 ]; then | ||||||
|  |     echo "Volume must be between 0 and 100" | ||||||
|  |     exit 1 | ||||||
|  |   fi | ||||||
|  |   setvol "$2" "$3" | ||||||
|  | else | ||||||
|  |   last_time=$(get_time_ms) | ||||||
|  |   gen_output | ||||||
|  |  | ||||||
|  |   pw-cli -m 2>/dev/null | rg --line-buffered "PipeWire:Interface:Client" | while read -r event; do | ||||||
|  |     current_time=$(get_time_ms) | ||||||
|  |     delta=$((current_time - last_time)) | ||||||
|  |     if [[ $delta -gt 50 ]]; then | ||||||
|  |       gen_output | ||||||
|  |       last_time=$(get_time_ms) | ||||||
|  |     fi | ||||||
|  |   done | ||||||
|  | fi | ||||||
							
								
								
									
										86
									
								
								home/gui/eww/scripts/workspaces
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										86
									
								
								home/gui/eww/scripts/workspaces
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,86 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  |  | ||||||
|  | colors=("blue" "orange" "green" "red") | ||||||
|  | empty="grey" | ||||||
|  |  | ||||||
|  | # get initial focused workspace | ||||||
|  | focusedws=$(hyprctl -j monitors | jaq -r '.[] | select(.focused == true) | .activeWorkspace.id') | ||||||
|  |  | ||||||
|  | declare -A o=([1]=0 [2]=0 [3]=0 [4]=0 [5]=0 [6]=0 [7]=0 [8]=0 [9]=0 [10]=0) | ||||||
|  | declare -A monitormap | ||||||
|  | declare -A workspaces | ||||||
|  |  | ||||||
|  | # set color for each workspace | ||||||
|  | status() { | ||||||
|  |   if [ "${o[$1]}" -eq 1 ]; then | ||||||
|  |     mon=${monitormap[${workspaces[$1]}]} | ||||||
|  |     echo -n "${colors[$mon]}" | ||||||
|  |   else | ||||||
|  |     echo -n "$empty" | ||||||
|  |   fi | ||||||
|  | } | ||||||
|  |  | ||||||
|  | # handle workspace create/destroy | ||||||
|  | workspace_event() { | ||||||
|  |   while read -r k v; do workspaces[$k]="$v"; done < <(hyprctl -j workspaces | jaq -jr '.[] | .id, " ", .monitor, "\n"') | ||||||
|  | } | ||||||
|  | # handle monitor (dis)connects | ||||||
|  | monitor_event() { | ||||||
|  |   while read -r k v; do monitormap["$k"]=$v; done < <(hyprctl -j monitors | jaq -jr '.[] | .name, " ", .id, "\n"') | ||||||
|  | } | ||||||
|  |  | ||||||
|  | # get all apps titles in a workspace | ||||||
|  | applist() { | ||||||
|  |   ws="$1" | ||||||
|  |  | ||||||
|  |   apps=$(hyprctl -j clients | jaq -jr '.[] | select(.workspace.id == '"$ws"') | .title + "\\n"') | ||||||
|  |   echo -En "${apps%"\n"}" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | # generate the json for eww | ||||||
|  | generate() { | ||||||
|  |   echo -n '[' | ||||||
|  |  | ||||||
|  |   for i in {1..10}; do | ||||||
|  |     echo -n ''"$([ "$i" -eq 1 ] || echo ,)" '{"number": "'"$i"'", "color": "'"$(status "$i")"'", "focused": '"$([ "$focusedws" = "$i" ] && echo "true" || echo "false")"'}' #, "tooltip": "'$(applist "$i")'" }' | ||||||
|  |   done | ||||||
|  |  | ||||||
|  |   echo ']' | ||||||
|  | } | ||||||
|  |  | ||||||
|  | # setup | ||||||
|  |  | ||||||
|  | # add monitors | ||||||
|  | monitor_event | ||||||
|  |  | ||||||
|  | # add workspaces | ||||||
|  | workspace_event | ||||||
|  |  | ||||||
|  | # check occupied workspaces | ||||||
|  | for num in "${!workspaces[@]}"; do | ||||||
|  |   o[$num]=1 | ||||||
|  | done | ||||||
|  | # generate initial widget | ||||||
|  | generate | ||||||
|  |  | ||||||
|  | # main loop | ||||||
|  | socat -u UNIX-CONNECT:/tmp/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock - | rg --line-buffered "workspace|mon(itor)?" | while read -r line; do | ||||||
|  |   case ${line%>>*} in | ||||||
|  |   "workspace") | ||||||
|  |     focusedws=${line#*>>} | ||||||
|  |     ;; | ||||||
|  |   "focusedmon") | ||||||
|  |     focusedws=${line#*,} | ||||||
|  |     ;; | ||||||
|  |   "createworkspace") | ||||||
|  |     o[${line#*>>}]=1 | ||||||
|  |     ;; | ||||||
|  |   "destroyworkspace") | ||||||
|  |     o[${line#*>>}]=0 | ||||||
|  |     ;; | ||||||
|  |   "monitor"*) | ||||||
|  |     monitor_event | ||||||
|  |     ;; | ||||||
|  |   esac | ||||||
|  |   generate | ||||||
|  | done | ||||||
							
								
								
									
										14
									
								
								home/gui/eww/windows/calendar.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								home/gui/eww/windows/calendar.yuck
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | (defwidget calendar-win [] | ||||||
|  |   (box | ||||||
|  |     :class "calendar-win" | ||||||
|  |     (calendar))) | ||||||
|  |  | ||||||
|  | (defwindow calendar | ||||||
|  |   :monitor 0 | ||||||
|  |   :geometry (geometry | ||||||
|  |     :x "0%" | ||||||
|  |     :y "0%" | ||||||
|  |   	:anchor "top right" | ||||||
|  |     :width "0px" | ||||||
|  |     :height "0px") | ||||||
|  |   (calendar-win)) | ||||||
							
								
								
									
										188
									
								
								home/gui/eww/windows/system.yuck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										188
									
								
								home/gui/eww/windows/system.yuck
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,188 @@ | |||||||
|  | (defwidget system-menu [] | ||||||
|  |   (box | ||||||
|  |     :class "system-menu-box" | ||||||
|  |     :space-evenly false | ||||||
|  |     :orientation "v" | ||||||
|  |     (centerbox | ||||||
|  |       :class "top-row" | ||||||
|  |       (box | ||||||
|  |         (label | ||||||
|  |           :class "time" | ||||||
|  |           :text "${time.hour}:${time.minute}") | ||||||
|  |         (box | ||||||
|  |           :class "date-box" | ||||||
|  |           :space-evenly false | ||||||
|  |           (label | ||||||
|  |             :class "date" | ||||||
|  |             :text {time.date} | ||||||
|  |           ) | ||||||
|  |           (label | ||||||
|  |             :class "day" | ||||||
|  |             :text {time.day} | ||||||
|  |           ) | ||||||
|  |         ) | ||||||
|  |       ) | ||||||
|  |       (label) | ||||||
|  |       (box | ||||||
|  |         :space-evenly false | ||||||
|  |         :halign "end" | ||||||
|  |         (button | ||||||
|  |           :halign "end" | ||||||
|  |           :class "power-button icon" | ||||||
|  |           :onclick "wlogout -p layer-shell -c 10 -m 500 &" | ||||||
|  |           "" | ||||||
|  |         ) | ||||||
|  |       ) | ||||||
|  |     ) | ||||||
|  |  | ||||||
|  |     (centerbox | ||||||
|  |       :class "system-row" | ||||||
|  |       (box | ||||||
|  |         :class "net-box" | ||||||
|  |         :space-evenly false | ||||||
|  |         :orientation "v" | ||||||
|  |         (box | ||||||
|  |           :class "element icon ${net.class}" | ||||||
|  |           (button | ||||||
|  |             :class "net-button" | ||||||
|  |             :onclick "scripts/net toggle" | ||||||
|  |             {net.icon} | ||||||
|  |           ) | ||||||
|  |         ) | ||||||
|  |         (label | ||||||
|  |           :text {net.name} | ||||||
|  |           :xalign 0.5 | ||||||
|  |           :limit-width 15 | ||||||
|  |         ) | ||||||
|  |       ) | ||||||
|  |  | ||||||
|  |       (box | ||||||
|  |         :class "flightmode-box" | ||||||
|  |         :space-evenly false | ||||||
|  |         :orientation "v" | ||||||
|  |         (box | ||||||
|  |           :class "element" | ||||||
|  |           (button | ||||||
|  |             :class "flightmode-button" | ||||||
|  |             :onclick "scripts/flightmode toggle" | ||||||
|  |             flightmode | ||||||
|  |           ) | ||||||
|  |         ) | ||||||
|  |         (label | ||||||
|  |           :text "Flight Mode" | ||||||
|  |           :xalign 0.5 | ||||||
|  |           :limit-width 16 | ||||||
|  |         ) | ||||||
|  |       ) | ||||||
|  |  | ||||||
|  |       (box | ||||||
|  |         :class "powermode-box" | ||||||
|  |         :space-evenly false | ||||||
|  |         :orientation "v" | ||||||
|  |         (box | ||||||
|  |           :class "element" | ||||||
|  |           (button | ||||||
|  |             :class "powermode-button" | ||||||
|  |             :onclick "scripts/powermode toggle" | ||||||
|  |             powermode)) | ||||||
|  |         (label | ||||||
|  |           :text "Power Mode" | ||||||
|  |           :xalign 0.5 | ||||||
|  |           :limit-width 16))) | ||||||
|  |  | ||||||
|  |     (box | ||||||
|  |       :class "sliders" | ||||||
|  |       :orientation "v" | ||||||
|  |       (box | ||||||
|  |         :class "volume-slider-box" | ||||||
|  |         :space-evenly false | ||||||
|  |         (button | ||||||
|  |           :class "volume-icon icon" | ||||||
|  |           :onclick "scripts/volume mute SINK" | ||||||
|  |           {volume.icon}) | ||||||
|  |         (scale | ||||||
|  |           :class "volume-bar" | ||||||
|  |           :value {volume.percent} | ||||||
|  |           :onchange "scripts/volume setvol SINK {}")) | ||||||
|  |       (box | ||||||
|  |         :class "brightness-slider-box" | ||||||
|  |         :space-evenly false | ||||||
|  |         (button | ||||||
|  |           :class "brightness-slider-icon icon" | ||||||
|  |           {brightness.icon}) | ||||||
|  |         (scale | ||||||
|  |           :class "brightness-bar"  | ||||||
|  |           :value {brightness.percent} | ||||||
|  |           :onchange "brillo -S {}"))) | ||||||
|  |  | ||||||
|  |     (box | ||||||
|  |       :class "system-info-box" | ||||||
|  |  | ||||||
|  |       ; cpu | ||||||
|  |       (box | ||||||
|  |         :class "sys-box" | ||||||
|  |         :space-evenly false | ||||||
|  |         :halign "start" | ||||||
|  |         (circular-progress | ||||||
|  |           :value "${EWW_CPU.avg}" | ||||||
|  |           :class "sys-cpu" | ||||||
|  |           :thickness 3 | ||||||
|  |           (label | ||||||
|  |             :text "" | ||||||
|  |             :class "sys-icon-cpu icon")) | ||||||
|  |         (box | ||||||
|  |           :orientation "v" | ||||||
|  |           :vexpand false | ||||||
|  |           (label | ||||||
|  |             :text "CPU" | ||||||
|  |             :halign "start" | ||||||
|  |             :class "sys-text-cpu") | ||||||
|  |           (label | ||||||
|  |             :text "${round(EWW_CPU.avg,2)}%" | ||||||
|  |             :halign "start" | ||||||
|  |             :class "sys-text-sub") | ||||||
|  |           (label | ||||||
|  |             :text "${EWW_CPU.cores[0].freq} MHz" | ||||||
|  |             :halign "start" | ||||||
|  |             :class "sys-text-sub"))) | ||||||
|  |  | ||||||
|  |       ; memory | ||||||
|  |       (box | ||||||
|  |         :class "sys-box" | ||||||
|  |         :space-evenly false | ||||||
|  |         :halign "end" | ||||||
|  |         (circular-progress | ||||||
|  |           :value {memory.percent} | ||||||
|  |           :class "sys-mem" | ||||||
|  |           :thickness 3 | ||||||
|  |           (label | ||||||
|  |             :text "" | ||||||
|  |             :class "sys-icon-mem icon")) | ||||||
|  |         (box | ||||||
|  |           :orientation "v" | ||||||
|  |           (label | ||||||
|  |             :text "RAM" | ||||||
|  |             :halign "start" | ||||||
|  |             :class "sys-text-mem") | ||||||
|  |           (label | ||||||
|  |             :text "${memory.used} | ${memory.total}" | ||||||
|  |             :halign "start" | ||||||
|  |             :class "sys-text-sub" | ||||||
|  |           ) | ||||||
|  |         ) | ||||||
|  |       ) | ||||||
|  |     ) | ||||||
|  |     (label) | ||||||
|  |   ) | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | (defwindow system-menu | ||||||
|  |   :stacking "fg"  | ||||||
|  |   :monitor 0 | ||||||
|  |   :geometry (geometry | ||||||
|  |     :x "0" | ||||||
|  |     :y "0" | ||||||
|  |     :width "0%" | ||||||
|  |     :height "0%" | ||||||
|  |     :anchor "right top") | ||||||
|  |   (system-menu)) | ||||||
							
								
								
									
										23
									
								
								home/gui/firefox/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										23
									
								
								home/gui/firefox/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,23 @@ | |||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   programs.firefox = { | ||||||
|  |     enable = true; | ||||||
|  |     profiles = { | ||||||
|  |       main = { | ||||||
|  |         id = 0; | ||||||
|  |         settings = { | ||||||
|  |           "browser.uidensity" = 1; | ||||||
|  |           "privacy.trackingprotection.enabled" = true; | ||||||
|  |           "privacy.trackingprotection.socialtracking.enabled" = true; | ||||||
|  |           "privacy.trackingprotection.socialtracking.annotate.enabled" = true; | ||||||
|  |           "services.sync.declinedEngines" = "passwords"; | ||||||
|  |           "services.sync.engine.passwords" = false; | ||||||
|  |           "toolkit.legacyUserProfileCustomizations.stylesheets" = true; | ||||||
|  |         }; | ||||||
|  |         userChrome = builtins.readFile ./userChrome.css; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |  } | ||||||
							
								
								
									
										14
									
								
								home/gui/firefox/userChrome.css
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								home/gui/firefox/userChrome.css
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | #main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar > .toolbar-items { | ||||||
|  |     opacity: 0; | ||||||
|  |     pointer-events: none; | ||||||
|  | } | ||||||
|  | #main-window:not([tabsintitlebar="true"]) #TabsToolbar { | ||||||
|  |     visibility: collapse !important; | ||||||
|  | } | ||||||
|  | #sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header { | ||||||
|  |     display: none; | ||||||
|  | } | ||||||
|  | .tab { | ||||||
|  |     margin-left: 1px; | ||||||
|  |     margin-right: 1px; | ||||||
|  | } | ||||||
							
								
								
									
										61
									
								
								home/gui/kitty/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										61
									
								
								home/gui/kitty/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,61 @@ | |||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   programs.kitty = { | ||||||
|  |     enable = true; | ||||||
|  |     settings = { | ||||||
|  |         foreground = "#${config.colorScheme.colors.base07}"; | ||||||
|  |         background = "#${config.colorScheme.colors.base00}"; | ||||||
|  |         selection_foreground = "#${config.colorScheme.colors.base07}"; | ||||||
|  |         selection_background = "#${config.colorScheme.colors.base03}"; | ||||||
|  |         background_opacity = "0.9"; | ||||||
|  |          | ||||||
|  |         cursor = "#${config.colorScheme.colors.base05}"; | ||||||
|  |         cursor_text_color = "#${config.colorScheme.colors.base01}";  | ||||||
|  |          | ||||||
|  |         url_color = "#${config.colorScheme.colors.base05}"; | ||||||
|  |  | ||||||
|  |         active_border_color = "#${config.colorScheme.colors.base05}"; | ||||||
|  |         inactive_border_color = "#${config.colorScheme.colors.base03}"; | ||||||
|  |         bell_border_color = "#${config.colorScheme.colors.base09}"; | ||||||
|  |  | ||||||
|  |         wayland_titlebar_color = "system"; | ||||||
|  |         macos_titlebar_color = "system"; | ||||||
|  |  | ||||||
|  |         active_tab_foreground = "#${config.colorScheme.colors.base0C}"; | ||||||
|  |         active_tab_background = "#${config.colorScheme.colors.base01}"; | ||||||
|  |         inactive_tab_foreground = "#${config.colorScheme.colors.base06}"; | ||||||
|  |         inactive_tab_background = "#${config.colorScheme.colors.base00}"; | ||||||
|  |         tab_bar_background =  "#${config.colorScheme.colors.base02}"; | ||||||
|  |  | ||||||
|  |         mark1_foreground = "#${config.colorScheme.colors.base00}"; | ||||||
|  |         mark1_background = "#${config.colorScheme.colors.base0C}"; | ||||||
|  |         mark2_foreground = "#${config.colorScheme.colors.base00}"; | ||||||
|  |         mark2_background = "#${config.colorScheme.colors.base0E}"; | ||||||
|  |         mark3_foreground = "#${config.colorScheme.colors.base00}"; | ||||||
|  |         mark3_background = "#${config.colorScheme.colors.base0A}"; | ||||||
|  |  | ||||||
|  |         color0=  "#${config.colorScheme.colors.base00}"; | ||||||
|  |         color1=  "#${config.colorScheme.colors.base01}"; | ||||||
|  |         color2=  "#${config.colorScheme.colors.base02}"; | ||||||
|  |         color3=  "#${config.colorScheme.colors.base03}"; | ||||||
|  |         color4=  "#${config.colorScheme.colors.base04}"; | ||||||
|  |         color5=  "#${config.colorScheme.colors.base05}"; | ||||||
|  |         color6=  "#${config.colorScheme.colors.base06}"; | ||||||
|  |         color7=  "#${config.colorScheme.colors.base07}"; | ||||||
|  |         color8=  "#${config.colorScheme.colors.base08}"; | ||||||
|  |         color9=  "#${config.colorScheme.colors.base09}"; | ||||||
|  |         color10= "#${config.colorScheme.colors.base0A}"; | ||||||
|  |         color11= "#${config.colorScheme.colors.base0B}"; | ||||||
|  |         color12= "#${config.colorScheme.colors.base0C}"; | ||||||
|  |         color13= "#${config.colorScheme.colors.base0D}"; | ||||||
|  |         color14= "#${config.colorScheme.colors.base0E}"; | ||||||
|  |         color15= "#${config.colorScheme.colors.base0F}"; | ||||||
|  |    | ||||||
|  |         font_size = 12; | ||||||
|  |         window-padding-width = 15; | ||||||
|  |         # ... | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										11
									
								
								home/gui/mpv/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								home/gui/mpv/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | { | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   programs.mpv = { | ||||||
|  |     enable = true; | ||||||
|  |     scripts = with pkgs; [ | ||||||
|  |       mpvScripts.mpris | ||||||
|  |     ]; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										31
									
								
								home/gui/pipewire/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										31
									
								
								home/gui/pipewire/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,31 @@ | |||||||
|  | { | ||||||
|  |     ... | ||||||
|  | }:{ | ||||||
|  |  | ||||||
|  |   xdg.configFile."pipewire/pipewire-pulse.conf.d/desktop.conf".text = '' | ||||||
|  |   context.modules = [ | ||||||
|  |     {   name = libpipewire-module-loopback | ||||||
|  |         args = { | ||||||
|  |             node.description = "Desktop" | ||||||
|  |             node.name = "Desktop" | ||||||
|  |             audio.position = [ FL FR ] | ||||||
|  |             capture.props = { | ||||||
|  |                 media.class = Audio/Sink | ||||||
|  |                 node.name = "Desktop" | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     {   name = libpipewire-module-loopback | ||||||
|  |         args = { | ||||||
|  |             node.description = "Music" | ||||||
|  |             node.name = "Music" | ||||||
|  |             audio.position = [ FL FR ] | ||||||
|  |             capture.props = { | ||||||
|  |                 media.class = Audio/Sink | ||||||
|  |                 node.name = "Music" | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  |   ''; | ||||||
|  | } | ||||||
							
								
								
									
										42
									
								
								home/gui/theme/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										42
									
								
								home/gui/theme/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,42 @@ | |||||||
|  | {  | ||||||
|  |   pkgs,  | ||||||
|  |   inputs,  | ||||||
|  |   config, | ||||||
|  |   ...  | ||||||
|  | }: | ||||||
|  | let  | ||||||
|  |   colorVariant = " black"; | ||||||
|  |   gtkThemeFromScheme = import ./gtk-theme-gen.nix { inherit pkgs config; }; | ||||||
|  |   wallpaperGen = import ./wallpaper-gen.nix {inherit pkgs config; }; | ||||||
|  | in  | ||||||
|  | { | ||||||
|  |   home.pointerCursor = { | ||||||
|  |     package = pkgs.bibata-cursors; | ||||||
|  |     name = "Bibata-Modern-Classic"; | ||||||
|  |     size = 24; | ||||||
|  |     gtk.enable = true; | ||||||
|  |     x11.enable = true; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   gtk = { | ||||||
|  |     enable = true; | ||||||
|  |     theme = { | ||||||
|  |       name = "${config.colorscheme.slug}"; | ||||||
|  |       package = gtkThemeFromScheme; | ||||||
|  |     }; | ||||||
|  |     iconTheme = { | ||||||
|  |       name = "tela-circle-icon-theme"; | ||||||
|  |       package = pkgs.tela-circle-icon-theme; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   qt = { | ||||||
|  |     enable = true; | ||||||
|  |     platformTheme = "gtk"; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   home.packages = [ | ||||||
|  |     wallpaperGen | ||||||
|  |   ]; | ||||||
|  |    | ||||||
|  | } | ||||||
							
								
								
									
										69
									
								
								home/gui/theme/gtk-theme-gen.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										69
									
								
								home/gui/theme/gtk-theme-gen.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,69 @@ | |||||||
|  | { pkgs, config }: | ||||||
|  |  | ||||||
|  | let | ||||||
|  |   rendersvg = pkgs.runCommand "rendersvg" { } '' | ||||||
|  |     mkdir -p $out/bin | ||||||
|  |     ln -s ${pkgs.resvg}/bin/resvg $out/bin/rendersvg | ||||||
|  |   ''; | ||||||
|  |   scheme = config.colorScheme; | ||||||
|  | in | ||||||
|  | pkgs.stdenv.mkDerivation rec { | ||||||
|  |   name = "generated-gtk-theme-${scheme.slug}"; | ||||||
|  |   src = pkgs.fetchFromGitHub { | ||||||
|  |     owner = "nana-4"; | ||||||
|  |     repo = "materia-theme"; | ||||||
|  |     rev = "6e5850388a25f424b8193fe4523504d1dc364175"; | ||||||
|  |     sha256 = "sha256-I6hpH0VTmftU4+/pRbztuTQcBKcOFBFbNZXJL/2bcgU="; | ||||||
|  |   }; | ||||||
|  |   buildInputs = with pkgs; [ | ||||||
|  |     sassc | ||||||
|  |     bc | ||||||
|  |     which | ||||||
|  |     rendersvg | ||||||
|  |     meson | ||||||
|  |     ninja | ||||||
|  |     nodePackages.sass | ||||||
|  |     gtk4.dev | ||||||
|  |     optipng | ||||||
|  |   ]; | ||||||
|  |   phases = [ "unpackPhase" "installPhase" ]; | ||||||
|  |   installPhase = '' | ||||||
|  |     HOME=/build | ||||||
|  |     chmod 777 -R . | ||||||
|  |     patchShebangs . | ||||||
|  |     mkdir -p $out/share/themes | ||||||
|  |     mkdir bin | ||||||
|  |     sed -e 's/handle-horz-.*//' -e 's/handle-vert-.*//' -i ./src/gtk-2.0/assets.txt | ||||||
|  |  | ||||||
|  |     cat > /build/gtk-colors << EOF | ||||||
|  |       BG=${scheme.colors.base00} | ||||||
|  |       FG=${scheme.colors.base07} | ||||||
|  |       HDR_BG=${scheme.colors.base00} | ||||||
|  |       HDR_FG=${scheme.colors.base07} | ||||||
|  |       SEL_BG=${scheme.colors.base03} | ||||||
|  |       SEL_FG=${scheme.colors.base07} | ||||||
|  |       TXT_BG=${scheme.colors.base01} | ||||||
|  |       TXT_FG=${scheme.colors.base07} | ||||||
|  |       BTN_BG=${scheme.colors.base01} | ||||||
|  |       BTN_FG=${scheme.colors.base07} | ||||||
|  |       HDR_BTN_BG=${scheme.colors.base01} | ||||||
|  |       HDR_BTN_FG=${scheme.colors.base07} | ||||||
|  |       MENU_BG=${scheme.colors.base00} | ||||||
|  |       MENU_FG=${scheme.colors.base07} | ||||||
|  |       ACCENT_BG=${scheme.colors.base0C} | ||||||
|  |       ACCENT_FG=${scheme.colors.base00} | ||||||
|  |       MATERIA_SURFACE=${scheme.colors.base01} | ||||||
|  |       MATERIA_VIEW=${scheme.colors.base00} | ||||||
|  |       WM_BORDER_FOCUS=${scheme.colors.base02} | ||||||
|  |       WM_BORDER_UNFOCUS=${scheme.colors.base02} | ||||||
|  |       UNITY_DEFAULT_LAUNCHER_STYLE=False | ||||||
|  |       ROUNDNESS=7 | ||||||
|  |       NAME=${scheme.slug} | ||||||
|  |       MATERIA_STYLE_COMPACT=True | ||||||
|  |     EOF | ||||||
|  |  | ||||||
|  |     echo "Changing colours:" | ||||||
|  |     ./change_color.sh -o ${scheme.slug} /build/gtk-colors -i False -t "$out/share/themes" | ||||||
|  |     chmod 555 -R . | ||||||
|  |   ''; | ||||||
|  | } | ||||||
							
								
								
									
										21
									
								
								home/gui/theme/selwp.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								home/gui/theme/selwp.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | #!/bin/sh | ||||||
|  |  | ||||||
|  | NIXDIR=/nix/store/kiy3icfvkh4xmla6z3ll9mbp3h0hnij2-generated-wallpaper-sorahiro-soft | ||||||
|  | WPDIR=$NIXDIR/share/wallpaper/ | ||||||
|  |  | ||||||
|  | IMGS=$(find $WPDIR -type f -print) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | RES=$(echo "$IMGS" | awk -v dir="$WPDIR" '{ | ||||||
|  |     image_file = $0;  | ||||||
|  |     gsub("^" dir, "", image_file); | ||||||
|  |     print "img:" $0 ":text:" image_file; | ||||||
|  | }') | ||||||
|  |  | ||||||
|  | IMG=$WPDIR/$(echo "$RES" | wofi --dmenu --allow-images show-icons true -theme-str '#window { width: 50%; }' -p "Choose wallpaper:") | ||||||
|  |  | ||||||
|  |  | ||||||
|  | IMG=$(echo "$IMG" | awk -F ':' '{print $2}') | ||||||
|  |  | ||||||
|  | echo "$IMG" | ||||||
|  | swww img $IMG | ||||||
							
								
								
									
										36
									
								
								home/gui/theme/wallpaper-gen.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								home/gui/theme/wallpaper-gen.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | |||||||
|  | { pkgs, config }: | ||||||
|  |  | ||||||
|  | let | ||||||
|  |   scheme = config.colorScheme; | ||||||
|  |   colors = scheme.colors; | ||||||
|  |   dither = "burkes"; # none | floyd-steinberg | atkinson | jjn | burkes | sierra | sierra-lite | ||||||
|  | in | ||||||
|  | pkgs.stdenv.mkDerivation rec { | ||||||
|  |     name = "generated-wallpaper-${scheme.slug}"; | ||||||
|  |     version = "e7c1034d2f89d56877e1d2a1fac33087"; | ||||||
|  |     src = pkgs.fetchFromGitea { | ||||||
|  |         domain = "git.helcel.net"; | ||||||
|  |         owner = "sora"; | ||||||
|  |         repo = "nixconfig-wallpaper"; | ||||||
|  |         rev = version; | ||||||
|  |         sha256 = "sha256-LRdWXGPwQYbWVGqXUMaRcVt3nGX6Ih0VxchMqH5NxtU="; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     buildInputs = with pkgs; [ | ||||||
|  |         custom.repalette | ||||||
|  |         nodejs | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|  |     configurePhase = '' | ||||||
|  |         echo "${colors.base08},${colors.base09},${colors.base0A},${colors.base0B},${colors.base0C},${colors.base0D},${colors.base0E},${colors.base0F}" > palette.in | ||||||
|  |     ''; | ||||||
|  |  | ||||||
|  |     buildPhase = '' | ||||||
|  |         make DITHER=${dither} all | ||||||
|  |     ''; | ||||||
|  |  | ||||||
|  |     installPhase = '' | ||||||
|  |         mkdir -p $out/share/wallpaper | ||||||
|  |         cp build/* $out/share/wallpaper/ | ||||||
|  |     ''; | ||||||
|  | } | ||||||
							
								
								
									
										92
									
								
								home/gui/various/btop.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								home/gui/various/btop.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,92 @@ | |||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   xdg.configFile."btop/themes/${config.colorScheme.slug}.theme".text = '' | ||||||
|  |  | ||||||
|  | # Theme generated from: ${config.colorScheme.slug} | ||||||
|  |  | ||||||
|  | # Main background, empty for terminal default, need to be empty if you want transparent background | ||||||
|  | theme[main_bg]="#${config.colorScheme.colors.base00}" | ||||||
|  |  | ||||||
|  | # Main text color | ||||||
|  | theme[main_fg]="#${config.colorScheme.colors.base07}" | ||||||
|  |  | ||||||
|  | # Title color for boxes | ||||||
|  | theme[title]="#${config.colorScheme.colors.base07}" | ||||||
|  |  | ||||||
|  | # Higlight color for keyboard shortcuts | ||||||
|  | theme[hi_fg]="#${config.colorScheme.colors.base0E}" | ||||||
|  |  | ||||||
|  | # Background color of selected item in processes box | ||||||
|  | theme[selected_bg]="#${config.colorScheme.colors.base0C}" | ||||||
|  |  | ||||||
|  | # Foreground color of selected item in processes box | ||||||
|  | theme[selected_fg]="#${config.colorScheme.colors.base00}" | ||||||
|  |  | ||||||
|  | # Color of inactive/disabled text | ||||||
|  | theme[inactive_fg]="#${config.colorScheme.colors.base02}" | ||||||
|  |  | ||||||
|  | # Color of text appearing on top of graphs, i.e uptime and current network graph scaling | ||||||
|  | theme[graph_text]="#${config.colorScheme.colors.base05}" | ||||||
|  |  | ||||||
|  | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text | ||||||
|  | theme[proc_misc]="#${config.colorScheme.colors.base0C}" | ||||||
|  |  | ||||||
|  | # Cpu box outline color | ||||||
|  | theme[cpu_box]="#${config.colorScheme.colors.base02}" | ||||||
|  |  | ||||||
|  | # Memory/disks box outline color | ||||||
|  | theme[mem_box]="#${config.colorScheme.colors.base02}" | ||||||
|  |  | ||||||
|  | # Net up/down box outline color | ||||||
|  | theme[net_box]="#${config.colorScheme.colors.base02}" | ||||||
|  |  | ||||||
|  | # Processes box outline color | ||||||
|  | theme[proc_box]="#${config.colorScheme.colors.base02}" | ||||||
|  |  | ||||||
|  | # Box divider line and small boxes line color | ||||||
|  | theme[div_line]="#${config.colorScheme.colors.base02}" | ||||||
|  |  | ||||||
|  | # Temperature graph colors | ||||||
|  | theme[temp_start]="#${config.colorScheme.colors.base0D}" | ||||||
|  | theme[temp_mid]="" | ||||||
|  | theme[temp_end]="#${config.colorScheme.colors.base0F}" | ||||||
|  |  | ||||||
|  | # CPU graph colors | ||||||
|  | theme[cpu_start]="#${config.colorScheme.colors.base0C}" | ||||||
|  | theme[cpu_mid]="" | ||||||
|  | theme[cpu_end]="#${config.colorScheme.colors.base0C}" | ||||||
|  |  | ||||||
|  | # Mem/Disk free meter | ||||||
|  | theme[free_start]="#${config.colorScheme.colors.base0A}" | ||||||
|  | theme[free_mid]="" | ||||||
|  | theme[free_end]="#${config.colorScheme.colors.base0A}" | ||||||
|  |  | ||||||
|  | # Mem/Disk cached meter | ||||||
|  | theme[cached_start]="#${config.colorScheme.colors.base09}" | ||||||
|  | theme[cached_mid]="" | ||||||
|  | theme[cached_end]="#${config.colorScheme.colors.base09}" | ||||||
|  |  | ||||||
|  | # Mem/Disk available meter | ||||||
|  | theme[available_start]="#${config.colorScheme.colors.base0B}" | ||||||
|  | theme[available_mid]="" | ||||||
|  | theme[available_end]="#${config.colorScheme.colors.base0B}" | ||||||
|  |  | ||||||
|  | # Mem/Disk used meter | ||||||
|  | theme[used_start]="#${config.colorScheme.colors.base08}" | ||||||
|  | theme[used_mid]="" | ||||||
|  | theme[used_end]="#${config.colorScheme.colors.base08}" | ||||||
|  |  | ||||||
|  | # Download graph colors | ||||||
|  | theme[download_start]="#${config.colorScheme.colors.base02}" | ||||||
|  | theme[download_mid]="" | ||||||
|  | theme[download_end]="#${config.colorScheme.colors.base0D}" | ||||||
|  |  | ||||||
|  | # Upload graph colors | ||||||
|  | theme[upload_start]="#${config.colorScheme.colors.base02}" | ||||||
|  | theme[upload_mid]="" | ||||||
|  | theme[upload_end]="#${config.colorScheme.colors.base0E}" | ||||||
|  |   | ||||||
|  |  ''; | ||||||
|  | } | ||||||
							
								
								
									
										14
									
								
								home/gui/various/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								home/gui/various/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | { | ||||||
|  |   pkgs, | ||||||
|  |   lib, | ||||||
|  |   inputs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     ./openttd.nix | ||||||
|  |     ./btop.nix | ||||||
|  |   ]; | ||||||
|  |  | ||||||
|  |   home.packages = with pkgs; [ | ||||||
|  |    ]; | ||||||
|  | } | ||||||
							
								
								
									
										769
									
								
								home/gui/various/openttd.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										769
									
								
								home/gui/various/openttd.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,769 @@ | |||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |  | ||||||
|  |   xdg.configFile."openttd/openttd.cfg".text = '' | ||||||
|  | [misc] | ||||||
|  | display_opt = SHOW_TOWN_NAMES|SHOW_STATION_NAMES|SHOW_SIGNS|FULL_ANIMATION|FULL_DETAIL|WAYPOINTS|SHOW_COMPETITOR_SIGNS | ||||||
|  | extra_display_opt = SHOW_MONEY_TEXT_EFFECTS | ||||||
|  | fullscreen = false | ||||||
|  | video_hw_accel = true | ||||||
|  | video_vsync = true | ||||||
|  | support8bpp = no | ||||||
|  | graphicsset =  | ||||||
|  | soundsset = "NoSound" | ||||||
|  | musicset =  | ||||||
|  | videodriver =  | ||||||
|  | musicdriver =  | ||||||
|  | sounddriver =  | ||||||
|  | blitter =  | ||||||
|  | language = english.lng | ||||||
|  | resolution = 1920,1080 | ||||||
|  | screenshot_format =  | ||||||
|  | savegame_format =  | ||||||
|  | rightclick_emulate = false | ||||||
|  | small_font = IBM Plex Mono | ||||||
|  | medium_font = IBM Plex Mono | ||||||
|  | large_font = IBM Plex Mono | ||||||
|  | mono_font = IBM Plex Mono | ||||||
|  | small_size = 8 | ||||||
|  | medium_size = 11 | ||||||
|  | large_size = 14 | ||||||
|  | mono_size = 11 | ||||||
|  | small_aa = true | ||||||
|  | medium_aa = true | ||||||
|  | large_aa = true | ||||||
|  | mono_aa = true | ||||||
|  | sprite_cache_size_px = 128 | ||||||
|  | player_face = 0 | ||||||
|  | transparency_options = 511 | ||||||
|  | transparency_locks = 0 | ||||||
|  | invisibility_options = 2 | ||||||
|  | keyboard =  | ||||||
|  | keyboard_caps =  | ||||||
|  | last_newgrf_count = 27 | ||||||
|  | gui_zoom = 2 | ||||||
|  | font_zoom = 2 | ||||||
|  | zoning_overlay_inner = 0 | ||||||
|  | zoning_overlay_outer = 0 | ||||||
|  | cargo_payment_x_mode = 0 | ||||||
|  | extra_transparency_options = 1 | ||||||
|  | extra_transparency_locks = 0 | ||||||
|  | gui_scale = -1 | ||||||
|  |  | ||||||
|  | [difficulty] | ||||||
|  | max_no_competitors = 0 | ||||||
|  | number_towns = 2 | ||||||
|  | industry_density = 3 | ||||||
|  | max_loan = 300000 | ||||||
|  | initial_interest = 2 | ||||||
|  | vehicle_costs = 0 | ||||||
|  | competitor_speed = 2 | ||||||
|  | vehicle_breakdowns = 1 | ||||||
|  | subsidy_multiplier = 2 | ||||||
|  | construction_cost = 0 | ||||||
|  | terrain_type = 2 | ||||||
|  | quantity_sea_lakes = 1 | ||||||
|  | economy = false | ||||||
|  | line_reverse_mode = false | ||||||
|  | disasters = false | ||||||
|  | town_council_tolerance = 0 | ||||||
|  | money_cheat_in_multiplayer = false | ||||||
|  | rename_towns_in_multiplayer = false | ||||||
|  | vehicle_costs_in_depot = 1 | ||||||
|  | vehicle_costs_when_stopped = 1 | ||||||
|  | subsidy_duration = 1 | ||||||
|  | override_town_settings_in_multiplayer = false | ||||||
|  |  | ||||||
|  | [game_creation] | ||||||
|  | town_name = 21 | ||||||
|  | landscape = temperate | ||||||
|  | heightmap_height = 26 | ||||||
|  | snow_line_height = 10 | ||||||
|  | rainforest_line_height = 8 | ||||||
|  | climate_threshold_mode = 0 | ||||||
|  | snow_coverage = 20 | ||||||
|  | desert_coverage = 50 | ||||||
|  | starting_year = 1900 | ||||||
|  | ending_year = 2050 | ||||||
|  | land_generator = 1 | ||||||
|  | oil_refinery_limit = 32 | ||||||
|  | tgen_smoothness = 1 | ||||||
|  | variety = 3 | ||||||
|  | generation_seed = 2479758246 | ||||||
|  | generation_unique_id = 0 | ||||||
|  | tree_placer = 2 | ||||||
|  | heightmap_rotation = 1 | ||||||
|  | se_flat_world_height = 1 | ||||||
|  | map_x = 7 | ||||||
|  | map_y = 7 | ||||||
|  | water_borders = 15 | ||||||
|  | custom_town_number = 1 | ||||||
|  | custom_terrain_type = 30 | ||||||
|  | custom_sea_level = 1 | ||||||
|  | min_river_length = 16 | ||||||
|  | river_route_random = 5 | ||||||
|  | rivers_top_of_hill = true | ||||||
|  | river_tropics_width = 5 | ||||||
|  | lake_size = 10 | ||||||
|  | lakes_allowed_in_deserts = false | ||||||
|  | amount_of_rivers = 2 | ||||||
|  | amount_of_rocks = 5 | ||||||
|  | height_affects_rocks = 0 | ||||||
|  | build_public_roads = 2 | ||||||
|  | custom_industry_number = 1 | ||||||
|  | lake_tropics_width = 5 | ||||||
|  | coast_tropics_width = 0 | ||||||
|  |  | ||||||
|  | [vehicle] | ||||||
|  | road_side = right | ||||||
|  | train_acceleration_model = 1 | ||||||
|  | train_braking_model = 0 | ||||||
|  | roadveh_acceleration_model = 1 | ||||||
|  | train_slope_steepness = 3 | ||||||
|  | roadveh_slope_steepness = 7 | ||||||
|  | max_train_length = 12 | ||||||
|  | smoke_amount = 1 | ||||||
|  | never_expire_vehicles = false | ||||||
|  | no_expire_vehicles_after = 0 | ||||||
|  | no_introduce_vehicles_after = 0 | ||||||
|  | max_trains = 500 | ||||||
|  | max_roadveh = 500 | ||||||
|  | max_aircraft = 0 | ||||||
|  | max_ships = 300 | ||||||
|  | wagon_speed_limits = true | ||||||
|  | disable_elrails = false | ||||||
|  | freight_trains = 1 | ||||||
|  | plane_speed = 4 | ||||||
|  | dynamic_engines = true | ||||||
|  | plane_crashes = 2 | ||||||
|  | improved_breakdowns = false | ||||||
|  | ship_collision_avoidance = true | ||||||
|  | no_train_crash_other_company = false | ||||||
|  | flip_direction_all_trains = false | ||||||
|  | roadveh_articulated_overtaking = true | ||||||
|  | drive_through_train_depot = false | ||||||
|  | extend_vehicle_life = 0 | ||||||
|  | adjacent_crossings = true | ||||||
|  | safer_crossings = true | ||||||
|  | pay_for_repair = true | ||||||
|  | repair_cost = 100 | ||||||
|  | servint_ispercent = false | ||||||
|  | servint_trains = 150 | ||||||
|  | servint_roadveh = 150 | ||||||
|  | servint_ships = 360 | ||||||
|  | servint_aircraft = 100 | ||||||
|  | auto_timetable_by_default = true | ||||||
|  | auto_separation_by_default = true | ||||||
|  | slow_road_vehicles_in_curves = true | ||||||
|  | train_speed_adaptation = false | ||||||
|  | realistic_braking_aspect_limited = 0 | ||||||
|  | through_load_speed_limit = 15 | ||||||
|  | roadveh_cant_quantum_tunnel = false | ||||||
|  | rail_depot_speed_limit = 61 | ||||||
|  |  | ||||||
|  | [construction] | ||||||
|  | map_height_limit = 0 | ||||||
|  | build_on_slopes = true | ||||||
|  | command_pause_level = 2 | ||||||
|  | enable_build_river = true | ||||||
|  | enable_remove_water = true | ||||||
|  | terraform_per_64k_frames = 4194304 | ||||||
|  | terraform_frame_burst = 4096 | ||||||
|  | clear_per_64k_frames = 4194304 | ||||||
|  | clear_frame_burst = 4096 | ||||||
|  | tree_per_64k_frames = 4194304 | ||||||
|  | tree_frame_burst = 4096 | ||||||
|  | purchase_land_per_64k_frames = 1048576 | ||||||
|  | purchase_land_frame_burst = 1024 | ||||||
|  | build_object_per_64k_frames = 2097152 | ||||||
|  | build_object_frame_burst = 2048 | ||||||
|  | autoslope = true | ||||||
|  | extra_dynamite = true | ||||||
|  | max_bridge_length = 128 | ||||||
|  | max_bridge_height = 12 | ||||||
|  | max_tunnel_length = 128 | ||||||
|  | chunnel = true | ||||||
|  | train_signal_side = 1 | ||||||
|  | road_stop_on_town_road = true | ||||||
|  | road_stop_on_competitor_road = true | ||||||
|  | road_custom_bridge_heads = true | ||||||
|  | rail_custom_bridge_heads = true | ||||||
|  | allow_grf_objects_under_bridges = false | ||||||
|  | allow_stations_under_bridges = false | ||||||
|  | allow_road_stops_under_bridges = true | ||||||
|  | allow_docks_under_bridges = true | ||||||
|  | purchase_land_permitted = 2 | ||||||
|  | build_object_area_permitted = true | ||||||
|  | raw_industry_construction = 0 | ||||||
|  | industry_platform = 1 | ||||||
|  | maximum_signal_evaluations = 256 | ||||||
|  | freeform_edges = true | ||||||
|  | extra_tree_placement = 2 | ||||||
|  | trees_around_snow_line_enabled = true | ||||||
|  | trees_around_snow_line_range = 8 | ||||||
|  | tree_growth_rate = 0 | ||||||
|  | no_expire_objects_after = 0 | ||||||
|  | ignore_object_intro_dates = false | ||||||
|  | trees_around_snow_line_dynamic_range = 75 | ||||||
|  |  | ||||||
|  | [station] | ||||||
|  | never_expire_airports = false | ||||||
|  | station_spread = 16 | ||||||
|  | modified_catchment = true | ||||||
|  | catchment_increase = 0 | ||||||
|  | cargo_class_rating_wait_time = false | ||||||
|  | station_size_rating_cargo_amount = false | ||||||
|  | serve_neutral_industries = true | ||||||
|  | adjacent_stations = true | ||||||
|  | distant_join_stations = true | ||||||
|  | station_delivery_mode = 0 | ||||||
|  |  | ||||||
|  | [economy] | ||||||
|  | town_layout = 1 | ||||||
|  | allow_town_roads = true | ||||||
|  | found_town = 1 | ||||||
|  | allow_town_level_crossings = true | ||||||
|  | town_cargogen_mode = 1 | ||||||
|  | town_cargo_scale_factor = 0 | ||||||
|  | industry_cargo_scale_factor = 0 | ||||||
|  | station_noise_level = false | ||||||
|  | inflation = false | ||||||
|  | inflation_fixed_dates = true | ||||||
|  | day_length_factor = 5 | ||||||
|  | multiple_industry_per_town = false | ||||||
|  | bribe = true | ||||||
|  | exclusive_rights = true | ||||||
|  | fund_buildings = true | ||||||
|  | fund_roads = true | ||||||
|  | give_money = true | ||||||
|  | type = 1 | ||||||
|  | allow_shares = false | ||||||
|  | min_years_for_shares = 6 | ||||||
|  | feeder_payment_share = 75 | ||||||
|  | town_growth_rate = 2 | ||||||
|  | town_zone_calc_mode = false | ||||||
|  | town_zone_0_mult = 15 | ||||||
|  | town_zone_1_mult = 9 | ||||||
|  | town_zone_2_mult = 0 | ||||||
|  | town_zone_3_mult = 5 | ||||||
|  | town_zone_4_mult = 3 | ||||||
|  | city_zone_0_mult = 15 | ||||||
|  | city_zone_1_mult = 9 | ||||||
|  | city_zone_2_mult = 0 | ||||||
|  | city_zone_3_mult = 5 | ||||||
|  | city_zone_4_mult = 3 | ||||||
|  | town_growth_cargo_transported = 0 | ||||||
|  | larger_towns = 4 | ||||||
|  | initial_city_size = 2 | ||||||
|  | mod_road_rebuild = true | ||||||
|  | town_min_distance = 20 | ||||||
|  | infrastructure_sharing[0] = true | ||||||
|  | infrastructure_sharing[1] = true | ||||||
|  | infrastructure_sharing[2] = true | ||||||
|  | infrastructure_sharing[3] = false | ||||||
|  | sharing_fee[0] = 100 | ||||||
|  | sharing_fee[1] = 100 | ||||||
|  | sharing_fee[2] = 100 | ||||||
|  | sharing_fee[3] = 100 | ||||||
|  | sharing_payment_in_debt = true | ||||||
|  | dist_local_authority = 20 | ||||||
|  | town_noise_population[0] = 800 | ||||||
|  | town_noise_population[1] = 2000 | ||||||
|  | town_noise_population[2] = 4000 | ||||||
|  | infrastructure_maintenance = false | ||||||
|  | random_road_reconstruction = 0 | ||||||
|  | max_town_heightlevel = 255 | ||||||
|  | min_town_land_area = 0 | ||||||
|  | min_city_land_area = 75 | ||||||
|  | town_build_tunnels = 2 | ||||||
|  | town_max_road_slope = 4 | ||||||
|  | allow_town_bridges = true | ||||||
|  | disable_inflation_newgrf_flag = false | ||||||
|  | payment_algorithm = 1 | ||||||
|  |  | ||||||
|  | [linkgraph] | ||||||
|  | recalc_interval = 4 | ||||||
|  | recalc_time = 16 | ||||||
|  | recalc_not_scaled_by_daylength = true | ||||||
|  | distribution_pax = 2 | ||||||
|  | distribution_mail = 2 | ||||||
|  | distribution_armoured = 0 | ||||||
|  | distribution_default = 0 | ||||||
|  | accuracy = 16 | ||||||
|  | demand_distance = 100 | ||||||
|  | demand_size = 100 | ||||||
|  | short_path_saturation = 80 | ||||||
|  | aircraft_link_scale = 100 | ||||||
|  |  | ||||||
|  | [pf] | ||||||
|  | forbid_90_deg = false | ||||||
|  | roadveh_queue = true | ||||||
|  | reroute_rv_on_layout_change = 1 | ||||||
|  | pathfinder_for_trains = 2 | ||||||
|  | pathfinder_for_roadvehs = 2 | ||||||
|  | pathfinder_for_ships = 2 | ||||||
|  | reverse_at_signals = false | ||||||
|  | wait_oneway_signal = 15 | ||||||
|  | wait_twoway_signal = 41 | ||||||
|  | wait_for_pbs_path = 30 | ||||||
|  | reserve_paths = false | ||||||
|  | path_backoff_interval = 20 | ||||||
|  | npf.npf_max_search_nodes = 10000 | ||||||
|  | npf.npf_rail_firstred_penalty = 1000 | ||||||
|  | npf.npf_rail_firstred_exit_penalty = 10000 | ||||||
|  | npf.npf_rail_lastred_penalty = 1000 | ||||||
|  | npf.npf_rail_station_penalty = 100 | ||||||
|  | npf.npf_rail_slope_penalty = 100 | ||||||
|  | npf.npf_rail_curve_penalty = 100 | ||||||
|  | npf.npf_rail_depot_reverse_penalty = 5000 | ||||||
|  | npf.npf_rail_pbs_cross_penalty = 300 | ||||||
|  | npf.npf_rail_pbs_signal_back_penalty = 1500 | ||||||
|  | npf.npf_buoy_penalty = 200 | ||||||
|  | npf.npf_water_curve_penalty = 100 | ||||||
|  | npf.npf_road_curve_penalty = 100 | ||||||
|  | npf.npf_crossing_penalty = 300 | ||||||
|  | npf.npf_road_drive_through_penalty = 800 | ||||||
|  | npf.npf_road_dt_occupied_penalty = 800 | ||||||
|  | npf.npf_road_bay_occupied_penalty = 1500 | ||||||
|  | npf.maximum_go_to_depot_penalty = 2000 | ||||||
|  | yapf.disable_node_optimization = false | ||||||
|  | yapf.max_search_nodes = 10000 | ||||||
|  | yapf.rail_firstred_twoway_eol = false | ||||||
|  | yapf.rail_firstred_penalty = 1000 | ||||||
|  | yapf.rail_firstred_exit_penalty = 10000 | ||||||
|  | yapf.rail_lastred_penalty = 1000 | ||||||
|  | yapf.rail_lastred_exit_penalty = 10000 | ||||||
|  | yapf.rail_station_penalty = 1000 | ||||||
|  | yapf.rail_slope_penalty = 200 | ||||||
|  | yapf.rail_curve45_penalty = 100 | ||||||
|  | yapf.rail_curve90_penalty = 600 | ||||||
|  | yapf.rail_depot_reverse_penalty = 5000 | ||||||
|  | yapf.rail_crossing_penalty = 300 | ||||||
|  | yapf.rail_look_ahead_max_signals = 10 | ||||||
|  | yapf.rail_look_ahead_signal_p0 = 500 | ||||||
|  | yapf.rail_look_ahead_signal_p1 = -100 | ||||||
|  | yapf.rail_look_ahead_signal_p2 = 5 | ||||||
|  | yapf.rail_pbs_cross_penalty = 300 | ||||||
|  | yapf.rail_pbs_station_penalty = 800 | ||||||
|  | yapf.rail_pbs_signal_back_penalty = 1500 | ||||||
|  | yapf.rail_doubleslip_penalty = 100 | ||||||
|  | yapf.rail_longer_platform_penalty = 800 | ||||||
|  | yapf.rail_longer_platform_per_tile_penalty = 0 | ||||||
|  | yapf.rail_shorter_platform_penalty = 4000 | ||||||
|  | yapf.rail_shorter_platform_per_tile_penalty = 0 | ||||||
|  | yapf.road_slope_penalty = 200 | ||||||
|  | yapf.road_curve_penalty = 100 | ||||||
|  | yapf.road_crossing_penalty = 300 | ||||||
|  | yapf.road_stop_penalty = 800 | ||||||
|  | yapf.road_stop_occupied_penalty = 800 | ||||||
|  | yapf.road_stop_bay_occupied_penalty = 1500 | ||||||
|  | yapf.maximum_go_to_depot_penalty = 2000 | ||||||
|  | yapf.ship_curve45_penalty = 100 | ||||||
|  | yapf.ship_curve90_penalty = 600 | ||||||
|  | back_of_one_way_pbs_waiting_point = true | ||||||
|  |  | ||||||
|  | [order] | ||||||
|  | no_servicing_if_no_breakdowns = true | ||||||
|  | improved_load = true | ||||||
|  | selectgoods = true | ||||||
|  | serviceathelipad = true | ||||||
|  | nonstop_only = false | ||||||
|  | gradual_loading = true | ||||||
|  |  | ||||||
|  | [script] | ||||||
|  | settings_profile = easy | ||||||
|  | script_max_opcode_till_suspend = 10000 | ||||||
|  | script_max_memory_megabytes = 1024 | ||||||
|  |  | ||||||
|  | [ai] | ||||||
|  | ai_in_multiplayer = true | ||||||
|  | ai_disable_veh_train = false | ||||||
|  | ai_disable_veh_roadveh = false | ||||||
|  | ai_disable_veh_aircraft = false | ||||||
|  | ai_disable_veh_ship = false | ||||||
|  |  | ||||||
|  | [locale] | ||||||
|  | currency = CHF | ||||||
|  | units_velocity = metric | ||||||
|  | units_power = si | ||||||
|  | units_weight = metric | ||||||
|  | units_volume = metric | ||||||
|  | units_force = si | ||||||
|  | units_height = si | ||||||
|  | digit_group_separator =  | ||||||
|  | digit_group_separator_currency =  | ||||||
|  | digit_decimal_separator =  | ||||||
|  | units_velocity_nautical = metric | ||||||
|  |  | ||||||
|  | [gui] | ||||||
|  | autosave = monthly | ||||||
|  | threaded_saves = true | ||||||
|  | date_format_in_default_names = iso | ||||||
|  | show_finances = true | ||||||
|  | auto_scrolling = 0 | ||||||
|  | scroll_mode = 0 | ||||||
|  | smooth_scroll = false | ||||||
|  | right_mouse_wnd_close = true | ||||||
|  | measure_tooltip = true | ||||||
|  | errmsg_duration = 5 | ||||||
|  | hover_delay_ms = 250 | ||||||
|  | osk_activation = disabled | ||||||
|  | toolbar_pos = 1 | ||||||
|  | statusbar_pos = 1 | ||||||
|  | window_snap_radius = 10 | ||||||
|  | window_soft_limit = 20 | ||||||
|  | zoom_min = 0 | ||||||
|  | zoom_max = 9 | ||||||
|  | sprite_zoom_min = 0 | ||||||
|  | population_in_label = true | ||||||
|  | link_terraform_toolbar = false | ||||||
|  | smallmap_land_colour = 0 | ||||||
|  | liveries = 2 | ||||||
|  | starting_colour = 16 | ||||||
|  | auto_remove_signals = false | ||||||
|  | prefer_teamchat = false | ||||||
|  | scrollwheel_scrolling = 0 | ||||||
|  | scrollwheel_multiplier = 5 | ||||||
|  | viewport_map_scan_surroundings = true | ||||||
|  | show_slopes_on_viewport_map = true | ||||||
|  | show_bridges_on_map = true | ||||||
|  | show_tunnels_on_map = true | ||||||
|  | show_vehicle_route = 1 | ||||||
|  | dash_level_of_route_lines = 0 | ||||||
|  | use_owner_colour_for_tunnelbridge = false | ||||||
|  | show_scrolling_viewport_on_map = 3 | ||||||
|  | default_viewport_map_mode = 0 | ||||||
|  | action_when_viewport_map_is_dblclicked = 1 | ||||||
|  | pause_on_newgame = true | ||||||
|  | advanced_vehicle_list = 1 | ||||||
|  | timetable_in_ticks = false | ||||||
|  | timetable_leftover_ticks = false | ||||||
|  | override_time_settings = false | ||||||
|  | time_in_minutes = false | ||||||
|  | ticks_per_minute = 74 | ||||||
|  | clock_offset = 0 | ||||||
|  | date_with_time = 0 | ||||||
|  | timetable_start_text_entry = false | ||||||
|  | timetable_arrival_departure = true | ||||||
|  | max_departures = 10 | ||||||
|  | max_departure_time = 120 | ||||||
|  | departure_calc_frequency = 10 | ||||||
|  | departure_show_vehicle = false | ||||||
|  | departure_show_group = false | ||||||
|  | departure_show_company = false | ||||||
|  | departure_show_vehicle_type = false | ||||||
|  | departure_show_vehicle_color = false | ||||||
|  | departure_larger_font = false | ||||||
|  | departure_destination_type = false | ||||||
|  | departure_show_both = false | ||||||
|  | departure_only_passengers = false | ||||||
|  | departure_smart_terminus = false | ||||||
|  | departure_show_all_stops = false | ||||||
|  | departure_merge_identical = false | ||||||
|  | departure_conditionals = 0 | ||||||
|  | quick_goto = true | ||||||
|  | loading_indicators = 1 | ||||||
|  | default_rail_type = 0 | ||||||
|  | default_road_type = 0 | ||||||
|  | enable_signal_gui = true | ||||||
|  | coloured_news_year = 2000 | ||||||
|  | drag_signals_density = 4 | ||||||
|  | drag_signals_fixed_distance = false | ||||||
|  | semaphore_build_before = 1950 | ||||||
|  | vehicle_income_warn = true | ||||||
|  | order_review_system = 2 | ||||||
|  | no_depot_order_warn = false | ||||||
|  | lost_vehicle_warn = true | ||||||
|  | restriction_wait_vehicle_warn = false | ||||||
|  | new_nonstop = true | ||||||
|  | stop_location = 2 | ||||||
|  | keep_all_autosave = false | ||||||
|  | autosave_on_exit = false | ||||||
|  | autosave_on_network_disconnect = true | ||||||
|  | max_num_autosaves = 16 | ||||||
|  | savegame_overwrite_confirm = yes | ||||||
|  | auto_euro = true | ||||||
|  | news_message_timeout = 2 | ||||||
|  | show_track_reservation = true | ||||||
|  | default_signal_type = 4 | ||||||
|  | cycle_signal_types = 0 | ||||||
|  | station_numtracks = 4 | ||||||
|  | station_platlength = 7 | ||||||
|  | station_dragdrop = false | ||||||
|  | station_show_coverage = true | ||||||
|  | persistent_buildingtools = true | ||||||
|  | expenses_layout = true | ||||||
|  | station_gui_group_order = 3 | ||||||
|  | station_gui_sort_by = 0 | ||||||
|  | station_gui_sort_order = 0 | ||||||
|  | missing_strings_threshold = 25 | ||||||
|  | graph_line_thickness = 3 | ||||||
|  | show_vehicle_route_steps = true | ||||||
|  | show_train_length_in_details = true | ||||||
|  | show_train_weight_ratios_in_details = false | ||||||
|  | show_vehicle_group_in_details = true | ||||||
|  | show_vehicle_list_company_colour = true | ||||||
|  | show_restricted_signal_default = true | ||||||
|  | show_adv_tracerestrict_features = true | ||||||
|  | show_progsig_ui = true | ||||||
|  | show_veh_list_cargo_filter = true | ||||||
|  | enable_single_veh_shared_order_gui = false | ||||||
|  | show_adv_load_mode_features = true | ||||||
|  | disable_top_veh_list_mass_actions = false | ||||||
|  | adv_sig_bridge_tun_modes = true | ||||||
|  | show_depot_sell_gui = false | ||||||
|  | open_vehicle_gui_clone_share = false | ||||||
|  | show_newgrf_name = false | ||||||
|  | linkgraph_colours = 0 | ||||||
|  | vehicle_names = 1 | ||||||
|  | shade_trees_on_slopes = true | ||||||
|  | show_date_in_logs = false | ||||||
|  | settings_restriction_mode = 2 | ||||||
|  | developer = 1 | ||||||
|  | newgrf_developer_tools = false | ||||||
|  | ai_developer_tools = false | ||||||
|  | scenario_developer = false | ||||||
|  | newgrf_show_old_versions = false | ||||||
|  | newgrf_default_palette = 1 | ||||||
|  | console_show_unlisted = false | ||||||
|  | console_backlog_timeout = 100 | ||||||
|  | console_backlog_length = 100 | ||||||
|  | refresh_rate = 60 | ||||||
|  | fast_forward_speed_limit = 2500 | ||||||
|  | network_chat_box_width_pct = 40 | ||||||
|  | network_chat_box_height = 25 | ||||||
|  | network_chat_timeout = 20 | ||||||
|  | sort_track_types_by_speed = false | ||||||
|  | station_rating_tooltip_mode = 1 | ||||||
|  | demolish_confirm_mode = 2 | ||||||
|  | experimental_dual_pane_train_purchase_window = false | ||||||
|  | dual_pane_train_purchase_window = true | ||||||
|  | show_noentrysig_ui = true | ||||||
|  | autosave_custom_days = 14 | ||||||
|  | autosave_custom_minutes = 30 | ||||||
|  | signal_gui_mode = 0 | ||||||
|  | show_all_signal_default = true | ||||||
|  | show_wagon_intro_year = false | ||||||
|  | allow_hiding_waypoint_labels = false | ||||||
|  | disable_water_animation = 255 | ||||||
|  | show_order_occupancy_by_default = false | ||||||
|  | show_order_management_button = false | ||||||
|  | show_group_hierarchy_name = false | ||||||
|  | show_vehicle_group_hierarchy_name = false | ||||||
|  | newgrf_disable_big_gui = false | ||||||
|  | show_vehicle_route_mode = 1 | ||||||
|  | dual_pane_train_purchase_window_dual_buttons = true | ||||||
|  | zoom_max_extra = 9 | ||||||
|  | show_cargo_in_vehicle_lists = false | ||||||
|  | scale_bevels = true | ||||||
|  |  | ||||||
|  | [game_time] | ||||||
|  | time_in_minutes = false | ||||||
|  | ticks_per_minute = 74 | ||||||
|  | clock_offset = 0 | ||||||
|  |  | ||||||
|  | [sound] | ||||||
|  | news_ticker = false | ||||||
|  | news_full = false | ||||||
|  | new_year = false | ||||||
|  | confirm = false | ||||||
|  | click_beep = false | ||||||
|  | disaster = false | ||||||
|  | vehicle = false | ||||||
|  | ambient = false | ||||||
|  |  | ||||||
|  | [music] | ||||||
|  | playlist = 0 | ||||||
|  | music_vol = 50 | ||||||
|  | effect_vol = 100 | ||||||
|  | custom_1 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 | ||||||
|  | custom_2 = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 | ||||||
|  | playing = true | ||||||
|  | shuffle = false | ||||||
|  |  | ||||||
|  | [news_display] | ||||||
|  | arrival_player = full | ||||||
|  | arrival_other = summarized | ||||||
|  | accident = full | ||||||
|  | company_info = full | ||||||
|  | open = summarized | ||||||
|  | close = summarized | ||||||
|  | economy = full | ||||||
|  | production_player = summarized | ||||||
|  | production_other = off | ||||||
|  | production_nobody = off | ||||||
|  | advice = full | ||||||
|  | new_vehicles = full | ||||||
|  | acceptance = full | ||||||
|  | subsidies = summarized | ||||||
|  | general = full | ||||||
|  | accident_other = full | ||||||
|  |  | ||||||
|  | [scenario] | ||||||
|  | multiple_buildings = false | ||||||
|  | house_ignore_dates = false | ||||||
|  | house_ignore_zones = 0 | ||||||
|  | house_ignore_grf = false | ||||||
|  |  | ||||||
|  | [network] | ||||||
|  | commands_per_frame = 2 | ||||||
|  | max_commands_in_queue = 16 | ||||||
|  | bytes_per_frame = 8 | ||||||
|  | bytes_per_frame_burst = 256 | ||||||
|  | max_init_time = 100 | ||||||
|  | max_join_time = 500 | ||||||
|  | max_download_time = 1000 | ||||||
|  | max_password_time = 2000 | ||||||
|  | max_lag_time = 500 | ||||||
|  | pause_on_join = true | ||||||
|  | server_port = 3979 | ||||||
|  | server_admin_port = 3977 | ||||||
|  | server_admin_chat = true | ||||||
|  | autoclean_companies = false | ||||||
|  | autoclean_unprotected = 12 | ||||||
|  | autoclean_protected = 36 | ||||||
|  | autoclean_novehicles = 0 | ||||||
|  | max_companies = 15 | ||||||
|  | max_clients = 25 | ||||||
|  | max_spectators = 15 | ||||||
|  | restart_game_year = 0 | ||||||
|  | min_active_clients = 0 | ||||||
|  | reload_cfg = false | ||||||
|  | last_host =  | ||||||
|  | last_port = 0 | ||||||
|  | no_http_content_downloads = false | ||||||
|  | server_game_type = public | ||||||
|  | use_relay_service = ask | ||||||
|  |  | ||||||
|  | [currency] | ||||||
|  | rate = 1 | ||||||
|  | separator = "." | ||||||
|  | to_euro = 0 | ||||||
|  | prefix =  | ||||||
|  | suffix = " credits" | ||||||
|  |  | ||||||
|  | [company] | ||||||
|  | engine_renew = true | ||||||
|  | engine_renew_months = 6 | ||||||
|  | engine_renew_money = 100000 | ||||||
|  | renew_keep_length = false | ||||||
|  | auto_timetable_separation_rate = 40 | ||||||
|  | timetable_autofill_rounding = 74 | ||||||
|  | order_occupancy_smoothness = 75 | ||||||
|  | infra_others_buy_in_depot[0] = false | ||||||
|  | infra_others_buy_in_depot[1] = false | ||||||
|  | infra_others_buy_in_depot[2] = false | ||||||
|  | infra_others_buy_in_depot[3] = false | ||||||
|  | advance_order_on_clone = false | ||||||
|  | copy_clone_add_to_group = true | ||||||
|  | simulated_wormhole_signals = 4 | ||||||
|  | remain_if_next_order_same_station = true | ||||||
|  |  | ||||||
|  | [ai_players] | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  | none = start_date=730 | ||||||
|  |  | ||||||
|  | [game_scripts] | ||||||
|  | none =  | ||||||
|  |  | ||||||
|  | [version] | ||||||
|  | version_string = jgrpp-0.53.3 | ||||||
|  | version_number = 1E006D64 | ||||||
|  | ini_version = 2 | ||||||
|  |  | ||||||
|  | [preset-TEST] | ||||||
|  | 444C1105|4AC44465E334F062F56BC24C728C8E72|dach_trains-0.3.2/dach.grf = 1 | ||||||
|  | 52571203|2E00A55DF056E0F4BD7BBC2517514DC7|egrvts2-202/egrvts2.grf = 0 62 2 0 | ||||||
|  | 45520C00|FCF4EE39F19C02D9E8603D07621DDD99|japanese_town_names.0.6/jpset_namw.grf =  | ||||||
|  | 52453400|B2E27B74A3894198A00139CFCF09D011|japanese_buildings-3.1/jpbuild.grf = 2 0 1 | ||||||
|  | 474C0000|1E5E4C815B905749AAE94142C1A67B8B|japanese_faces-3.0/jpfaces.grf =  | ||||||
|  | 52453200|A222F0B3BCF0CFE187A7868116A00C49|japanset_landscape-3.2/jpland.grf = 1 0 1 0 0 | ||||||
|  | 2C320A01|065916BDB63F43BBB4A686E1B4954004|japanese_signals-3.0/jpsignals.grf = 1 | ||||||
|  | 45530500|D9BE5AFA481FC3E0A96E6EB72B455612|japanese_stations-3.6/jpstations.grf = 1 1 1 1 | ||||||
|  | 52453300|EF6A4519AD4C18B9B9112B8D7083862D|japanese_trees-3.0/jptrees.grf =  | ||||||
|  | 44503000|0BF5A48500990CF4CBFED5D7CC6ED120|japanese_tracks-3.2/jptracks.grf = 0 0 0 2 2 1 1 1 3 1 0 | ||||||
|  | 42531320|45C480EEF47E0A8B67CA4E1B1DC30604|jp_multiple_units_jgr_jnr_jr-0.4.2/jpplus_v042.grf = 1 2 1 1 1 | ||||||
|  | 535A0D00|21AC703CAB2BE6A80FAF2344366FE0C1|japanese_train_set-3.3/jptrains.grf = 0 1 1 2 2 1 1 1 0 1 0 0 | ||||||
|  | 44501401|5B9D588504701CCC2BB14CDB1F18D06B|japanese_maglevs-3.1/jptrainsadd.grf = 0 0 0 0 0 1 1 1 | ||||||
|  | 736C6602|2DB244FD410D77FCCE2DE6D5AF09DF51|japanese_city_names-1/jpcities.grf =  | ||||||
|  | "454E1302|623C32CFD50835F484DBBD42EC45FE3D|japanese_suspended_monorail_set-1.1/jpsusmon nrt.grf" = 1 2 2 | ||||||
|  | 1560B248|76BE5A3BA8C66817C14CFA05177D20D9|redfish-0.4/redfish.grf = 1 1 0 | ||||||
|  | 454E2001|342B064182A42854EF830BC11BE86E4E|real_international_maglev_set-1.6/rims.grf = 1 2 2 0 2 1 1 1 1 0 0 0 1 1 0 1 | ||||||
|  | 41533031|B21E7D6ADD69B1C07643939764FB4878|swedish_houses-1.1.2/swehouses.grf =  | ||||||
|  | 74677563|8A53DE2FF752868097FBE403FACD8DA4|total_bridge_renewal_japan-1.12/total_bridgesw.grf =  | ||||||
|  | 4A565201|934DD16DC79E23A741D9C372AC5B67D3|project_gondola-0.4/gondola.grf =  | ||||||
|  | 4A544E45|8F3301887E272D775C331163F2C71CE5|japanese_town_names_extended-0.1/jtne.grf =  | ||||||
|  | 56420202|B2EB887D411D23173688A4F72BE7184C|purr_universal_rainbow_rails-0.0.7/purr.grf = 0 1 0 0 0 0 0 0 0 0 0 0 20 35 35 35 35 | ||||||
|  |  | ||||||
|  | [client_locale] | ||||||
|  | sync_locale_network_server = false | ||||||
|  |  | ||||||
|  | [preset-MAIN] | ||||||
|  | 41560103|FAD3EB34DE1CBAF515FD7A870C4F9A08|egrvts_v2.1-r237/egrvts2_1.grf = 0 63 0 3 0 | ||||||
|  | 4A544E45|8F3301887E272D775C331163F2C71CE5|japanese_town_names_extended-0.1/jtne.grf =  | ||||||
|  | 41533031|B21E7D6ADD69B1C07643939764FB4878|swedish_houses-1.1.2/swehouses.grf =  | ||||||
|  | 52453400|B2E27B74A3894198A00139CFCF09D011|japanese_buildings-3.1/jpbuild.grf = 2 0 1 | ||||||
|  | 474C0000|1E5E4C815B905749AAE94142C1A67B8B|japanese_faces-3.0/jpfaces.grf =  | ||||||
|  | 52453200|A222F0B3BCF0CFE187A7868116A00C49|japanset_landscape-3.2/jpland.grf = 1 0 1 0 0 | ||||||
|  | 2C320A01|065916BDB63F43BBB4A686E1B4954004|japanese_signals-3.0/jpsignals.grf = 1 | ||||||
|  | 45530500|D9BE5AFA481FC3E0A96E6EB72B455612|japanese_stations-3.6/jpstations.grf = 1 1 1 1 | ||||||
|  | 52453300|EF6A4519AD4C18B9B9112B8D7083862D|japanese_trees-3.0/jptrees.grf =  | ||||||
|  | 44503000|0BF5A48500990CF4CBFED5D7CC6ED120|japanese_tracks-3.2/jptracks.grf = 0 0 0 2 2 1 1 1 3 1 0 | ||||||
|  | 42531320|45C480EEF47E0A8B67CA4E1B1DC30604|jp_multiple_units_jgr_jnr_jr-0.4.2/jpplus_v042.grf = 1 2 1 1 1 | ||||||
|  | 4B523033|A2FD753BC20D1F1F7E0DF9AD5F09FECB|jp_shinkansen-0.2.1/jpplusshinkansen_v0.2.1.grf = 1 2 1 0 1 0 1 | ||||||
|  | 595AAA01|24705D6F58BF2D6686AF3915B5CE7006|jp_metro_set-5.1/jpmetro.grf = 1 1 2 | ||||||
|  | 444C1105|4AC44465E334F062F56BC24C728C8E72|dach_trains-0.3.2/dach.grf = 1 | ||||||
|  | "454E1302|623C32CFD50835F484DBBD42EC45FE3D|japanese_suspended_monorail_set-1.1/jpsusmon nrt.grf" = 1 2 2 | ||||||
|  | 1560B248|76BE5A3BA8C66817C14CFA05177D20D9|redfish-0.4/redfish.grf = 1 1 0 | ||||||
|  | 454E2001|342B064182A42854EF830BC11BE86E4E|real_international_maglev_set-1.6/rims.grf = 1 2 2 0 2 1 1 1 1 0 0 0 1 1 0 1 | ||||||
|  | 74677563|8A53DE2FF752868097FBE403FACD8DA4|total_bridge_renewal_japan-1.12/total_bridgesw.grf =  | ||||||
|  | 4A565201|934DD16DC79E23A741D9C372AC5B67D3|project_gondola-0.4/gondola.grf =  | ||||||
|  | F1250008|6A2E778BFF67AB76437696ED1C3C780A|firs_industry_replacement_set_4-4.15.1/firs.grf = 1 0 0 0 0 0 16 150 80 300 1 | ||||||
|  | 535A0D00|21AC703CAB2BE6A80FAF2344366FE0C1|japanese_train_set-3.3/jptrains.grf = 0 1 1 2 1 0 1 1 0 1 0 0 | ||||||
|  | 44501401|5B9D588504701CCC2BB14CDB1F18D06B|japanese_maglevs-3.1/jptrainsadd.grf = 0 0 0 0 0 1 1 1 | ||||||
|  |  | ||||||
|  | [newgrf] | ||||||
|  | 41560103|FAD3EB34DE1CBAF515FD7A870C4F9A08|egrvts_v2.1-r237/egrvts2_1.grf = 0 63 0 3 0 | ||||||
|  | 4A544E45|8F3301887E272D775C331163F2C71CE5|japanese_town_names_extended-0.1/jtne.grf =  | ||||||
|  | 41533031|B21E7D6ADD69B1C07643939764FB4878|swedish_houses-1.1.2/swehouses.grf =  | ||||||
|  | 52453400|B2E27B74A3894198A00139CFCF09D011|japanese_buildings-3.1/jpbuild.grf = 2 0 1 | ||||||
|  | 474C0000|1E5E4C815B905749AAE94142C1A67B8B|japanese_faces-3.0/jpfaces.grf =  | ||||||
|  | 52453200|A222F0B3BCF0CFE187A7868116A00C49|japanset_landscape-3.2/jpland.grf = 1 0 1 0 0 | ||||||
|  | 2C320A01|065916BDB63F43BBB4A686E1B4954004|japanese_signals-3.0/jpsignals.grf = 1 | ||||||
|  | 45530500|D9BE5AFA481FC3E0A96E6EB72B455612|japanese_stations-3.6/jpstations.grf = 1 1 1 1 | ||||||
|  | 52453300|EF6A4519AD4C18B9B9112B8D7083862D|japanese_trees-3.0/jptrees.grf =  | ||||||
|  | 44503000|0BF5A48500990CF4CBFED5D7CC6ED120|japanese_tracks-3.2/jptracks.grf = 0 0 0 2 2 1 1 1 3 1 0 | ||||||
|  | 42531320|45C480EEF47E0A8B67CA4E1B1DC30604|jp_multiple_units_jgr_jnr_jr-0.4.2/jpplus_v042.grf = 1 2 1 1 1 | ||||||
|  | 4B523033|A2FD753BC20D1F1F7E0DF9AD5F09FECB|jp_shinkansen-0.2.1/jpplusshinkansen_v0.2.1.grf = 1 2 1 0 1 0 1 | ||||||
|  | 595AAA01|24705D6F58BF2D6686AF3915B5CE7006|jp_metro_set-5.1/jpmetro.grf = 1 1 2 | ||||||
|  | 444C1105|4AC44465E334F062F56BC24C728C8E72|dach_trains-0.3.2/dach.grf = 1 | ||||||
|  | "454E1302|623C32CFD50835F484DBBD42EC45FE3D|japanese_suspended_monorail_set-1.1/jpsusmon nrt.grf" = 1 2 2 | ||||||
|  | 1560B248|76BE5A3BA8C66817C14CFA05177D20D9|redfish-0.4/redfish.grf = 1 1 0 | ||||||
|  | 454E2001|342B064182A42854EF830BC11BE86E4E|real_international_maglev_set-1.6/rims.grf = 1 2 2 0 2 1 1 1 1 0 0 0 1 1 0 1 | ||||||
|  | 74677563|8A53DE2FF752868097FBE403FACD8DA4|total_bridge_renewal_japan-1.12/total_bridgesw.grf =  | ||||||
|  | 4A565201|934DD16DC79E23A741D9C372AC5B67D3|project_gondola-0.4/gondola.grf =  | ||||||
|  | F1250008|6A2E778BFF67AB76437696ED1C3C780A|firs_industry_replacement_set_4-4.15.1/firs.grf = 1 0 0 0 0 0 16 150 80 300 1 | ||||||
|  | 535A0D00|21AC703CAB2BE6A80FAF2344366FE0C1|japanese_train_set-3.3/jptrains.grf = 0 1 1 2 1 0 1 1 0 1 0 0 | ||||||
|  | 44501401|5B9D588504701CCC2BB14CDB1F18D06B|japanese_maglevs-3.1/jptrainsadd.grf = 0 0 0 0 0 1 1 1 | ||||||
|  |  | ||||||
|  | [newgrf-static] | ||||||
|  |  | ||||||
|  |   ''; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										111
									
								
								home/gui/wayland/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										111
									
								
								home/gui/wayland/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,111 @@ | |||||||
|  | { | ||||||
|  |   pkgs, | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | let | ||||||
|  |   wlogout_pkg = pkgs.wlogout; | ||||||
|  | in | ||||||
|  | { | ||||||
|  |  | ||||||
|  | xdg.configFile."swaylock/config".text =  | ||||||
|  | '' | ||||||
|  | screenshots | ||||||
|  | grace=5 | ||||||
|  | effect-pixelate=5 | ||||||
|  | fade-in=0.2 | ||||||
|  |  | ||||||
|  | ignore-empty-password | ||||||
|  | font=IBM Plex Mono | ||||||
|  |  | ||||||
|  | color=${config.colorscheme.colors.base00}00 | ||||||
|  |  | ||||||
|  | indicator-radius=100 | ||||||
|  | indicator-thickness=30 | ||||||
|  |  | ||||||
|  | separator-color=${config.colorscheme.colors.base00}00 | ||||||
|  |  | ||||||
|  | inside-color=${config.colorscheme.colors.base0C}00 | ||||||
|  | inside-clear-color=${config.colorscheme.colors.base08}FF | ||||||
|  | inside-caps-lock-color=${config.colorscheme.colors.base09}00 | ||||||
|  | inside-ver-color=${config.colorscheme.colors.base0C}FF | ||||||
|  | inside-wrong-color=${config.colorscheme.colors.base0F}FF | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ring-color=${config.colorscheme.colors.base00}00 | ||||||
|  | ring-clear-color=${config.colorscheme.colors.base00}00 | ||||||
|  | ring-caps-lock-color=${config.colorscheme.colors.base00}00 | ||||||
|  | ring-ver-color=${config.colorscheme.colors.base00}00 | ||||||
|  | ring-wrong-color=${config.colorscheme.colors.base00}00 | ||||||
|  |  | ||||||
|  | line-color=${config.colorscheme.colors.base00}00 | ||||||
|  | line-clear-color=${config.colorscheme.colors.base00}00 | ||||||
|  | line-caps-lock-color=${config.colorscheme.colors.base00}00 | ||||||
|  | line-ver-color=${config.colorscheme.colors.base00}00 | ||||||
|  | line-wrong-color=${config.colorscheme.colors.base00}00 | ||||||
|  |  | ||||||
|  | text-color=${config.colorscheme.colors.base00}00 | ||||||
|  | text-clear-color=${config.colorscheme.colors.base00}00 | ||||||
|  | text-caps-lock-color=${config.colorscheme.colors.base00}00 | ||||||
|  | text-ver-color=${config.colorscheme.colors.base00}00 | ||||||
|  | text-wrong-color=${config.colorscheme.colors.base00}00 | ||||||
|  |  | ||||||
|  |  | ||||||
|  | key-hl-color=${config.colorscheme.colors.base0C}FF | ||||||
|  | bs-hl-color=${config.colorscheme.colors.base08}FF | ||||||
|  | caps-lock-key-hl-color=${config.colorscheme.colors.base09}FF | ||||||
|  | caps-lock-bs-hl-color=${config.colorscheme.colors.base09}FF | ||||||
|  | ''; | ||||||
|  |  | ||||||
|  | xdg.configFile."wlogout/style.css".text =  | ||||||
|  | '' | ||||||
|  | window { | ||||||
|  |     font-family: Material Design Icons; | ||||||
|  |     font-size: 64pt; | ||||||
|  |     color: #${config.colorscheme.colors.base07}; | ||||||
|  |     background-color: alpha(#${config.colorscheme.colors.base00},0.6); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | button { | ||||||
|  |     border-radius:7px; | ||||||
|  |     border: 2px solid #${config.colorscheme.colors.base03}; | ||||||
|  |     color: #${config.colorscheme.colors.base07}; | ||||||
|  |     padding: 20px; | ||||||
|  |     background-color: alpha(#${config.colorscheme.colors.base00},0.8); | ||||||
|  |     transition: box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | button:hover { | ||||||
|  |     background-color: alpha(#${config.colorscheme.colors.base02},0.8); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | button:focus { | ||||||
|  |     background-color: alpha(#${config.colorscheme.colors.base02},1.0); | ||||||
|  |     border: 2px solid #${config.colorscheme.colors.base05}; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | ''; | ||||||
|  |  | ||||||
|  | xdg.configFile."wlogout/layout".text =  | ||||||
|  | '' | ||||||
|  | { | ||||||
|  |     "label" : "lock", | ||||||
|  |     "action" : "swaylock", | ||||||
|  |     "text" : "", | ||||||
|  |     "keybind" : "l" | ||||||
|  | } | ||||||
|  | { | ||||||
|  |     "label" : "reboot", | ||||||
|  |     "action" : "systemctl reboot", | ||||||
|  |     "text" : "", | ||||||
|  |     "keybind" : "r" | ||||||
|  | } | ||||||
|  | { | ||||||
|  |     "label" : "shutdown", | ||||||
|  |     "action" : "systemctl poweroff", | ||||||
|  |     "text" : "", | ||||||
|  |     "keybind" : "s" | ||||||
|  | } | ||||||
|  | ''; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										69
									
								
								home/gui/wofi/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										69
									
								
								home/gui/wofi/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,69 @@ | |||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |  | ||||||
|  |   xdg.configFile."wofi/config".text = '' | ||||||
|  |     width=280 | ||||||
|  |     lines=10 | ||||||
|  |     xoffset=5 | ||||||
|  |     yoffset=5 | ||||||
|  |     location=2 | ||||||
|  |     prompt= | ||||||
|  |     filter_rate=100 | ||||||
|  |     allow_markup=false | ||||||
|  |     no_actions=true | ||||||
|  |     halign=fill | ||||||
|  |     orientation=vertical | ||||||
|  |     content_halign=fill | ||||||
|  |     insensitive=true | ||||||
|  |     allow_images=true | ||||||
|  |     image_size=16 | ||||||
|  |     hide_scroll=true | ||||||
|  |   ''; | ||||||
|  |   xdg.configFile."wofi/style.css".text = '' | ||||||
|  |     window { | ||||||
|  |       margin: 0px; | ||||||
|  |       border-radius:7px; | ||||||
|  |       background-color: #${config.colorscheme.colors.base00}; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     #input { | ||||||
|  |       all: unset; | ||||||
|  |       min-height: 20px; | ||||||
|  |       padding: 4px 10px; | ||||||
|  |       margin: 4px; | ||||||
|  |       border: none; | ||||||
|  |       color: #${config.colorscheme.colors.base07}; | ||||||
|  |       font-weight: bold; | ||||||
|  |       background-color: #${config.colorscheme.colors.base01}; | ||||||
|  |       outline: #${config.colorscheme.colors.base04}; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     #input:selected { | ||||||
|  |       color: #${config.colorscheme.colors.base0C}; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     #inner-box { | ||||||
|  |       font-weight: bold; | ||||||
|  |       border-radius: 0px; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     #outer-box { | ||||||
|  |       margin: 0px; | ||||||
|  |       padding: 3px; | ||||||
|  |       border-radius: 7px; | ||||||
|  |       border: 2px solid #${config.colorscheme.colors.base03}; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     #text:selected { | ||||||
|  |       color: #${config.colorscheme.colors.base00}; | ||||||
|  |       background-color: transparent; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     #entry:selected { | ||||||
|  |       background-color: #${config.colorscheme.colors.base07}; | ||||||
|  |     } | ||||||
|  |   ''; | ||||||
|  |    | ||||||
|  | } | ||||||
							
								
								
									
										48
									
								
								home/gui/zathura/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										48
									
								
								home/gui/zathura/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,48 @@ | |||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   programs.zathura = { | ||||||
|  |     enable = true; | ||||||
|  |     extraConfig = '' | ||||||
|  |       set default-fg                "#${config.colorScheme.colors.base06}" | ||||||
|  |       set default-bg 			          "#${config.colorScheme.colors.base00}" | ||||||
|  |  | ||||||
|  |       set completion-bg		          "#${config.colorScheme.colors.base02}" | ||||||
|  |       set completion-fg		          "#${config.colorScheme.colors.base06}" | ||||||
|  |       set completion-highlight-bg	  "#${config.colorScheme.colors.base03}" | ||||||
|  |       set completion-highlight-fg	  "#${config.colorScheme.colors.base06}" | ||||||
|  |       set completion-group-bg		    "#${config.colorScheme.colors.base01}" | ||||||
|  |       set completion-group-fg		    "#${config.colorScheme.colors.base0C}" | ||||||
|  |  | ||||||
|  |       set statusbar-fg		          "#${config.colorScheme.colors.base06}" | ||||||
|  |       set statusbar-bg		          "#${config.colorScheme.colors.base01}" | ||||||
|  |  | ||||||
|  |       set notification-bg		        "#${config.colorScheme.colors.base01}" | ||||||
|  |       set notification-fg		        "#${config.colorScheme.colors.base06}" | ||||||
|  |       set notification-error-bg	    "#${config.colorScheme.colors.base01}" | ||||||
|  |       set notification-error-fg	    "#${config.colorScheme.colors.base0F}" | ||||||
|  |       set notification-warning-bg	  "#${config.colorScheme.colors.base01}" | ||||||
|  |       set notification-warning-fg	  "#${config.colorScheme.colors.base09}" | ||||||
|  |        | ||||||
|  |       set inputbar-fg			          "#${config.colorScheme.colors.base06}" | ||||||
|  |       set inputbar-bg 		          "#${config.colorScheme.colors.base01}" | ||||||
|  |        | ||||||
|  |       set recolor-lightcolor		    "#${config.colorScheme.colors.base00}" | ||||||
|  |       set recolor-darkcolor		      "#${config.colorScheme.colors.base06}" | ||||||
|  |        | ||||||
|  |       set index-fg			            "#${config.colorScheme.colors.base06}" | ||||||
|  |       set index-bg			            "#${config.colorScheme.colors.base00}" | ||||||
|  |       set index-active-fg		        "#${config.colorScheme.colors.base06}" | ||||||
|  |       set index-active-bg		        "#${config.colorScheme.colors.base01}" | ||||||
|  |        | ||||||
|  |       set render-loading-bg		      "#${config.colorScheme.colors.base00}" | ||||||
|  |       set render-loading-fg		      "#${config.colorScheme.colors.base06}" | ||||||
|  |        | ||||||
|  |       set highlight-color		        "#${config.colorScheme.colors.base04}" | ||||||
|  |       set highlight-fg              "#${config.colorScheme.colors.base0E}" | ||||||
|  |       set highlight-active-color	  "#${config.colorScheme.colors.base0E}" | ||||||
|  |        | ||||||
|  |     ''; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										93
									
								
								home/wayland/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										93
									
								
								home/wayland/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,93 @@ | |||||||
|  | { | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  |  | ||||||
|  | let  | ||||||
|  |   dbus-hyprland-environment = pkgs.writeTextFile { | ||||||
|  |     name = "dbus-hyprland-environment"; | ||||||
|  |     destination = "/bin/dbus-hyprland-environment"; | ||||||
|  |     executable = true; | ||||||
|  |     text = '' | ||||||
|  |       dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=hyprland | ||||||
|  |       systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr | ||||||
|  |       systemctl --user start pipewire wireplumber pipewire-media-session xdg-desktop-portal xdg-desktop-portal-hyprland | ||||||
|  |     ''; | ||||||
|  |   }; | ||||||
|  |   in | ||||||
|  | { | ||||||
|  |  | ||||||
|  |   imports = [ | ||||||
|  |    ../../modules/greetd.nix  | ||||||
|  |   ]; | ||||||
|  |    | ||||||
|  |   environment.systemPackages = with pkgs; [ | ||||||
|  |     dbus-hyprland-environment | ||||||
|  |     xdg-user-dirs | ||||||
|  |     wayland | ||||||
|  |     grim | ||||||
|  |     slurp | ||||||
|  |     swappy | ||||||
|  |     cliphist | ||||||
|  |     wl-clipboard | ||||||
|  |     wlogout | ||||||
|  |     wlr-randr | ||||||
|  |     wdisplays | ||||||
|  |     kanshi | ||||||
|  |     glib | ||||||
|  |   ]; | ||||||
|  |  | ||||||
|  |   services.dbus.enable = true; | ||||||
|  |   xdg.portal = { | ||||||
|  |     enable = true; | ||||||
|  |     wlr.enable = true; | ||||||
|  |     extraPortals = with pkgs; [ | ||||||
|  |       xdg-desktop-portal-hyprland | ||||||
|  |       xdg-desktop-portal | ||||||
|  |     ]; | ||||||
|  |  }; | ||||||
|  |  | ||||||
|  |   programs.xwayland.enable = true; | ||||||
|  |  | ||||||
|  |   environment.sessionVariables = rec { | ||||||
|  |     GBM_BACKEND = "amd-drm"; | ||||||
|  |     __GL_GSYNC_ALLOWED = "0"; | ||||||
|  |     __GL_VRR_ALLOWED = "0"; | ||||||
|  |     WLR_DRM_NO_ATOMIC = "1"; | ||||||
|  |     __GLX_VENDOR_LIBRARY_NAME = "amd"; | ||||||
|  |     _JAVA_AWT_WM_NONREPARENTING = "1"; | ||||||
|  |     QT_QPA_PLATFORM = "wayland"; | ||||||
|  |     QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; | ||||||
|  |     GDK_BACKEND = "wayland"; | ||||||
|  |     WLR_NO_HARDWARE_CURSORS = "1"; | ||||||
|  |     MOZ_ENABLE_WAYLAND = "1"; | ||||||
|  |     WLR_BACKEND = "vulkan"; | ||||||
|  |     WLR_RENDERER = "vulkan"; | ||||||
|  |     XCURSOR_SIZE = "24"; | ||||||
|  |     NIXOS_OZONE_WL = "1"; | ||||||
|  |     PATH = [ | ||||||
|  |       "$HOME/.local/bin/:$PATH" | ||||||
|  |     ]; | ||||||
|  |     XDG_CACHE_HOME  = "$HOME/.cache"; | ||||||
|  |     XDG_CONFIG_HOME = "$HOME/.config"; | ||||||
|  |     XDG_DATA_HOME   = "$HOME/.local/share"; | ||||||
|  |     XDG_STATE_HOME  = "$HOME/.local/state"; | ||||||
|  |     XDG_BIN_HOME    = "$HOME/.local/bin"; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   environment.etc."greetd/environments".text = '' | ||||||
|  |     Hyprland | ||||||
|  |   ''; | ||||||
|  |  | ||||||
|  |   environment.etc."xdg/user-dirs.defaults".text = '' | ||||||
|  |     XDG_DESKTOP_DIR="$HOME/desktop" | ||||||
|  |     XDG_DOCUMENTS_DIR="$HOME/files" | ||||||
|  |     XDG_DOWNLOAD_DIR="$HOME/download" | ||||||
|  |     XDG_MUSIC_DIR="$HOME/media/music" | ||||||
|  |     XDG_PICTURES_DIR="$HOME/media/photo" | ||||||
|  |     XDG_PUBLICSHARE_DIR="$HOME/pub" | ||||||
|  |     XDG_TEMPLATES_DIR="$HOME/media/templates" | ||||||
|  |     XDG_VIDEOS_DIR="$HOME/media/video" | ||||||
|  |   ''; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										230
									
								
								home/wayland/hyprland/config.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										230
									
								
								home/wayland/hyprland/config.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,230 @@ | |||||||
|  | { | ||||||
|  |     config, | ||||||
|  |     ... | ||||||
|  | }: { | ||||||
|  |     wayland.windowManager.hyprland.extraConfig = '' | ||||||
|  |  | ||||||
|  | monitor=,preferred,auto,1 | ||||||
|  | #monitor = HDMI-A-1,1920x1080,5760x0,1 #right | ||||||
|  | #monitor = DP-2,1920x1080,1920x0,1 #left | ||||||
|  | #monitor = DP-3,1920x1080@144,3840x0,1 #middle | ||||||
|  |  | ||||||
|  | input { | ||||||
|  |     kb_layout = us, ru | ||||||
|  |     kb_variant = intl, phonetic | ||||||
|  |     kb_model = pc104 | ||||||
|  |     kb_options = grp:ctrls_toggle | ||||||
|  |     kb_rules = | ||||||
|  |  | ||||||
|  |     follow_mouse = 0 | ||||||
|  |  | ||||||
|  |     sensitivity = 0 # -0.5 # -1.0 - 1.0, 0 means no modification. | ||||||
|  |     force_no_accel = true | ||||||
|  |  | ||||||
|  |     touchpad { | ||||||
|  |         natural_scroll=no | ||||||
|  |         disable_while_typing=true | ||||||
|  |         scroll_factor=1 | ||||||
|  |         disable_while_typing=0 | ||||||
|  |         tap-to-click=0 | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | misc { | ||||||
|  |     disable_hyprland_logo=true | ||||||
|  |     animate_mouse_windowdragging=false | ||||||
|  |     animate_manual_resizes=false | ||||||
|  | } | ||||||
|  |  | ||||||
|  | general { | ||||||
|  |     gaps_in = 8 | ||||||
|  |     gaps_out = 15 | ||||||
|  |     border_size = 2 | ||||||
|  |     col.active_border = rgb(${config.colorScheme.colors.base05}) | ||||||
|  |     col.inactive_border = rgb(${config.colorScheme.colors.base03}) | ||||||
|  |  | ||||||
|  |     col.group_border_active = rgb(${config.colorScheme.colors.base05}) | ||||||
|  |     col.group_border = rgb(${config.colorScheme.colors.base03}) | ||||||
|  |  | ||||||
|  |     layout = dwindle | ||||||
|  | } | ||||||
|  |  | ||||||
|  | decoration { | ||||||
|  |     rounding = 7 | ||||||
|  |  | ||||||
|  |     #blur | ||||||
|  |     blur = yes | ||||||
|  |     blur_size = 2 | ||||||
|  |     blur_passes = 1 | ||||||
|  |     blur_new_optimizations = on | ||||||
|  |     multisample_edges = true | ||||||
|  |      | ||||||
|  |     #opactity | ||||||
|  |     inactive_opacity = 1.0 | ||||||
|  |     active_opacity = 1.0 | ||||||
|  |     fullscreen_opacity = 1.0 | ||||||
|  |      | ||||||
|  |     # shadow | ||||||
|  |     drop_shadow = no | ||||||
|  |     shadow_range = 60 | ||||||
|  |     shadow_offset = 0 5 | ||||||
|  |     shadow_render_power = 4 | ||||||
|  |     col.shadow = rgba(00000099) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | animations { | ||||||
|  |     enabled = false | ||||||
|  | } | ||||||
|  |  | ||||||
|  | dwindle { | ||||||
|  |     pseudotile = yes | ||||||
|  |     # force_split = 0 | ||||||
|  |     preserve_split = yes  | ||||||
|  | } | ||||||
|  |  | ||||||
|  | master { | ||||||
|  |     new_is_master = true | ||||||
|  | } | ||||||
|  |  | ||||||
|  | gestures { | ||||||
|  |     workspace_swipe = off | ||||||
|  | } | ||||||
|  |  | ||||||
|  | exec-once = eww open bar & dunst | ||||||
|  |  | ||||||
|  | exec-once = swww init | ||||||
|  |  | ||||||
|  | exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP | ||||||
|  | exec-once = /nix/store/$(ls -la /nix/store | grep 'polkit-gnome' | grep '4096' | awk '{print $9}' | sed -n '$p')/libexec/polkit-gnome-authentication-agent-1 &  | ||||||
|  |  | ||||||
|  | exec-once = wl-paste --type text --watch cliphist store #Stores only text data | ||||||
|  | exec-once = wl-paste --type image --watch cliphist store #Stores only image data | ||||||
|  |  | ||||||
|  | exec-once = swayidle -w timeout 600 'swaylock' before-sleep 'swaylock' | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #windowrules | ||||||
|  | windowrulev2 = noshadow, floating:0 | ||||||
|  |  | ||||||
|  | windowrulev2 = float, title:^(flying_kitty)$ | ||||||
|  | windowrulev2 = size 1100 600, title:^(flying_kitty)$ | ||||||
|  | windowrulev2 = move center, title:^(flying_kitty)$ | ||||||
|  | windowrulev2 = animation slide, title:^(flying_kitty)$ | ||||||
|  | windowrulev2 = float, title:^(Volume Control)$ | ||||||
|  | windowrulev2 = float, title:^(Picture-in-Picture)$ | ||||||
|  | windowrulev2 = float, title:^(Steam)$ | ||||||
|  | windowrulev2 = fullscreen, title:^(wlogout)$ | ||||||
|  | windowrulev2 = float, title:^(wlogout)$ | ||||||
|  |  | ||||||
|  | windowrulev2 = workspace 2 silent, class:^(org.telegram.desktop)$ | ||||||
|  | windowrulev2 = workspace 2 silent, class:^(discord)$ | ||||||
|  |  | ||||||
|  | windowrulev2 = workspace 8 silent, class:^(org.keepassxc.KeePassXC)$ | ||||||
|  | windowrulev2 = workspace 8 silent, title:^(Nextcloud)$ | ||||||
|  | windowrulev2 = workspace 8 silent, class:^(Tk)$,title:^(Server Configuration)$ | ||||||
|  |  | ||||||
|  | #SPECIAL FLOATERS | ||||||
|  | windowrulev2 = float,class:^(org.keepassxc.KeePassXC)$,title:^(KeePassXC -  Access Request)$ | ||||||
|  | windowrulev2 = pin,class:^(org.keepassxc.KeePassXC)$,title:^(KeePassXC -  Access Request)$ | ||||||
|  | windowrulev2 = float,class:^(org.keepassxc.KeePassXC)$,title:^(Unlock Database - KeePassXC)$ | ||||||
|  | windowrulev2 = pin,class:^(org.keepassxc.KeePassXC)$,title:^(Unlock Database - KeePassXC)$ | ||||||
|  | windowrulev2 = float,title:^(Open)$ | ||||||
|  | windowrulev2 = float,title:^(Choose Files)$ | ||||||
|  | windowrulev2 = float,title:^(Save As)$ | ||||||
|  | windowrulev2 = float,title:^(Confirm to replace files)$ | ||||||
|  | windowrulev2 = float,title:^(File Operation Progress)$ | ||||||
|  | windowrulev2 = float,class:^(firefox)$,title:^(Picture-in-Picture)$ | ||||||
|  | windowrulev2 = pin,class:^(firefox)$,title:^(Picture-in-Picture)$ | ||||||
|  | windowrulev2 = nofullscreenrequest,class:^(firefox)$,title:^(Picture-in-Picture)$ | ||||||
|  | windowrulev2 = float,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$ | ||||||
|  | windowrulev2 = nofullscreenrequest,class:^(firefox)$,title:^(Firefox — Sharing Indicator)$ | ||||||
|  | windowrulev2 = float,class:^(firefox)$,title:^(Extension:.* Mozilla Firefox)$ | ||||||
|  | windowrulev2 = nofullscreenrequest,class:^(firefox)$,title:^(Extension:.* Mozilla Firefox)$ | ||||||
|  | windowrulev2 = float,class:^(org.telegram.desktop)$,title:^(Media viewer)$ | ||||||
|  | windowrulev2 = center,class:^(org.telegram.desktop)$,title:^(Media viewer)$ | ||||||
|  |  | ||||||
|  | #binds | ||||||
|  | $mainMod = SUPER | ||||||
|  |  | ||||||
|  | bind = SUPER, RETURN, exec, kitty | ||||||
|  |  | ||||||
|  | bind = SUPER_SHIFT, RETURN,togglespecialworkspace, | ||||||
|  | # bind = SUPER_SHIFT, RETURN, exec, kitty --title flying_kitty --single-instance | ||||||
|  | bind = SUPER, Q, killactive,  | ||||||
|  | bind = SUPER, T, togglefloating,  | ||||||
|  | bind = SUPER, F, fullscreen,  | ||||||
|  |  | ||||||
|  | bind = SUPER, D, exec, wofi -modi --show drun | ||||||
|  | bind = SUPER SHIFT,D,exec, ~/.config/hypr/themes/apatheia/eww/launch_bar  | ||||||
|  |  | ||||||
|  | bind = SUPER, V, exec, cliphist list | wofi -dmenu | cliphist decode | wl-copy | ||||||
|  | bind =  , Print, exec, grim -g "$(slurp -d)" - | swappy -f - | wl-copy | ||||||
|  |  | ||||||
|  | bind = SUPER, L, exec, swaylock  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | bind = SUPER, P, pseudo, # dwindle | ||||||
|  | bind = SUPER, J, togglesplit, # dwindle | ||||||
|  | bind = SUPER, G, togglegroup | ||||||
|  | bind = SUPER, tab, changegroupactive | ||||||
|  |  | ||||||
|  | bind = SUPER, left, movefocus, l | ||||||
|  | bind = SUPER, right, movefocus, r | ||||||
|  | bind = SUPER, up, movefocus, u | ||||||
|  | bind = SUPER, down, movefocus, d | ||||||
|  |  | ||||||
|  | bind = SUPER, 1, workspace, 1 | ||||||
|  | bind = SUPER, 2, workspace, 2 | ||||||
|  | bind = SUPER, 3, workspace, 3 | ||||||
|  | bind = SUPER, 4, workspace, 4 | ||||||
|  | bind = SUPER, 5, workspace, 5 | ||||||
|  | bind = SUPER, 6, workspace, 6 | ||||||
|  | bind = SUPER, 7, workspace, 7 | ||||||
|  | bind = SUPER, 8, workspace, 8 | ||||||
|  | bind = SUPER, 9, workspace, 9 | ||||||
|  | bind = SUPER, 0, workspace, 10 | ||||||
|  |  | ||||||
|  | bind = SUPER SHIFT, 1, movetoworkspace, 1 | ||||||
|  | bind = SUPER SHIFT, 2, movetoworkspace, 2 | ||||||
|  | bind = SUPER SHIFT, 3, movetoworkspace, 3 | ||||||
|  | bind = SUPER SHIFT, 4, movetoworkspace, 4 | ||||||
|  | bind = SUPER SHIFT, 5, movetoworkspace, 5 | ||||||
|  | bind = SUPER SHIFT, 6, movetoworkspace, 6 | ||||||
|  | bind = SUPER SHIFT, 7, movetoworkspace, 7 | ||||||
|  | bind = SUPER SHIFT, 8, movetoworkspace, 8 | ||||||
|  | bind = SUPER SHIFT, 9, movetoworkspace, 9 | ||||||
|  | bind = SUPER SHIFT, 0, movetoworkspace, 10 | ||||||
|  |  | ||||||
|  | bind = SUPER, mouse_down, workspace, e+1 | ||||||
|  | bind = SUPER, mouse_up, workspace, e-1 | ||||||
|  |  | ||||||
|  | bindm = SUPER, mouse:272, movewindow | ||||||
|  | bindm = SUPER, mouse:273, resizewindow | ||||||
|  | bind = , XF86AudioPlay, exec, playerctl play-pause | ||||||
|  | bind = , XF86AudioPrev, exec, playerctl previous | ||||||
|  | bind = , XF86AudioNext, exec, playerctl next | ||||||
|  | bind = , XF86AudioRaiseVolume, exec, amixer -q sset 'Master' 5%+ | ||||||
|  | bind = , XF86AudioLowerVolume, exec, amixer -q sset 'Master' 5%- | ||||||
|  | bind = , XF86AudioMute, exec, amixer -q sset 'Master' toggle | ||||||
|  | bind = , XF86MonBrightnessUp, exec, brillo -A 5 | ||||||
|  | bind = , XF86MonBrightnessDown, exec, brillo -U 5 | ||||||
|  |  | ||||||
|  | exec-once = [workspace special silent] kitty --title flying_kitty | ||||||
|  | exec-once = sh ~/.config/startup.sh | ||||||
|  |   ''; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   xdg.configFile."startup.sh".text =  '' | ||||||
|  | #!/bin/sh | ||||||
|  | sleep 2 | ||||||
|  | swww img ~/cloud/dark.jpg | ||||||
|  | keepassxc &  | ||||||
|  | firefox &  | ||||||
|  | jellyfin-mpv-shim &  | ||||||
|  |  | ||||||
|  | sleep 2 | ||||||
|  | nextcloud &  | ||||||
|  | telegram-desktop&  | ||||||
|  | discord&  | ||||||
|  |   ''; | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								home/wayland/hyprland/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								home/wayland/hyprland/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | { | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [./config.nix]; | ||||||
|  |    | ||||||
|  |   wayland.windowManager.hyprland = { | ||||||
|  |     enable = true; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										317
									
								
								home/xorg/bspwm/config.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										317
									
								
								home/xorg/bspwm/config.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,317 @@ | |||||||
|  | { | ||||||
|  |     config, | ||||||
|  |     ... | ||||||
|  | }: { | ||||||
|  |     xsession.windowManager.bspwm.extraConfig = '' | ||||||
|  |     #! /bin/bash | ||||||
|  |  | ||||||
|  | xrandr > /dev/shm/xrandr_output | ||||||
|  | sxhkd & | ||||||
|  | /nix/store/$(ls -la /nix/store | grep 'polkit-gnome' | grep '4096' | awk '{print $9}' | sed -n '$p')/libexec/polkit-gnome-authentication-agent-1 & | ||||||
|  |  | ||||||
|  | (xss-lock -- ~/.config/lock.sh || echo "AutoLock Hook Unavailable") & | ||||||
|  |  | ||||||
|  | wmname LG3D | ||||||
|  |  | ||||||
|  | export _IDISP=$(xrandr --query | grep " connected" | cut -d" " -f1 | grep "eDP" ) | ||||||
|  |  | ||||||
|  | if [[ $(hostname) == 'Iriy' ]]; then | ||||||
|  | 	xrandr --output DP-0 --scale 1 | ||||||
|  | 	xrandr --output DVI-I-0 --off --output DVI-I-1 --off --output HDMI-0 --off --output DP-0 --mode 3840x2160 --pos 1920x254 --rotate normal  --scale 0.75 --primary --output DP-1 --off --output DP-2 --mode 1920x1080 --pos 0x0 --rotate normal --output DP-3 --off --output DP-4 --mode 1920x1080 --pos 4800x0 --rotate normal --output DP-5 --off | ||||||
|  | 	bspc monitor DP-4 -d 1 | ||||||
|  | 	bspc monitor DP-2 -d 2 3 | ||||||
|  | 	bspc monitor DP-0 -d 0 4 5 6 7 8 9 | ||||||
|  | elif [[ $(hostname) == 'valinor' ]]; then | ||||||
|  | 	bspc monitor $_IDISP -d 1 2 3 4 5 6 7 8 9 | ||||||
|  | else | ||||||
|  | 	bspc monitor $_IDISP -d 1 2 3 4 5 6 7 8 9 | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | bspc config remove_unplugged_monitors true | ||||||
|  | bspc config remove_disabled_monitors true | ||||||
|  |  | ||||||
|  | bspc config border_width         2 | ||||||
|  | bspc config window_gap           6 | ||||||
|  | bspc config split_ratio          0.52 | ||||||
|  | bspc config borderless_monocle   false | ||||||
|  | bspc config gapless_monocle      false | ||||||
|  |  | ||||||
|  |  | ||||||
|  | bspc rule -a Screenkey manage=off | ||||||
|  |  | ||||||
|  | #bspc config super mod4 | ||||||
|  | bspc config pointer_action1 move | ||||||
|  | bspc config pointer_action2 none | ||||||
|  | bspc config pointer_action3 resize_corner | ||||||
|  | #bspc config click_to_focus true | ||||||
|  | #bspc config focus_follows_pointer true | ||||||
|  |  | ||||||
|  | xsetroot -cursor_name left_ptr | ||||||
|  |  | ||||||
|  | feh --bg-fill ~/cloud/dark.jpg | ||||||
|  |  | ||||||
|  | xrdb ~/.Xressources | ||||||
|  |  | ||||||
|  | dunst & | ||||||
|  | eww open bar & | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## Tab Global - Floating/Global Rules | ||||||
|  | bspc rule -a URxvt:yakuaki sticky=on state=floating hidden=on rectangle=$(($(xrandr --current | grep ' connected ' | uniq | awk '{print $4}' | cut -d 'x' -f1 | head -n1)-16))x600+$(($(xrandr --current | grep ' connected' | uniq | awk '{print $4}' | cut -d "+" -f2 | head -n1)+8))+$(($(xrandr --current | grep ' connected' | uniq | awk '{print $4}' | cut -d "+" -f3 | head -n1)+36)) | ||||||
|  | urxvt -name yakuaki -e ~/.config/script/yakuaki & | ||||||
|  | kitty | ||||||
|  |  | ||||||
|  | bspc rule -a feh state=floating | ||||||
|  | bspc rule -a Confirm state=floating | ||||||
|  | bspc rule -a Preferences state=floating | ||||||
|  | bspc rule -a dialog state=floating | ||||||
|  | bspc rule -a menu state=floating | ||||||
|  | bspc rule -a task_dialog state=floating | ||||||
|  | bspc rule -a bubble state=floating | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## Tab 8 - Various & Utility | ||||||
|  | bspc rule -a KeePassXC --one-shot desktop=8 | ||||||
|  | bspc rule -a Nextcloud desktop=8 | ||||||
|  | bspc rule -a Tk:tk desktop=8 | ||||||
|  |  | ||||||
|  | ## Tab 4 - Dev | ||||||
|  | bspc rule -a VSCodium desktop=4 | ||||||
|  |  | ||||||
|  | ## Tab 3 - Games & Movies | ||||||
|  | # ... | ||||||
|  | # ... | ||||||
|  |  | ||||||
|  | ## Tab 2 - Coms Main | ||||||
|  | bspc rule -a TelegramDesktop desktop=2 | ||||||
|  | bspc rule -a Instagram desktop=2 | ||||||
|  | bspc rule -a lightcord desktop=2 | ||||||
|  | bspc rule -a discord desktop=2 | ||||||
|  |  | ||||||
|  |  | ||||||
|  | ## Tab 1 - Internet | ||||||
|  | bspc rule -a Firefox --one-shot desktop=1 | ||||||
|  | bspc rule -a firefox --one-shot desktop=1 | ||||||
|  | bspc rule -a Google-chrome desktop=1 | ||||||
|  | bspc rule -a Chromium=1 | ||||||
|  |  | ||||||
|  |  | ||||||
|  | sh ~/.config/startup.sh | ||||||
|  |   ''; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   xdg.configFile."startup.sh".text =  '' | ||||||
|  | #!/bin/sh | ||||||
|  |  | ||||||
|  | bspc desktop -f 0 | ||||||
|  |  | ||||||
|  | keepassxc --keyfile ~/.config/hcl.ico ~/cloud/kek.kdbx --pw-stdin <<< $(rofi -dmenu -password -i -no-fixed-num-lines -p "Password:" -theme themes/pass) & | ||||||
|  |  | ||||||
|  | sleep 2 | ||||||
|  | bspc desktop -f 0 | ||||||
|  |  | ||||||
|  | telegram-desktop & | ||||||
|  | discord & | ||||||
|  | nextcloud & | ||||||
|  | jellyfin-mpv-shim & | ||||||
|  | flameshot & | ||||||
|  |  | ||||||
|  | sleep 2 | ||||||
|  |  | ||||||
|  | firefox & | ||||||
|  |  | ||||||
|  | ibus-daemon -drx | ||||||
|  |  | ||||||
|  | easyeffects --gapplication-service & | ||||||
|  | bspc desktop -f 0 | ||||||
|  |   ''; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | services.sxhkd.extraConfig = '' | ||||||
|  | super + Return | ||||||
|  | 	urxvt	 | ||||||
|  |  | ||||||
|  | # terminal floating | ||||||
|  | super + shift + Return | ||||||
|  | 	~/.config/script/toggle_yakuaki | ||||||
|  |  | ||||||
|  | # program launcher | ||||||
|  | super + d | ||||||
|  | 	rofi -modi "drun" -show drun | ||||||
|  |  | ||||||
|  | super + shift + d | ||||||
|  | 	rofi -show run | ||||||
|  |  | ||||||
|  | super + Tab | ||||||
|  | 	rofi -show window | ||||||
|  |  | ||||||
|  | super + Escape | ||||||
|  | 	pkill -USR1 -x sxhkd; \ | ||||||
|  | 	notify-send "sxhkd config reloaded" | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # bspwm hotkeys | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # quit bspwm normally | ||||||
|  | super + alt + Escape | ||||||
|  | 	bspc quit | ||||||
|  |  | ||||||
|  | # close and kill | ||||||
|  | super + {_,shift + }w | ||||||
|  | 	bspc node -{c,k} | ||||||
|  |  | ||||||
|  | # alternate between the tiled and monocle layout | ||||||
|  | super + m | ||||||
|  | 	bspc desktop -l next | ||||||
|  |  | ||||||
|  | # if the current node is automatic, send it to the last manual, otherwise pull the last leaf | ||||||
|  | super + y | ||||||
|  | 	bspc query -N -n focused.automatic && bspc node -n last.!automatic || bspc node last.leaf -n focused | ||||||
|  |  | ||||||
|  | # swap the current node and the biggest node | ||||||
|  | super + g | ||||||
|  | 	bspc node -s biggest | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # state/flags | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # set the window state | ||||||
|  | super + {t,shift + t,s,f} | ||||||
|  | 	bspc node -t {tiled,pseudo_tiled,floating,fullscreen} | ||||||
|  |  | ||||||
|  | # set the node flags | ||||||
|  | super + ctrl + {x,y,z} | ||||||
|  | 	bspc node -g {locked,sticky,private} | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # focus/swap | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # focus the node in the given direction | ||||||
|  | super + shift + {_,ctrl + }{h,j,k,l} | ||||||
|  | 	bspc node -{f,s} {west,south,north,east} | ||||||
|  |  | ||||||
|  | # focus the node for the given path jump | ||||||
|  | # super + {p,b,comma,period} | ||||||
|  | # bspc node -f @{parent,brother,first,second} | ||||||
|  |  | ||||||
|  | # focus the next/previous node | ||||||
|  | super + {_,shift + }c | ||||||
|  | 	bspc node -f {next,prev} | ||||||
|  |  | ||||||
|  | # focus the next/previous desktop | ||||||
|  | super + bracket{left,right} | ||||||
|  | 	bspc desktop -f {prev,next} | ||||||
|  |  | ||||||
|  | # focus the last node/desktop | ||||||
|  | super + {grave,Tab} | ||||||
|  | 	bspc {node,desktop} -f last | ||||||
|  |  | ||||||
|  | # focus the older or newer node in the focus history | ||||||
|  | super + {o,i} | ||||||
|  | 	bspc wm -h off; \ | ||||||
|  | 	bspc node {older,newer} -f; \ | ||||||
|  | 	bspc wm -h on | ||||||
|  |  | ||||||
|  | # focus or send to the given desktop | ||||||
|  | super + {_,shift + }{1-9,0} | ||||||
|  | 	bspc {desktop -f,node -d} {1-9,0} | ||||||
|  |  | ||||||
|  | # focus the next/previous node in the same window | ||||||
|  | super + {comma,period} | ||||||
|  |     bspc node -f {next,prev}.local | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # preselect | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # preselect the direction | ||||||
|  | super + ctrl + {h,j,k,l} | ||||||
|  | 	bspc node -p {west,south,north,east} | ||||||
|  |  | ||||||
|  | # preselect the ratio | ||||||
|  | super + ctrl + {1-9} | ||||||
|  | 	bspc node -o 0.{1-9} | ||||||
|  |  | ||||||
|  | # cancel the preselection for the focused node | ||||||
|  | super + ctrl + space | ||||||
|  | 	bspc node -p cancel | ||||||
|  |  | ||||||
|  | # cancel the preselection for the focused desktop | ||||||
|  | super + ctrl + shift + space | ||||||
|  | 	bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # move/resize | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # expand a window by moving one of its side outward | ||||||
|  | super + alt + {h,j,k,l} | ||||||
|  | 	bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} | ||||||
|  |  | ||||||
|  | # contract a window by moving one of its side inward | ||||||
|  | super + alt + shift + {h,j,k,l} | ||||||
|  | 	bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} | ||||||
|  |  | ||||||
|  | # move a floating window | ||||||
|  | super + {Left,Down,Up,Right} | ||||||
|  | 	bspc node -v {-20 0,0 20,0 -20,20 0} | ||||||
|  |  | ||||||
|  | super + {equal,minus}  | ||||||
|  | 	bspc config window_gap $(( $(bspc config window_gap) {+,-} 5 )) | ||||||
|  |  | ||||||
|  | super + ctrl + {Left,Right,Up,Down} | ||||||
|  |     bspc node @focused:/ --rotate {270,90,180,180} | ||||||
|  |  | ||||||
|  | super + shift + {Left,Right,Up,Down} | ||||||
|  |     bspc node -f @parent; bspc node -R 90 | ||||||
|  |  | ||||||
|  | # Screenshots | ||||||
|  | Print | ||||||
|  | 	flameshot gui | ||||||
|  |  | ||||||
|  | # Lock Desktop | ||||||
|  | super + l | ||||||
|  |         ~/.config/script/lock.sh | ||||||
|  |  | ||||||
|  | # Lock Alternative | ||||||
|  | super + k | ||||||
|  |         xtrlock | ||||||
|  |  | ||||||
|  | # VOLUME | ||||||
|  |  | ||||||
|  | XF86AudioMute | ||||||
|  | 	pactl set-sink-mute @DEFAULT_SINK@ toggle | ||||||
|  |  | ||||||
|  | XF86AudioRaiseVolume | ||||||
|  | 	pactl set-sink-volume @DEFAULT_SINK@ +5% | ||||||
|  |  | ||||||
|  | XF86AudioLowerVolume | ||||||
|  | 	pactl set-sink-volume @DEFAULT_SINK@ -5% | ||||||
|  |  | ||||||
|  | # BRIGHTNESS | ||||||
|  |  | ||||||
|  | # Brightness goes up | ||||||
|  | #/home/gamehelp16/Documents/brightness -u | ||||||
|  | XF86MonBrightnessUp | ||||||
|  | 	brightnessctl set +16 | ||||||
|  |  | ||||||
|  | # Brightness goes down | ||||||
|  | XF86MonBrightnessDown | ||||||
|  | 	brightnessctl set 16- | ||||||
|  |  | ||||||
|  | super + F1 | ||||||
|  |         pactl set-source-mute @DEFAULT_SOURCE@ toggle | ||||||
|  |  | ||||||
|  | XF86AudioMicMute | ||||||
|  | 	pactl set-source-mute @DEFAULT_SOURCE@ toggle | ||||||
|  |  | ||||||
|  | super + F7  | ||||||
|  | 	~/.config/script/screens.sh | ||||||
|  |  | ||||||
|  | XF86Display | ||||||
|  | 	~/.config/script/screens.sh | ||||||
|  |       ''; | ||||||
|  | } | ||||||
							
								
								
									
										18
									
								
								home/xorg/bspwm/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18
									
								
								home/xorg/bspwm/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | { | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     ./config.nix | ||||||
|  |     ./script.nix | ||||||
|  |     ./xressources.nix | ||||||
|  |   ]; | ||||||
|  |    | ||||||
|  |   xsession.windowManager.bspwm = { | ||||||
|  |     enable = true; | ||||||
|  |   }; | ||||||
|  |    | ||||||
|  |   services.sxhkd = { | ||||||
|  |     enable = true; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										92
									
								
								home/xorg/bspwm/script.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										92
									
								
								home/xorg/bspwm/script.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,92 @@ | |||||||
|  | { | ||||||
|  |     config, | ||||||
|  |     ... | ||||||
|  | }: { | ||||||
|  |  | ||||||
|  |   xdg.configFile."script/lock.sh".text = '' | ||||||
|  | #!/bin/bash | ||||||
|  | TMPBG=/tmp/screen.png | ||||||
|  | RES=$(xrandr | grep 'current' | sed -E 's/.*current\s([0-9]+)\sx\s([0-9]+).*/\1x\2/') | ||||||
|  |  | ||||||
|  | ffmpeg -f x11grab -video_size $RES -y -i $DISPLAY -filter_complex "boxblur=10:1" -vframes 1 $TMPBG | ||||||
|  |  | ||||||
|  | pkill -xu $EUID -USR1 dunst | ||||||
|  | i3lock -i $TMPBG & | ||||||
|  | wait  | ||||||
|  | pkill -xu $EUID -USR1 dunst | ||||||
|  |  | ||||||
|  | rm $TMPBG | ||||||
|  |   ''; | ||||||
|  |  | ||||||
|  |   xdg.configFile."script/screens.sh".text = '' | ||||||
|  | #!/bin/bash | ||||||
|  |  | ||||||
|  | if [[ $(hostname) == 'Iriy' ]]; then | ||||||
|  | MENU="$(rofi -sep "|" -dmenu -i -p 'Display Mode' -theme-str 'entry { placeholder: ""; } inputbar { children: [prompt, textbox-prompt-colon, entry];}' -location 2 -xoffset 0 -yoffset 34 -width 8 -hide-scrollbar -line-padding 4 -padding 10 -lines 6 <<< "None | S")" | ||||||
|  |     case "$MENU" in | ||||||
|  |         *None) | ||||||
|  |             xrandr --output DP-0 --scale 1 | ||||||
|  |             xrandr --output DVI-I-0 --off --output DVI-I-1 --off --output HDMI-0 --off --output DP-0 --mode 3840x2160 --pos 1920x254 --rotate normal  --scale 0.75 --primary --output DP-1 --off --output DP-2 --mode 1920x1080 --pos 0x0 --rotate normal --output DP-3 --off --output DP-4 --mode 1920x1080 --pos 4800x0 --rotate normal --output DP-5 --off | ||||||
|  |             bspc monitor DP-4 -d 1 | ||||||
|  |             bspc monitor DP-2 -d 2 3 | ||||||
|  |             bspc monitor DP-0 -d 0 4 5 6 7 8 9 | ||||||
|  |             ;; | ||||||
|  |         *S) | ||||||
|  |             xrandr --output DP-0 --scale 1 | ||||||
|  |             xrandr --output DVI-I-0 --off --output DVI-I-1 --off --output HDMI-0 --off --output DP-0 --mode 3840x2160 --pos 1920x254 --rotate normal  --scale 0.75 --primary --output DP-1 --off --output DP-2 --off --output DP-3 --off --output DP-4 --off --output DP-5 --off | ||||||
|  |             bspc monitor DP-0 -d 0 1 2 3 4 5 6 7 8 9 | ||||||
|  |             ;; | ||||||
|  |         *WIP) echo "WIP" | ||||||
|  |     esac | ||||||
|  | elif [[ $(hostname) == 'valinor' ]]; then | ||||||
|  | MENU="$(rofi -sep "|" -dmenu -i -p 'Display Mode' -theme-str 'entry { placeholder: ""; } inputbar { children: [prompt, textbox-prompt-colon, entry];}' -location 2 -xoffset 0 -yoffset 34 -width 8 -hide-scrollbar -line-padding 4 -padding 10 -lines 6 <<< "None|P0|P1")" | ||||||
|  |     case "$MENU" in | ||||||
|  |         *None) | ||||||
|  |             xrandr --output HDMI-1 --off --output DisplayPort-0 --off --output DisplayPort-1 --off --output eDP-1 --auto  | ||||||
|  |             bspc monitor eDP -d 1 2 3 4 5 6 7 8 9 | ||||||
|  |             ;; | ||||||
|  |         *P0) | ||||||
|  |             xrandr --output HDMI-1 --auto --output eDP-1 --auto --below HDMI-1 | ||||||
|  |             bspc monitor HDMI-1 --swap eDP-1 | ||||||
|  |             bspc monitor HDMI-1 -d 0 | ||||||
|  |             bspc monitor eDP-1 -d 1 2 3 4 5 6 7 8 9 | ||||||
|  |             ;; | ||||||
|  |         *P1) | ||||||
|  |             xrandr --output eDP-1 --primary --mode 1920x1080 --pos 1200x1200 --rotate normal --output HDMI-1 --mode 1920x1200 --pos 1200x0 --rotate normal --output DisplayPort-1 --mode 1920x1200 --pos 0x210 --rotate left | ||||||
|  |             bspc monitor HDMI-1 --swap eDP-1 | ||||||
|  |             bspc monitor HDMI-1 -d 0 | ||||||
|  |             bspc monitor eDP -d 1 2 3 4 5 6 7 8 9 | ||||||
|  |             ;; | ||||||
|  |         *WIP) echo "WIP" | ||||||
|  |     esac | ||||||
|  | fi | ||||||
|  | feh --bg-fill ~/cloud/dark.jpg | ||||||
|  |   ''; | ||||||
|  |      | ||||||
|  |     xdg.configFile."script/yakuaki.sh".text = '' | ||||||
|  | #!/bin/bash | ||||||
|  | bspc query -N -n any.floating.hidden > /tmp/yakuakid | ||||||
|  | ~/.config/script/toggle_yakuaki | ||||||
|  | $SHELL | ||||||
|  | clear | ||||||
|  |   ''; | ||||||
|  |  | ||||||
|  |     xdg.configFile."script/toggle_yakuaki.sh".text = '' | ||||||
|  | #!/bin/bash | ||||||
|  | if [[ -e /tmp/yakuakid ]] | ||||||
|  | then | ||||||
|  |   id=$(cat /tmp/yakuakid) | ||||||
|  |   exists=$(bspc query -N $id -n) | ||||||
|  |   if [[ $exists = $id ]] | ||||||
|  |   then | ||||||
|  |     bspc node $id --flag hidden;bspc node -f $id | ||||||
|  |   else | ||||||
|  |     rm /tmp/yakuakid | ||||||
|  |     urxvt -name yakuaki -e ~/.config/script/yakuaki & | ||||||
|  |   fi | ||||||
|  | else | ||||||
|  |   ~/.config/script/yakuaki | ||||||
|  | fi | ||||||
|  |   ''; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										102
									
								
								home/xorg/bspwm/xressources.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										102
									
								
								home/xorg/bspwm/xressources.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,102 @@ | |||||||
|  | { | ||||||
|  |     config, | ||||||
|  |     ... | ||||||
|  | }: { | ||||||
|  |  xresources.extraConfig =   '' | ||||||
|  |  | ||||||
|  | #define white #ffffff | ||||||
|  | #define black #000000 | ||||||
|  | #define cFG #${config.colorScheme.colors.base07} | ||||||
|  | #define cBG #${config.colorScheme.colors.base00} | ||||||
|  | #define cP #${config.colorScheme.colors.base07} | ||||||
|  | #define cH #${config.colorScheme.colors.base0C} | ||||||
|  | #define c0 #${config.colorScheme.colors.base00} | ||||||
|  | #define c1 #${config.colorScheme.colors.base01} | ||||||
|  | #define c2 #${config.colorScheme.colors.base02} | ||||||
|  | #define c3 #${config.colorScheme.colors.base03} | ||||||
|  | #define c4 #${config.colorScheme.colors.base04} | ||||||
|  | #define c5 #${config.colorScheme.colors.base05} | ||||||
|  | #define c6 #${config.colorScheme.colors.base06} | ||||||
|  | #define c7 #${config.colorScheme.colors.base07} | ||||||
|  | #define c8 #${config.colorScheme.colors.base08} | ||||||
|  | #define c9 #${config.colorScheme.colors.base09} | ||||||
|  | #define cA #${config.colorScheme.colors.base0A} | ||||||
|  | #define cB #${config.colorScheme.colors.base0B} | ||||||
|  | #define cC #${config.colorScheme.colors.base0C} | ||||||
|  | #define cD #${config.colorScheme.colors.base0D} | ||||||
|  | #define cE #${config.colorScheme.colors.base0E} | ||||||
|  | #define cF #${config.colorScheme.colors.base0F} | ||||||
|  |  | ||||||
|  | Xft.dpi: 96 | ||||||
|  |  | ||||||
|  | URxvt.perl-ext-common: default,matcher,tabbed | ||||||
|  | URxvt.url-launcher: firefox | ||||||
|  | URxvt.matcher.button: 1 | ||||||
|  | URxvt.url-select.launcher: firefox | ||||||
|  | URxvt.url-select.underline: true | ||||||
|  |  | ||||||
|  | !URxvt*loginShell: true | ||||||
|  | !URxvt*borderless: true | ||||||
|  | URxvt*dynamicColors: on | ||||||
|  |  | ||||||
|  | URxvt*foreground: cFG | ||||||
|  | URxvt*background: cBG | ||||||
|  |  | ||||||
|  | URxvt*saveLines:        8192 | ||||||
|  | URxvt*mapAlert:        true | ||||||
|  | !URxvt*visualBell:       true | ||||||
|  | URxvt*pastableTabs:     false | ||||||
|  |  | ||||||
|  | URxvt*transparent: True | ||||||
|  | URxvt*shading: 25 | ||||||
|  |  | ||||||
|  | URxvt*cursorColor:  cP | ||||||
|  | URxvt*throughColor: cF | ||||||
|  | !URxvt*highlightColor: cH | ||||||
|  |  | ||||||
|  | URxvt*font:       xft:IBMPlexMono:style=Regular:size=10, xft:OpenMoji:size=11, xft:MaterialDesignIcons:size=11 | ||||||
|  | URxvt*boldFont:   xft:IBMPlexMono:style=Bold:size=10 | ||||||
|  | URxvt*italicFont: xft:IBMPlexMono:style=Oblique:size=10 | ||||||
|  |  | ||||||
|  | URxvt.iso14755:   False | ||||||
|  | URxvt.scrollBar: False | ||||||
|  | URxvt.scrollBar_right: False | ||||||
|  | URxvt.scrollBar_floating: False | ||||||
|  | URxvt.scrollstyle: rxvt | ||||||
|  |  | ||||||
|  | URxvt.tabbed.tabbar-fg: 7 | ||||||
|  | URxvt.tabbed.tabbar-bg: 0 | ||||||
|  | URxvt.tabbed.tab-fg: 7 | ||||||
|  | URxvt.tabbed.tab-bg: 1 | ||||||
|  |  | ||||||
|  | URxvt.letterSpace: true | ||||||
|  |  | ||||||
|  | Xft.antialias: True | ||||||
|  | Xft.autohint: False | ||||||
|  | Xft.hinting: True | ||||||
|  |  | ||||||
|  | !*.foreground: cFG | ||||||
|  | !*.background: cBF | ||||||
|  | !*.cursorColor: cP | ||||||
|  |  | ||||||
|  | !*fading:35 | ||||||
|  | !*faceColor:c1 | ||||||
|  |  | ||||||
|  | *.color0:  c0 | ||||||
|  | *.color1:  c1 | ||||||
|  | *.color2:  c2 | ||||||
|  | *.color3:  c3 | ||||||
|  | *.color4:  c4 | ||||||
|  | *.color5:  c5 | ||||||
|  | *.color6:  c6 | ||||||
|  | *.color7:  c7 | ||||||
|  | *.color8:  c8 | ||||||
|  | *.color9:  c9 | ||||||
|  | *.color10: cA | ||||||
|  | *.color11: cB | ||||||
|  | *.color12: cC | ||||||
|  | *.color13: cD | ||||||
|  | *.color14: cE | ||||||
|  | *.color15: cF | ||||||
|  |     ''; | ||||||
|  | } | ||||||
							
								
								
									
										68
									
								
								home/xorg/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										68
									
								
								home/xorg/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,68 @@ | |||||||
|  | { | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |  | ||||||
|  |   imports = [ | ||||||
|  |    ../../modules/greetd.nix  | ||||||
|  |   ]; | ||||||
|  |    | ||||||
|  |   environment.systemPackages = with pkgs; [ | ||||||
|  |     sxhkd | ||||||
|  |     xrandr | ||||||
|  |     arandr | ||||||
|  |     flameshot | ||||||
|  |     xtrlock | ||||||
|  |     i3lock | ||||||
|  |      | ||||||
|  |     # dbus-hyprland-environment | ||||||
|  |     # xdg-user-dirs | ||||||
|  |     # wayland | ||||||
|  |     # grim | ||||||
|  |     # slurp | ||||||
|  |     # cliphist | ||||||
|  |     # wl-clipboard | ||||||
|  |     # wlogout | ||||||
|  |     # wlr-randr | ||||||
|  |     # glib | ||||||
|  |   ]; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   services.dbus.enable = true; | ||||||
|  |   xdg.portal = { | ||||||
|  |     enable = true; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   programs.bspwm.enable = true; | ||||||
|  |  | ||||||
|  |   environment.sessionVariables = rec { | ||||||
|  |     GBM_BACKEND = "amd-drm"; | ||||||
|  |     __GL_GSYNC_ALLOWED = "0"; | ||||||
|  |     __GL_VRR_ALLOWED = "0"; | ||||||
|  |     WLR_DRM_NO_ATOMIC = "1"; | ||||||
|  |     __GLX_VENDOR_LIBRARY_NAME = "amd"; | ||||||
|  |     _JAVA_AWT_WM_NONREPARENTING = "1"; | ||||||
|  |     QT_QPA_PLATFORM = "xcb"; | ||||||
|  |     QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; | ||||||
|  |     GDK_BACKEND = "x11"; | ||||||
|  |     WLR_NO_HARDWARE_CURSORS = "1"; | ||||||
|  |     MOZ_ENABLE_WAYLAND = "-"; | ||||||
|  |     WLR_BACKEND = "vulkan"; | ||||||
|  |     WLR_RENDERER = "vulkan"; | ||||||
|  |     XCURSOR_SIZE = "24"; | ||||||
|  |     NIXOS_OZONE_WL = "1"; | ||||||
|  |     PATH = [ | ||||||
|  |       "$HOME/.local/bin/:$PATH" | ||||||
|  |     ]; | ||||||
|  |     XDG_CACHE_HOME  = "$HOME/.cache"; | ||||||
|  |     XDG_CONFIG_HOME = "$HOME/.config"; | ||||||
|  |     XDG_DATA_HOME   = "$HOME/.local/share"; | ||||||
|  |     XDG_STATE_HOME  = "$HOME/.local/state"; | ||||||
|  |     XDG_BIN_HOME    = "$HOME/.local/bin"; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   environment.etc."greetd/environments".text = '' | ||||||
|  |     bspwm | ||||||
|  |   ''; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										27
									
								
								hosts/_/cfg.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								hosts/_/cfg.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,27 @@ | |||||||
|  | { | ||||||
|  |     lib, | ||||||
|  |     config,  | ||||||
|  |     ...  | ||||||
|  | }:    | ||||||
|  | with lib;                | ||||||
|  | let | ||||||
|  |   cfg = config.hostcfg; | ||||||
|  | in { | ||||||
|  |   options.hostcfg = { | ||||||
|  |     hostname = mkOption { | ||||||
|  |       type = types.str; | ||||||
|  |     }; | ||||||
|  |     wlp_if = mkOption { | ||||||
|  |         type = types.str; | ||||||
|  |     }; | ||||||
|  |     wg_ip4 = mkOption { | ||||||
|  |         type = types.str; | ||||||
|  |     }; | ||||||
|  |     wg_ip6 = mkOption { | ||||||
|  |         type = types.str; | ||||||
|  |     }; | ||||||
|  |     wg_pk = mkOption { | ||||||
|  |         type = types.str; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										88
									
								
								hosts/_/home.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										88
									
								
								hosts/_/home.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,88 @@ | |||||||
|  | { | ||||||
|  |   config,  | ||||||
|  |   pkgs,  | ||||||
|  |   ... | ||||||
|  | }:{ | ||||||
|  |  | ||||||
|  | imports = [ | ||||||
|  |   ../../colors | ||||||
|  |   ../../home/cli | ||||||
|  |   ../../home/gui | ||||||
|  |   ../../home/wayland/hyprland | ||||||
|  | ]; | ||||||
|  |  | ||||||
|  |   systemd.user.startServices = "sd-switch"; | ||||||
|  |   programs.home-manager.enable = true; | ||||||
|  |   services.nextcloud-client.enable = true; | ||||||
|  |  | ||||||
|  |   xdg.userDirs.enable = true; | ||||||
|  |   xdg.userDirs.desktop = "${config.home.homeDirectory}/desktop"; | ||||||
|  |   xdg.userDirs.documents = "${config.home.homeDirectory}/desktop"; | ||||||
|  |   xdg.userDirs.download = "${config.home.homeDirectory}/downloads"; | ||||||
|  |   xdg.userDirs.extraConfig = { | ||||||
|  |     XDG_MISC_DIR = "${config.home.homeDirectory}/misc"; | ||||||
|  |   }; | ||||||
|  |   xdg.userDirs.music = "${config.home.homeDirectory}/media/music"; | ||||||
|  |   xdg.userDirs.pictures = "${config.home.homeDirectory}/media/photo"; | ||||||
|  |   xdg.userDirs.publicShare = "${config.home.homeDirectory}/media/photo"; | ||||||
|  |   xdg.userDirs.templates = "${config.home.homeDirectory}/media/template"; | ||||||
|  |   xdg.userDirs.videos = "${config.home.homeDirectory}/media/video"; | ||||||
|  |   xdg.userDirs.createDirectories = true; | ||||||
|  |  | ||||||
|  |   home = { | ||||||
|  |     username = "sora"; | ||||||
|  |     homeDirectory = "/home/sora"; | ||||||
|  |     packages = with pkgs; [ | ||||||
|  |  | ||||||
|  |       #lang | ||||||
|  |       go | ||||||
|  |       cargo | ||||||
|  |       nodejs | ||||||
|  |       yarn | ||||||
|  |       python3Full | ||||||
|  |       pipenv | ||||||
|  |       tk | ||||||
|  |  | ||||||
|  |       #ui | ||||||
|  |       firefox | ||||||
|  |       vscodium | ||||||
|  |       xfce.thunar | ||||||
|  |       xfce.thunar-volman | ||||||
|  |       xfce.thunar-archive-plugin | ||||||
|  |       # xplorer | ||||||
|  |       discord | ||||||
|  |       telegram-desktop | ||||||
|  |       obs-studio | ||||||
|  |       pavucontrol | ||||||
|  |       unzip | ||||||
|  |       appimage-run | ||||||
|  |       yt-dlp | ||||||
|  |       keepassxc | ||||||
|  |       nextcloud-client | ||||||
|  |       jellyfin-mpv-shim | ||||||
|  |  | ||||||
|  |       #software | ||||||
|  |       krita | ||||||
|  |       gimp | ||||||
|  |       gramps | ||||||
|  |       custom.simc | ||||||
|  |  | ||||||
|  |       #games | ||||||
|  |       wineWowPackages.wayland | ||||||
|  |       gamemode | ||||||
|  |       gamescope | ||||||
|  |       mangohud | ||||||
|  |       prismlauncher | ||||||
|  |       openttd-jgrpp | ||||||
|  |       bottles | ||||||
|  |  | ||||||
|  |       #sexyterm | ||||||
|  |       cbonsai | ||||||
|  |       pipes-rs | ||||||
|  |       cmatrix | ||||||
|  |       cava | ||||||
|  |     ]; | ||||||
|  |      | ||||||
|  |     stateVersion = "23.05"; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										160
									
								
								hosts/_/host.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										160
									
								
								hosts/_/host.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,160 @@ | |||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = | ||||||
|  |     [  | ||||||
|  |     ../../home/wayland | ||||||
|  |   #  ../../home/xorg | ||||||
|  |     ../../modules | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|  |   time.timeZone = "Europe/Zurich"; | ||||||
|  |  | ||||||
|  |   i18n.defaultLocale = "en_GB.UTF-8"; | ||||||
|  |  | ||||||
|  |   i18n.extraLocaleSettings = { | ||||||
|  |     LC_ADDRESS = "en_GB.UTF-8"; | ||||||
|  |     LC_IDENTIFICATION = "en_GB.UTF-8"; | ||||||
|  |     LC_MEASUREMENT = "en_GB.UTF-8"; | ||||||
|  |     LC_MONETARY = "en_GB.UTF-8"; | ||||||
|  |     LC_NAME = "en_GB.UTF-8"; | ||||||
|  |     LC_NUMERIC = "en_GB.UTF-8"; | ||||||
|  |     LC_PAPER = "en_GB.UTF-8"; | ||||||
|  |     LC_TELEPHONE = "en_GB.UTF-8"; | ||||||
|  |     LC_TIME = "en_GB.UTF-8"; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   services = { | ||||||
|  |     fstrim = { | ||||||
|  |       enable = true; | ||||||
|  |     }; | ||||||
|  |     xserver = { | ||||||
|  |      enable = true; | ||||||
|  |      videoDrivers = [ "amd" ]; | ||||||
|  |      layout = "us"; | ||||||
|  |      xkbVariant = "intl"; | ||||||
|  |      excludePackages = [ pkgs.xterm ]; | ||||||
|  |      exportConfiguration = true; | ||||||
|  |     #  libinput.touchpad.tapping = false; | ||||||
|  |      desktopManager.xterm.enable = false; | ||||||
|  |     }; | ||||||
|  |     gvfs = { | ||||||
|  |       enable = true; | ||||||
|  |     }; | ||||||
|  |  }; | ||||||
|  |  | ||||||
|  |   programs.gnupg.agent = { | ||||||
|  |     enable = true; | ||||||
|  |     enableSSHSupport = true; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   # services.pcscd.enable = true; | ||||||
|  |  | ||||||
|  |   sound.enable = true; | ||||||
|  |   hardware.pulseaudio.enable = false; | ||||||
|  |   security.rtkit.enable = true; | ||||||
|  |   services.pipewire = { | ||||||
|  |     enable = true; | ||||||
|  |     alsa.enable = true; | ||||||
|  |     alsa.support32Bit = true; | ||||||
|  |     pulse.enable = true; | ||||||
|  |     wireplumber.enable = true; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   hardware.bluetooth.enable = true; | ||||||
|  |   hardware.brillo.enable = true; | ||||||
|  |   services.blueman.enable = true; | ||||||
|  |  | ||||||
|  |   programs.steam.enable = true; | ||||||
|  |   programs.zsh.enable = true; | ||||||
|  |   programs.adb.enable = true; | ||||||
|  |  | ||||||
|  |   programs.ssh = { | ||||||
|  |     extraConfig = '' | ||||||
|  |       IdentityFile ${config.sops.secrets."${config.hostcfg.hostname}_ssh_priv".path} | ||||||
|  |     ''; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   security.polkit.enable = true; | ||||||
|  |   security.pam.services.swaylock = { | ||||||
|  |     text = '' | ||||||
|  |       auth include login | ||||||
|  |       ''; | ||||||
|  |   }; | ||||||
|  |    | ||||||
|  |   hardware = { | ||||||
|  |     opengl = { | ||||||
|  |       enable = true; | ||||||
|  |       extraPackages = with pkgs; []; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   modules.battery_monitor.enable = true; | ||||||
|  |  | ||||||
|  |   users = { | ||||||
|  |     defaultUserShell = pkgs.zsh; | ||||||
|  |     users.sora = { | ||||||
|  |       isNormalUser = true; | ||||||
|  |       description = "sora"; | ||||||
|  |       extraGroups = [ "networkmanager" "wheel" "vboxsf" "adbusers" "lp" "audio" "video"]; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   environment.systemPackages = with pkgs; [ | ||||||
|  |     wget | ||||||
|  |     dconf | ||||||
|  |     gvfs | ||||||
|  |     sops | ||||||
|  |  | ||||||
|  |     polkit_gnome | ||||||
|  |     nfs-utils | ||||||
|  |     bluez | ||||||
|  |     bluez-tools | ||||||
|  |     easyeffects | ||||||
|  |      | ||||||
|  |     jre8 | ||||||
|  |     jdk8 | ||||||
|  |     jdk | ||||||
|  |  ]; | ||||||
|  |  | ||||||
|  |   nix = { | ||||||
|  |     package = pkgs.nixFlakes; | ||||||
|  |     extraOptions = '' | ||||||
|  |       experimental-features = nix-command flakes | ||||||
|  |       warn-dirty = false | ||||||
|  |       '';  | ||||||
|  |     gc = { | ||||||
|  |       automatic = true; | ||||||
|  |       dates = "weekly"; | ||||||
|  |       options = "--delete-older-than 7d"; | ||||||
|  |     }; | ||||||
|  |     settings = { | ||||||
|  |       auto-optimise-store = true; | ||||||
|  |       builders-use-substitutes = true; | ||||||
|  |       substituters = [ | ||||||
|  |         "https://hyprland.cachix.org" | ||||||
|  |         "https://cache.nixos.org" | ||||||
|  |       ]; | ||||||
|  |       trusted-public-keys = [ | ||||||
|  |         "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" | ||||||
|  |         "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" | ||||||
|  |       ]; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |        | ||||||
|  |   nixpkgs.config = { | ||||||
|  |     permittedInsecurePackages = []; | ||||||
|  |     allowUnfree = true; | ||||||
|  |     packageOverrides = pkgs: { | ||||||
|  |       custom = import ../../pkgs { inherit pkgs; }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |   nixpkgs.overlays = import ../../pkgs/overlay.nix { inherit pkgs; }; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | system.stateVersion = "unstable"; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										112
									
								
								hosts/asgard/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										112
									
								
								hosts/asgard/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,112 @@ | |||||||
|  |  | ||||||
|  | { config, pkgs, ... }: | ||||||
|  |  | ||||||
|  | { | ||||||
|  |   imports = []; | ||||||
|  |  | ||||||
|  |   users.users.sora = { | ||||||
|  |     home = "/Users/sora"; | ||||||
|  |     shell = pkgs.zsh; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   networking = { | ||||||
|  |     computerName = "asgard"; | ||||||
|  |     hostName = "asgard"; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   fonts = {  | ||||||
|  |     fontDir.enable = true; | ||||||
|  |     fonts = with pkgs; [ | ||||||
|  |       ibm-plex | ||||||
|  |       openmoji-color | ||||||
|  |       material-design-icons | ||||||
|  |     ]; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   environment = { | ||||||
|  |     shells = with pkgs; [ zsh ]; | ||||||
|  |     variables = { | ||||||
|  |       EDITOR = "nvim"; | ||||||
|  |       VISUAL = "vscodium"; | ||||||
|  |     }; | ||||||
|  |     systemPackages = with pkgs; [ | ||||||
|  |       git | ||||||
|  |       ranger | ||||||
|  |  | ||||||
|  |       fd | ||||||
|  |       ripgrep | ||||||
|  |     ]; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   programs = { | ||||||
|  |     zsh.enable = true; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   services = { | ||||||
|  |     nix-daemon.enable = true; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   homebrew = {  | ||||||
|  |     enable = true; | ||||||
|  |     onActivation = { | ||||||
|  |       autoUpdate = false; | ||||||
|  |       upgrade = false; | ||||||
|  |       cleanup = "zap"; | ||||||
|  |     }; | ||||||
|  |     brews = [ | ||||||
|  |       "wireguard-tools" | ||||||
|  |     ]; | ||||||
|  |     casks = [ | ||||||
|  |     ]; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     nix = { | ||||||
|  |         package = pkgs.nix; | ||||||
|  |         extraOptions = '' | ||||||
|  |             experimental-features = nix-command flakes | ||||||
|  |             warn-dirty = false | ||||||
|  |             '';  | ||||||
|  |         gc = { | ||||||
|  |             automatic = true; | ||||||
|  |             dates = "weekly"; | ||||||
|  |             options = "--delete-older-than 7d"; | ||||||
|  |         }; | ||||||
|  |         settings = { | ||||||
|  |             auto-optimise-store = true; | ||||||
|  |             builders-use-substitutes = true; | ||||||
|  |             substituters = [ | ||||||
|  |                 "https://cache.nixos.org" | ||||||
|  |             ]; | ||||||
|  |             trusted-public-keys = [ | ||||||
|  |                 "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" | ||||||
|  |             ]; | ||||||
|  |         }; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     system = { | ||||||
|  |         defaults = { | ||||||
|  |             NSGlobalDomain = { | ||||||
|  |                 KeyRepeat = 1; | ||||||
|  |                 NSAutomaticCapitalizationEnabled = false; | ||||||
|  |                 NSAutomaticSpellingCorrectionEnabled = false; | ||||||
|  |             }; | ||||||
|  |             dock = {  | ||||||
|  |                 autohide = true; | ||||||
|  |                 orientation = "bottom"; | ||||||
|  |                 showhidden = true; | ||||||
|  |                 tilesize = 40; | ||||||
|  |             }; | ||||||
|  |             finder = {  | ||||||
|  |                 QuitMenuItem = false;  | ||||||
|  |             };   | ||||||
|  |             trackpad = {  | ||||||
|  |                 Clicking = true; | ||||||
|  |                 TrackpadRightClick = true; | ||||||
|  |             }; | ||||||
|  |         }; | ||||||
|  |         activationScripts.postActivation.text = ''sudo chsh -s ${pkgs.zsh}/bin/zsh'';  | ||||||
|  |         stateVersion = 4; | ||||||
|  |     }; | ||||||
|  | } | ||||||
							
								
								
									
										14
									
								
								hosts/asgard/home.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								hosts/asgard/home.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | { pkgs, ... }: | ||||||
|  | { | ||||||
|  |     home = {  | ||||||
|  |         packages = with pkgs; []; | ||||||
|  |         stateVersion = "22.05"; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     programs = { | ||||||
|  |         zsh = { | ||||||
|  |             enable = true; | ||||||
|  |             # FIND SETTINGS FROM /home/cli/zsh | ||||||
|  |         }; | ||||||
|  |     }; | ||||||
|  | } | ||||||
							
								
								
									
										32
									
								
								hosts/iriy/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										32
									
								
								hosts/iriy/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,32 @@ | |||||||
|  | {  | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = | ||||||
|  |     [  | ||||||
|  |     ../_/cfg.nix | ||||||
|  |     ./hardware-configuration.nix | ||||||
|  |     ../_/host.nix | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|  |   boot.loader = { | ||||||
|  |     systemd-boot = { | ||||||
|  |       enable = true; | ||||||
|  |       configurationLimit = 8; | ||||||
|  |     }; | ||||||
|  |     efi = { | ||||||
|  |       canTouchEfiVariables = true; | ||||||
|  |       efiSysMountPoint = "/boot/efi"; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   hostcfg = { | ||||||
|  |     hostname = "iriy"; | ||||||
|  |     wlp_if = "wlp9s0"; | ||||||
|  |     wg_ip4 = "10.10.1.7/24"; | ||||||
|  |     wg_ip6 = "fd10:10:10::7/128"; | ||||||
|  |     wg_pk = config.sops.secrets.iriy_wg_priv.path; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										37
									
								
								hosts/iriy/hardware-configuration.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										37
									
								
								hosts/iriy/hardware-configuration.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,37 @@ | |||||||
|  | # Do not modify this file!  It was generated by ‘nixos-generate-config’ | ||||||
|  | # and may be overwritten by future invocations.  Please make changes | ||||||
|  | # to /etc/nixos/configuration.nix instead. | ||||||
|  | { config, lib, pkgs, modulesPath, ... }: | ||||||
|  |  | ||||||
|  | { | ||||||
|  |   imports = [ | ||||||
|  |     (modulesPath + "/installer/scan/not-detected.nix") | ||||||
|  |    ]; | ||||||
|  |  | ||||||
|  |   boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; | ||||||
|  |   boot.initrd.kernelModules = [ ]; | ||||||
|  |   boot.kernelModules = [ "v4l2loopback" "kvm-amd" ]; | ||||||
|  |   boot.kernelPackages = pkgs.linuxPackages_latest; | ||||||
|  |   boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback.out ]; | ||||||
|  |    | ||||||
|  |   virtualisation.libvirtd.enable = true; | ||||||
|  |  | ||||||
|  |   fileSystems."/" = | ||||||
|  |     { device = "/dev/disk/by-uuid/f612abce-6f3f-439a-8585-6a050e18b7fc"; | ||||||
|  |       fsType = "ext4"; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |   fileSystems."/boot/efi" = | ||||||
|  |     { device = "/dev/disk/by-uuid/349E-5086"; | ||||||
|  |       fsType = "vfat"; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |   swapDevices = | ||||||
|  |     [ {  | ||||||
|  |       device = "/dev/disk/by-uuid/42394c4d-2c81-4917-82ff-75a548715a7d"; | ||||||
|  |     }]; | ||||||
|  |  | ||||||
|  |   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; | ||||||
|  |   hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; | ||||||
|  |   hardware.opengl.driSupport32Bit = true; | ||||||
|  | } | ||||||
							
								
								
									
										25
									
								
								hosts/iriy/home.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								hosts/iriy/home.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,25 @@ | |||||||
|  | {config, pkgs, ...}: | ||||||
|  | { | ||||||
|  |  | ||||||
|  |   imports = [ | ||||||
|  |     ../_/home.nix | ||||||
|  |   ]; | ||||||
|  |  | ||||||
|  |   services.kanshi = { | ||||||
|  |     enable = true; | ||||||
|  |     systemdTarget = "graphical-session.target"; | ||||||
|  |     profiles = { | ||||||
|  |       default = { | ||||||
|  |         outputs = [ | ||||||
|  |           { | ||||||
|  |             criteria = "CEX CX133 0x00000001"; | ||||||
|  |             mode = "1920x1200@59.972"; | ||||||
|  |             position = "0,0"; | ||||||
|  |             status = "enable"; | ||||||
|  |           } | ||||||
|  |         ]; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										33
									
								
								hosts/valinor/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								hosts/valinor/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,33 @@ | |||||||
|  | {  | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = | ||||||
|  |     [  | ||||||
|  |     ../_/cfg.nix | ||||||
|  |     ./hardware-configuration.nix | ||||||
|  |     ../_/host.nix | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|  |   boot.loader = { | ||||||
|  |     systemd-boot = { | ||||||
|  |       enable = true; | ||||||
|  |       configurationLimit = 8; | ||||||
|  |     }; | ||||||
|  |     efi = { | ||||||
|  |       canTouchEfiVariables = true; | ||||||
|  |       efiSysMountPoint = "/boot/efi"; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   hostcfg = { | ||||||
|  |     hostname = "valinor"; | ||||||
|  |     wlp_if = "wlp3s0"; | ||||||
|  |     wg_ip4 = "10.10.1.5/24"; | ||||||
|  |     wg_ip6 = "fd10:10:10::5/128"; | ||||||
|  |     wg_pk = config.sops.secrets.valinor_wg_priv.path; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										45
									
								
								hosts/valinor/hardware-configuration.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										45
									
								
								hosts/valinor/hardware-configuration.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,45 @@ | |||||||
|  | # Do not modify this file!  It was generated by ‘nixos-generate-config’ | ||||||
|  | # and may be overwritten by future invocations.  Please make changes | ||||||
|  | # to /etc/nixos/configuration.nix instead. | ||||||
|  | { config, lib, pkgs, modulesPath, ... }: | ||||||
|  |  | ||||||
|  | { | ||||||
|  |   imports = [ | ||||||
|  |     (modulesPath + "/installer/scan/not-detected.nix") | ||||||
|  |    ]; | ||||||
|  |  | ||||||
|  |   boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; | ||||||
|  |   boot.initrd.kernelModules = [ ]; | ||||||
|  |   boot.kernelModules = [ "v4l2loopback" "kvm-amd" ]; | ||||||
|  |   boot.kernelPackages = pkgs.linuxPackages_latest; | ||||||
|  |   boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback.out ]; | ||||||
|  |    | ||||||
|  |   virtualisation.libvirtd.enable = true; | ||||||
|  |  | ||||||
|  |   fileSystems."/" = | ||||||
|  |     { device = "/dev/disk/by-uuid/e9713f83-ee3a-4fb1-806f-594c3bab7006"; | ||||||
|  |       fsType = "ext4"; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |   fileSystems."/boot/efi" = | ||||||
|  |     { device = "/dev/disk/by-uuid/F344-72E2"; | ||||||
|  |       fsType = "vfat"; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |   swapDevices = | ||||||
|  |     [ { device = "/dev/disk/by-uuid/8bbeae2f-9431-4849-9b42-9f2655da596e"; } | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|  |   # Enables DHCP on each ethernet and wireless interface. In case of scripted networking | ||||||
|  |   # (the default) this is the recommended approach. When using systemd-networkd it's | ||||||
|  |   # still possible to use this option, but it's recommended to use it in conjunction | ||||||
|  |   # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. | ||||||
|  |   networking.useDHCP = lib.mkDefault true; | ||||||
|  |   # networking.interfaces.enp2s0f0.useDHCP = lib.mkDefault true; | ||||||
|  |   # networking.interfaces.enp6s0f3u1u3i5.useDHCP = lib.mkDefault true; | ||||||
|  |   # networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true; | ||||||
|  |  | ||||||
|  |   nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; | ||||||
|  |   hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; | ||||||
|  |   hardware.opengl.driSupport32Bit = true; | ||||||
|  | } | ||||||
							
								
								
									
										41
									
								
								hosts/valinor/home.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										41
									
								
								hosts/valinor/home.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,41 @@ | |||||||
|  | {config, pkgs, ...}: | ||||||
|  | { | ||||||
|  |  | ||||||
|  |   imports = [ | ||||||
|  |     ../_/home.nix | ||||||
|  |   ]; | ||||||
|  |  | ||||||
|  |   services.kanshi = { | ||||||
|  |     enable = true; | ||||||
|  |     systemdTarget = "graphical-session.target"; | ||||||
|  |     profiles = { | ||||||
|  |       default = { | ||||||
|  |         outputs = [ | ||||||
|  |           { | ||||||
|  |             criteria = "eDP-1"; | ||||||
|  |             mode = "1920x1080@60.020"; | ||||||
|  |             position = "0,0"; | ||||||
|  |             status = "enable"; | ||||||
|  |           } | ||||||
|  |         ]; | ||||||
|  |       }; | ||||||
|  |       d0 = { | ||||||
|  |         outputs = [ | ||||||
|  |           { | ||||||
|  |             criteria = "CEX CX133 0x00000001"; | ||||||
|  |             mode = "2560x1600@59.972"; | ||||||
|  |             position = "0,0"; | ||||||
|  |             status = "enable"; | ||||||
|  |           } | ||||||
|  |           { | ||||||
|  |             criteria = "eDP-1"; | ||||||
|  |             mode = "1920x1080@60.020"; | ||||||
|  |             position = "2560,0"; | ||||||
|  |             status = "enable"; | ||||||
|  |           } | ||||||
|  |         ]; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										41
									
								
								modules/battery_monitor.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								modules/battery_monitor.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | |||||||
|  | { config, pkgs, lib, ... }: | ||||||
|  |  | ||||||
|  |  | ||||||
|  | let conf = config.modules.battery_monitor; | ||||||
|  |  | ||||||
|  | in { | ||||||
|  |   options.modules.battery_monitor = with lib; { | ||||||
|  |     enable = mkEnableOption "battery_monitor"; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   config = lib.mkIf conf.enable { | ||||||
|  |     # Regularly check battery status | ||||||
|  |     systemd.user.services.battery_monitor = { | ||||||
|  |       wants = [ "display-manager.service" ]; | ||||||
|  |       wantedBy = [ "graphical-session.target" ]; | ||||||
|  |       script = '' | ||||||
|  |         prev_val=100 | ||||||
|  |         check () { [[ $1 -ge $val ]] && [[ $1 -lt $prev_val ]]; } | ||||||
|  |         notify () { | ||||||
|  |           ${pkgs.libnotify}/bin/notify-send -a Battery "$@" \ | ||||||
|  |             -h "int:value:$val" "Discharging" "$val%, $remaining" | ||||||
|  |         } | ||||||
|  |         while true; do | ||||||
|  |           IFS=: read _ bat0 < <(${pkgs.acpi}/bin/acpi -b) | ||||||
|  |           IFS=\ , read status val remaining <<<"$bat0" | ||||||
|  |           val=''${val%\%} | ||||||
|  |           if [[ $status = Discharging ]]; then | ||||||
|  |             echo "$val%, $remaining" | ||||||
|  |             if check 30 || check 25 || check 20; then notify | ||||||
|  |             elif check 15 || [[ $val -le 10 ]]; then notify -u critical | ||||||
|  |             fi | ||||||
|  |           fi | ||||||
|  |           prev_val=$val | ||||||
|  |           # Sleep longer when battery is high to save CPU | ||||||
|  |           if [[ $val -gt 30 ]]; then sleep 10m; elif [[ $val -ge 20 ]]; then sleep 5m; else sleep 1m; fi | ||||||
|  |         done | ||||||
|  |       ''; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										14
									
								
								modules/default.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								modules/default.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | { | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   imports = [ | ||||||
|  |     ./secret.nix | ||||||
|  |     ./security.nix | ||||||
|  |     ./udevd.nix | ||||||
|  |     ./networking.nix | ||||||
|  |     ./fonts.nix | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     ./battery_monitor.nix | ||||||
|  |   ]; | ||||||
|  | } | ||||||
							
								
								
									
										30
									
								
								modules/fonts.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										30
									
								
								modules/fonts.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  | { | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |    | ||||||
|  |   fonts = { | ||||||
|  |     enableDefaultFonts = false; | ||||||
|  |     fontDir.enable = true; | ||||||
|  |     fonts = with pkgs; [ | ||||||
|  |       ibm-plex | ||||||
|  |       lmmath | ||||||
|  |       openmoji-color | ||||||
|  |       material-design-icons | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|  |     fontconfig = { | ||||||
|  |       enable = true; | ||||||
|  |       allowBitmaps = true; | ||||||
|  |       defaultFonts = { | ||||||
|  |         monospace = [ "IBM Plex Mono" "Openmoji" "Material Design Icons" "Latin Modern Math"]; | ||||||
|  |         serif = [ "IBM Plex Sans" "Openmoji" "Material Design Icons" "Latin Modern Math"]; | ||||||
|  |         sansSerif = [ "IBM Plex Sans" "Openmoji" "Material Design Icons" "Latin Modern Math"]; | ||||||
|  |         emoji = [ "Openmoji" ]; | ||||||
|  |       }; | ||||||
|  |        | ||||||
|  |       hinting.style = "hintfull"; | ||||||
|  |      | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										16
									
								
								modules/greetd.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										16
									
								
								modules/greetd.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | { | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   services.greetd = { | ||||||
|  |     enable = true; | ||||||
|  |     settings = rec { | ||||||
|  |       initial_session = { | ||||||
|  |         command = "zsh"; | ||||||
|  |         user = "sora"; | ||||||
|  |       }; | ||||||
|  |       default_session = initial_session; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
							
								
								
									
										45
									
								
								modules/networking.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										45
									
								
								modules/networking.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,45 @@ | |||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }: | ||||||
|  | { | ||||||
|  |   networking = { | ||||||
|  |  | ||||||
|  |     hostName = config.hostcfg.hostname; | ||||||
|  |     useDHCP = true; | ||||||
|  |     supplicant = { | ||||||
|  |       "${config.hostcfg.wlp_if}" = { | ||||||
|  |         configFile.path = config.sops.secrets.wifi.path; | ||||||
|  |         extraConf = '' | ||||||
|  |           network={ | ||||||
|  |             ssid="test" | ||||||
|  |             psk="12345678" | ||||||
|  |           } | ||||||
|  |         ''; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     firewall = { | ||||||
|  |       enable = true; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     wireguard = { | ||||||
|  |       enable = true; | ||||||
|  |       interfaces = { | ||||||
|  |         wg0 = { | ||||||
|  |           ips = [ config.hostcfg.wg_ip4 config.hostcfg.wg_ip6 ]; | ||||||
|  |           privateKeyFile = config.hostcfg.wg_pk; | ||||||
|  |           listenPort = 1515; | ||||||
|  |           peers = [{ | ||||||
|  |             allowedIPs = [ "10.10.1.0/24" "fd10:10:10::0/64" ]; | ||||||
|  |             endpoint = "vpn.helcel.net:1515"; | ||||||
|  |             publicKey = "NFBJvYXZC+bd62jhrKnM7/pugidWhgR6+C5qIiUiq3Q="; | ||||||
|  |             persistentKeepalive = 25; | ||||||
|  |           }]; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										24
									
								
								modules/secret.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								modules/secret.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,24 @@ | |||||||
|  | { | ||||||
|  |   config, | ||||||
|  |   ... | ||||||
|  | }:{ | ||||||
|  |   sops.defaultSopsFile = ../secrets/common.yaml; | ||||||
|  |   sops.age.keyFile = "/var/lib/sops-nix/age-key.txt"; #opt/nixflake/secrets/age-key.txt; | ||||||
|  |   sops.age.generateKey = true; | ||||||
|  |  | ||||||
|  |   sops.secrets.wifi = {}; | ||||||
|  |    | ||||||
|  |   sops.secrets."${config.hostcfg.hostname}_ssh_priv" = { | ||||||
|  |     mode = "0400"; | ||||||
|  |     owner = config.users.users.sora.name; | ||||||
|  |     group = config.users.users.sora.group; | ||||||
|  |   }; | ||||||
|  |   sops.secrets."${config.hostcfg.hostname}_ssh_pub" = { | ||||||
|  |     mode = "0400"; | ||||||
|  |     owner = config.users.users.sora.name; | ||||||
|  |     group = config.users.users.sora.group; | ||||||
|  |   }; | ||||||
|  |   sops.secrets."${config.hostcfg.hostname}_wg_priv" = {}; | ||||||
|  |   sops.secrets."${config.hostcfg.hostname}_wg_pub" = {}; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										51
									
								
								modules/security.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										51
									
								
								modules/security.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,51 @@ | |||||||
|  | # security tweaks borrowed from @hlissner | ||||||
|  | { | ||||||
|  |   boot.kernel.sysctl = { | ||||||
|  |     # The Magic SysRq key is a key combo that allows users connected to the | ||||||
|  |     # system console of a Linux kernel to perform some low-level commands. | ||||||
|  |     # Disable it, since we don't need it, and is a potential security concern. | ||||||
|  |     "kernel.sysrq" = 0; | ||||||
|  |  | ||||||
|  |     ## TCP hardening | ||||||
|  |     # Prevent bogus ICMP errors from filling up logs. | ||||||
|  |     "net.ipv4.icmp_ignore_bogus_error_responses" = 1; | ||||||
|  |     # Reverse path filtering causes the kernel to do source validation of | ||||||
|  |     # packets received from all interfaces. This can mitigate IP spoofing. | ||||||
|  |     "net.ipv4.conf.default.rp_filter" = 1; | ||||||
|  |     "net.ipv4.conf.all.rp_filter" = 1; | ||||||
|  |     # Do not accept IP source route packets (we're not a router) | ||||||
|  |     "net.ipv4.conf.all.accept_source_route" = 0; | ||||||
|  |     "net.ipv6.conf.all.accept_source_route" = 0; | ||||||
|  |     # Don't send ICMP redirects (again, we're on a router) | ||||||
|  |     "net.ipv4.conf.all.send_redirects" = 0; | ||||||
|  |     "net.ipv4.conf.default.send_redirects" = 0; | ||||||
|  |     # Refuse ICMP redirects (MITM mitigations) | ||||||
|  |     "net.ipv4.conf.all.accept_redirects" = 0; | ||||||
|  |     "net.ipv4.conf.default.accept_redirects" = 0; | ||||||
|  |     "net.ipv4.conf.all.secure_redirects" = 0; | ||||||
|  |     "net.ipv4.conf.default.secure_redirects" = 0; | ||||||
|  |     "net.ipv6.conf.all.accept_redirects" = 0; | ||||||
|  |     "net.ipv6.conf.default.accept_redirects" = 0; | ||||||
|  |     # Protects against SYN flood attacks | ||||||
|  |     "net.ipv4.tcp_syncookies" = 1; | ||||||
|  |     # Incomplete protection again TIME-WAIT assassination | ||||||
|  |     "net.ipv4.tcp_rfc1337" = 1; | ||||||
|  |  | ||||||
|  |     ## TCP optimization | ||||||
|  |     # TCP Fast Open is a TCP extension that reduces network latency by packing | ||||||
|  |     # data in the sender’s initial TCP SYN. Setting 3 = enable TCP Fast Open for | ||||||
|  |     # both incoming and outgoing connections: | ||||||
|  |     "net.ipv4.tcp_fastopen" = 3; | ||||||
|  |     # Bufferbloat mitigations + slight improvement in throughput & latency | ||||||
|  |     "net.ipv4.tcp_congestion_control" = "bbr"; | ||||||
|  |     "net.core.default_qdisc" = "cake"; | ||||||
|  |   }; | ||||||
|  |   boot.kernelModules = ["tcp_bbr"]; | ||||||
|  |  | ||||||
|  |   # So we don't have to do this later... | ||||||
|  |   security.acme = { | ||||||
|  |     acceptTerms = true; | ||||||
|  |     defaults.email = "soraefir+git@pm.me"; | ||||||
|  |   }; | ||||||
|  | } | ||||||
|  |  | ||||||
							
								
								
									
										15
									
								
								modules/udevd.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								modules/udevd.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | { | ||||||
|  |   ... | ||||||
|  | }: { | ||||||
|  |   systemd.services.systemd-udevd.restartIfChanged = false; | ||||||
|  |  | ||||||
|  |   services.udev.extraRules = '' | ||||||
|  |   SUBSYSTEM=="usb", ATTRS{idVendor}=="2104", ATTRS{idProduct}=="0127", GROUP="plugdev", TAG+="uaccess" | ||||||
|  |   SUBSYSTEM=="usb", ATTRS{idVendor}=="2104", ATTRS{idProduct}=="0118", GROUP="plugdev", TAG+="uaccess" | ||||||
|  |   SUBSYSTEM=="usb", ATTRS{idVendor}=="2104", ATTRS{idProduct}=="0106", GROUP="plugdev", TAG+="uaccess" | ||||||
|  |   SUBSYSTEM=="usb", ATTRS{idVendor}=="2104", ATTRS{idProduct}=="0128", GROUP="plugdev", TAG+="uaccess" | ||||||
|  |   SUBSYSTEM=="usb", ATTRS{idVendor}=="2104", ATTRS{idProduct}=="010a", GROUP="plugdev", TAG+="uaccess" | ||||||
|  |   SUBSYSTEM=="usb", ATTRS{idVendor}=="2104", ATTRS{idProduct}=="0102", GROUP="plugdev", TAG+="uaccess" | ||||||
|  |   SUBSYSTEM=="usb", ATTRS{idVendor}=="2104", ATTRS{idProduct}=="0313", GROUP="plugdev", TAG+="uaccess" | ||||||
|  |   ''; | ||||||
|  | } | ||||||
							
								
								
									
										33
									
								
								pkgs/custom/repalette.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								pkgs/custom/repalette.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | |||||||
|  | { lib, stdenv, fetchFromGitHub, makeWrapper, stb | ||||||
|  | }: | ||||||
|  |     stdenv.mkDerivation rec { | ||||||
|  |     pname = "repalette"; | ||||||
|  |     version = "849e1857cc985968c5dd08377fff27b258931937"; | ||||||
|  |  | ||||||
|  |     src = fetchFromGitHub { | ||||||
|  |         owner = "ziap"; | ||||||
|  |         repo = pname; | ||||||
|  |         rev = version; | ||||||
|  |         sha256 = "sha256-Q86W9/xwFjViIyvnCQfwyQjzrfC122+KK6A3mwJPXOg="; | ||||||
|  |     }; | ||||||
|  |      | ||||||
|  |     nativeBuildInputs = [ | ||||||
|  |         makeWrapper | ||||||
|  |     ]; | ||||||
|  |  | ||||||
|  |     makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; | ||||||
|  |  | ||||||
|  |     configurePhase = '' | ||||||
|  |         cp ${stb.src}/stb_image.h stb_image.h | ||||||
|  |         cp ${stb.src}/stb_image_write.h stb_image_write.h | ||||||
|  |     ''; | ||||||
|  |  | ||||||
|  |     buildPhase = '' | ||||||
|  |         make ${pname} | ||||||
|  |     ''; | ||||||
|  |  | ||||||
|  |     installPhase = '' | ||||||
|  |         mkdir -p $out/bin | ||||||
|  |         mv repalette $out/bin | ||||||
|  |     ''; | ||||||
|  | } | ||||||
							
								
								
									
										31
									
								
								pkgs/custom/simc.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								pkgs/custom/simc.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | |||||||
|  | { lib, stdenv, fetchFromGitHub, wrapQtAppsHook,  qmake, qtbase, qtwebengine, qtwayland | ||||||
|  | }: | ||||||
|  | stdenv.mkDerivation rec { | ||||||
|  |   pname = "simc"; | ||||||
|  |   version = "d89e3825a840e0b80f7bccb99d2a86c8030ede57"; | ||||||
|  |  | ||||||
|  |   src = fetchFromGitHub rec { | ||||||
|  |             owner = "simulationcraft"; | ||||||
|  |             repo = pname; | ||||||
|  |             rev = version; | ||||||
|  |             hash = "sha256-tj/hAUFD8z8ZYVvBEfoUoe+ynUwUoib1QIhxODpCwSo="; | ||||||
|  |         }; | ||||||
|  |  | ||||||
|  |   nativeBuildInputs = [ wrapQtAppsHook qmake qtwebengine qtbase ]; | ||||||
|  |  | ||||||
|  |   buildInputs = [ qtwayland ]; | ||||||
|  |    | ||||||
|  |   configurePhase = '' | ||||||
|  |     qmake simulationcraft.pro | ||||||
|  |   ''; | ||||||
|  |  | ||||||
|  |   buildPhase = '' | ||||||
|  |     SC_NO_NETWORKING=1 make -j$NIX_BUILD_CORES | ||||||
|  |   ''; | ||||||
|  |  | ||||||
|  |   installPhase = '' | ||||||
|  |     mkdir -p $out/bin | ||||||
|  |     mv gui/SimulationCraft $out/bin | ||||||
|  |   ''; | ||||||
|  |  | ||||||
|  | } | ||||||
							
								
								
									
										7
									
								
								pkgs/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								pkgs/default.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | |||||||
|  | { | ||||||
|  |     pkgs ? import <nixpkgs> {}, | ||||||
|  |     ... | ||||||
|  | }:{ | ||||||
|  |     simc = (pkgs.qt6.callPackage  ./custom/simc.nix { }); | ||||||
|  |     repalette = (pkgs.callPackage  ./custom/repalette.nix { stdenv = pkgs.llvmPackages.stdenv; }); | ||||||
|  | } | ||||||
							
								
								
									
										17
									
								
								pkgs/overlay.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										17
									
								
								pkgs/overlay.nix
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | { | ||||||
|  |     pkgs, | ||||||
|  |     ... | ||||||
|  | }: | ||||||
|  |  [(self: super: {  | ||||||
|  |     openttd-jgrpp = super.openttd-jgrpp.overrideAttrs (old: rec{  | ||||||
|  |         version = "0.53.3"; | ||||||
|  |  | ||||||
|  |         src = super.fetchFromGitHub rec { | ||||||
|  |             owner = "JGRennison"; | ||||||
|  |             repo = "OpenTTD-patches"; | ||||||
|  |             rev = "jgrpp-0.53.3"; | ||||||
|  |             hash = "sha256-xpo4E07ifWUZy5z78Fwm1SpLP3wUBaBreZYbJuiNH3w="; | ||||||
|  |         }; | ||||||
|  |     });  | ||||||
|  |  | ||||||
|  | })] | ||||||
							
								
								
									
										93
									
								
								secrets/common.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										93
									
								
								secrets/common.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,93 @@ | |||||||
|  | valinor_ssh_priv: ENC[AES256_GCM,data:+eeVw/05eU5VW29KhT9+eGXcf+Ola2n0ISbj5Lzyj/bB/8OWDGXkqxWjgZv3cbL9v265AbyqcHfYX94BynTtMITfM6Cwz3D0EcUmIyP3rgjrJZdnksLu41a30dUjLnfVqiPwZaxxccZb6/JNAgXrg4hjkTsrCiZeSGpPl2VqECVt0tfJ3nmJwX+7C95QMvzxCw5S6CbN53AZBPmqBqzmxperc0LegMR+2lXviuqTEL2ZH3mzo0YeJQS/yCVVQL6TWx/wyM4fKD4kavg07sCAoj7E4V9RL4DY75uIbEz2+hvw9yE4nCtg2UgLu2hmragbH5ZseD/BWu+d2JGQeAnSLJBr6lZj/LGsiCe5vdnNqh2igZ9EI8Bhjv2ed2ajAxPYxJ1cAT9noxx6E+KU6sjWaSeKhLsnO/X3Ht1ADiUP4i/j39aE/4U7Gmk8Gs+3LBF0FXS88M06HV1cCKkd8RLkD0v6uKpOd6deOkKZRRGT8XzrF6JGY6fMXksF7GCqYqKhHEvU3nd3MQ/XjZuSycIr6NKdo31iezwjFCELUf2XQCIEtLe77vxfZQQ9lhddLhM7FJVDwlIuVLjN0lzrUoCywOZOG/ipenkCLDD5JmPqbkgyqFEIKpLW3weqlIFPTQblwaW724kKB80E+0lvW+0mG8oiyeqBuFufhtaUEwmg93aCzPW7wJuP7rzBm2i0FPl4Mg0f1d7iJtrHaIcnncw7vzeo+LOq1zvlcCVO3lt/JTRhTbxMEDzzQvvuRnFVExQbNCd9BKErpZAIia/l+5/PYClqapQYuBsx+Y4jUC/ct6PicSz/YtdXgTQc3jqmsLJ46R7Y3qkeaYJvsFDbTtjG1GlQdisNPZEhtkWgvyIcxl62/SSqLJr+ZxWh2ldToVpnX4g9JKcHbHyvsD/JJRsSD8fHlGBlnpXpL4onkQNbtZQ9HUBpaz6rQvp7klM5iI1trpdnv8nf3H0G54mz5c4FY81VIXcy+2nEgadhWNdKlI0rjruvXyJKUvCPmh3ZyPZPL+7rkLI+ywj+0Gz7QGKcDsOy2L1UsHSpCJGRe0ZJO8vuq1relbMF2pz5eQHa+9S3NNG/v5WNWVw4BcCaX8tfuac467mZ+sr2CKAKn+ojhBAkSVWHWg95bURX1NUpjw6d2dPSJbLjen7FDZ1NiZsvW+eNIPnuaOAIoNKW9H2XXmXagJASOnwd+BwNWWB7APlQz/YfQycDG4TjAWCg22aoTagmXoPtiqNqo0gq7NljSbq5EY2hn1RUV7umMR/cqY4XmdBsVqSwnjBtuHGQArn2QRbAYJcHkrxpAzMfJSWNx176ARBFhQDITpI8Y2ROyF+tZaOcNOYuXfAjktV7Elgt5dNypxdo4a/qFt0IkjxRF8WGGTKU3eRnC0EvaVc3xifLIcjrihqiVnB3jb58pT7lSeTH8pnuTS2+jOVphvok+8ddKd+Q5Po2yw8e0PswzPK7dYdMjNNKhbg/W41Bxf5ZKWxGZjxMbwNndzPext/+QWZqTJDw+Cf3rCMpaAU3nRSW7b5TD9fYrmajSbkzHBy9ggt1y+IofLEWlsMkiisxqnggsbVyDlxMb2q5iOFYMWtG/VPE6e5yDUVlwsd1l+Mv+vASCJW0J2i5BJzpYVTnazcQabbVeK/t3t8oA7/aO7omZxbPYDcfBAfc8+ibx3iBW4tIrwe0EvsqkdhTt4C5jpxynfBnvUL4+O5IYFSyz29EKNPZ+2RQti6tMCZYi4/IDBg93WQHGMrUd0pyANwP0vYVH8QGtD3X94nwOjoJO3GXqD3qcGsCrmBmmJtHTYBZ39KZpxxujsYDeccUuRbV9Ivq9vydkjO4fkIKCtlSFWRtkgU6cl4IxoO7alRDvJzadWrBdW5k3ubZG3qV05+iV9KSdh520YrRzxGb0yd8Ii0pgJU38oEywWyLUL9+/Ov5UZALtflS90cLANodWfzNtAxcZP6C+XR3aRyI8dZp5ZcOwwbj9aieSImLDwnC0l1cdtxSu8Iwm29/yeh4v4JXl6t1bBsTkyCoirQnkyBC3lHLCbwE3vfB34BTcChR+qWhiM92rnr6be8M89AtnEfNsdpZAWD96craURM8wfmMh9tM66gjjHyYuJbi1186x4LAtST4VZMHnw6NoG3XK5sMoVZq8jFWfUqrpS6ZMRu1UV0qL1jNbcZifwOlDgmoFXhFMZ6CGax0Up+cFPI2BJ7wGQwsTszifSXah/XgFhrOWgu9Hs5YJYbTxs26yEhG2K9j1J/4dtNdowmPI05iMynybTzrQkB8T/lVE5w9o1wumNhftyXie10+Nc8U1Ok3JugGG1CoM35eLAPTA8vHZzj6819apBCtw2vGeHio9k27164gHhsZUdAhyfC8hxmR/V857ipCchBNGg6aQOh2hVs9+4mNaap1UXGlAOJZMp/O7BNknYi6LVuGOtiS01W86pgPtCrbb8/24RHcybSLXhS4spTDf/LfBHaEWiklQHyq7YU6hsTOcmTkMNLCFuNVbPXPFze30KWtPhyZyQNYPqEwo8dZ8InN3RNBaYCMgYel7kNcmCO/0HlL1Kqjc4i2mguFiw23Tz0YRmUpwDjEe9gfOjlm9EZQs0GQQyB2gNfaoH1oyiM5yvQ9MrY9OADGpos0334ZqW9mykUpjkhrCWKLmVLAzWejbqMw1ZDq7FRa+l6Uyt+2XFPar7dta/TsWYKv6kTqoz1JHMwf5EoGEgCszcwnqkcqd5T9NHoVNwwpkEN/7axF0OqT25NSpXkAcacSHo70998jL3zbdKFVamUmpF/hN6ioniJyKAelESPym7KpjZKBEsHGTzU30t1GgsGlYUwtR07O5FnRVViDiMyQHYAq1PXa1EbCS0b7bbdMYGcExJzHvlT8VmeKnJ1RoOvKWyil2habXd+TbxEWtfAOuWtJzLYwXWKPppsq/EwKxUGNla01hVrfAbm3QNP45gDGFZ0+piA8PLNq6PNFoSlINc/6/Z3WaENpGhxL0mKS2IS/d76AzHjUV+Hw6ylFUdYEjAPp2lR5woslQnxpO5n3oKpFl3jevzJmcNJKuZZEYzGU1leyddx30hzmVMfTliybA5I1GVTIigbdKwuRWL8uYQA1mHUeO5pEPGMv1X4GcoT5BDrdcFAaU6vjhXbjVhCNcPBbjxKHisfOBUr6nx1M/n3AHndhilimrPP5adOGpG2CFqKQtINb0UmpqPQJRB488tuVE3fTPgqNi+PEES1tIumBVdt5m95p+BNHPyVwLloMeGkCVqsTid2251NSpFd/n0BVAOR0zZP1hGRRzgU2tNPK4VAVuvuPQdPw7ZUbVSe/VvphOLXAG72M27W9IbLrsnnmaNeh5ur/9fl5yI52py53z0Zrp6WNociqyeC03xzPAwmYF9BFMG+j9Kto2OfbxOCUdWxhlCGDuUqODcAsvfKNQddq4Fha0HSLjvGOtfEuWmJNTzmfIeO3vg==,iv:pTQbb6nLHJ8BXTIYdiSe4vc5+1hpNuHhQhDkIAsZ9HI=,tag:jyO99VXSsCQlQD+Hh+gtvg==,type:str] | ||||||
|  | valinor_ssh_pub: ENC[AES256_GCM,data:c9s+tEjn+aZAjsxU7+dWmKLVc3dFdtna3ilDJrEb4k9TToyYY5VYEW6exxpbBl6MMAe98/KXgLPI5kTmq3gCqQe2dBnOB3C4f212DOmVyoYGj4AiqzU+Oo0pfg6DRw5BCjYGY7B+zJopqQgDvlIRTdJzAhQe3ZRuJFXKupVpJ+pEx56bo/memAf+BBZgIXChFrYadqze90rMmlw0D5V3L3lmTnqjoniXTXj5QoHh2f873qFAQ72+fSNlJCkasNavSiXKWVPcS3xMmgfiaffkqdO6pte1m/IgevKkKfciIOBbKskgsTZdy9iPGdELLH1wMzO45+vX3h2ATy/v5Hqq/yWlrDbvFFUKoaCb6n7/5O3MhaLwa78Uk09Dvbno2Wb8C5BBZlXBZ/BSooosDFUG/2IG8nKM+FrHJvtwgugCGa3ZQYKQr6iJ9g6tN83YRTEgKTCsZPnSNg+vXSBAib5ABHl8z7oHVB2hJFBnEn7Im99b/GRsCRD+/y9Y+4wF8nzznJgSrqInM59//EJHmwOWrHzSIpyV+cY67cCUXlkYB/ufx510XtEjijr2SOJXKmdAmme0EICkP/LY80Yrsoz2ee/A6w6ZP3HDHuxUVNeGNJvdoFhIyt9pEiRBwl7K2XKYCh/lRiE6E19EM6SmwplEM0+uAWTY+NUKZba2JSqFZLMlBFfWSLHgOHFLPatkZRUTkoNa4BOhtUlAYfuN/uHHimnL7H4O814OnjU5exqHca63VkDDhA==,iv:YT0ZN/Rt6CbMSFU1wZDbrenlwXCh7e4C06YbVL5J/VU=,tag:BqVtzOC1ViEkHHTXbgDJHw==,type:str] | ||||||
|  | valinor_wg_priv: ENC[AES256_GCM,data:1izZF+6G2Uc2MRBH56A07lexZEkyOiiFI4zltyoZco0+Y9EPhH1nJ4sWzs0=,iv:OIBIQvMsrq93/o0r8V6eSzfU63xtCzgQFf8NKXsjRk0=,tag:wdcQOfdaoxe7Vw0QWmngwA==,type:str] | ||||||
|  | valinor_wg_pub: ENC[AES256_GCM,data:noAhVF91HUwpU3lHl4knlmGkV0Zjbuc4TQhFhF7HjCbv1hdSycO17TDfgcw=,iv:82v169pOoCOwnOaqPTOMvtvOUJJEcXjPI9BzogC+UaI=,tag:NHIcOYD5mSnZ6kwZBAnXGg==,type:str] | ||||||
|  | iriy_ssh_priv: ENC[AES256_GCM,data:tLViFTWE62aJ7sCHVs2OxqewFI4QQVEoMdWV6l26FBFlbP9sQC0IWhtwkYVeQ7yFRlEjiB2RWcxG9KkLZm55JqAG6dX6AocG341u68PPWgcWYxYxI2056e/NYN2dlNE9SX0ImkT41/zQIG4b/7xRsFlBKJ0LUpbzWg6Bmo1Giu66NZhLLIkVRPqH7KzvUlyBiCAiIuMlVIBomxKwmeNn3SnaVDrfCbqhXwiJvGHZE09mtZnZMVd9vIo89+4PReykVUjEI04QhnSzv+ET62yw1AOk4k7yBWykhMi+KirlNL8qoHY/HSOaqndQpHc/GzCjClcWHeBjsouTnqx7YjZ77WpiVKuFIVNK18fZIwxIqW0cwftJpfMTlOfGIhfAjIebxOc1G7tAON7BWSZQNBtM9aQ5qmF5wwYKj1m2NxtqzD6Vwhd2XubgzFPCssYs/WZcF4NeJwYE9077NrMeLjE+kP8d7IJKwDuXTA0zldFaRURzKCy+NFnHIle/Bw5V08w/FeJsWAT7SeJM2V9yGYaysBTly2eh0YtW0vHdoijhZQ95jAD9ixfHiZ2Uz60F5L2s8DJ58i46OShT6ItJ98NeSxFT/cOIZQ7jd7mxmgZdQc4uXBk2ly9zlF86gti9MLdvbugkfLKnrCoHLec/g5wWyowRfriDgqzFgzcj0tGshhLr/Y7GsIj6ZzMCbHPhEz9oEqUR7tVmBXfyEisCBdujYaUByl9EgTnLx505LpuaqYJuiPq7YULCndye3EHdQWSiVQA6ncPpcqnKgAyqsBlRXa/2dsr4XJmdIOHTRQ11m+8jJ9R6gmiGIdjj7hq/kr9tCZWPSF/Idz2ml04nw9zjlroeq2CmiPAVskKmJohpWvrD+J5tz6pQSITbiQWnq+W2/7BT5LvkIewwegyckP2hvCpnsHvT1llD6gzf5kNkoNvHnrFOjPa83WLPUO20rykyuD1+5s04vw4j2+tcKEll54kB757yWUdn7af+vs7uvthc2Wen1vXXPHoZnDVDddO2vDsNMRCl1w6NE9Ey+bsLhgZ5hwvwi+i/cGg6XHoFtRMS8PKk7kpRqS5oTMxbhI6uVy2BLz2Mtot6VxA29NV9fngxoD6VU8bcen8P6Tt+QJs9FqN5Pik3mLuaZEp8xiarSe8vDoLHv+UZVLFgDc+6LegYUttM0vHf3oKBHSX8qduJOZrZ2UlgcU4b2AKfGkpRVg4tKb73kCZi8D9R9aMA3grMK2mEPGKjqoT0DbOa+CCpC3DGUg2LkZl4jvFMfX82lU86cQscnHNh0ajFgmxmmmrDiLVpZLRroslEntuvXmj3lQgZmsyrGdQ3Wy7W2TvcbqcEt095hU9jJu1dlj73ofP+ltxxF706//OU1ToTqKOoPXhwQNmGhHLdBOflyXy/SMF5Ymvelc6FI6ct9h7y8P955ZyX/IFurX0/XUvuxtDqb8xq5Jm378W8Wuh9Zq0FRwfcagEUMo8auqzVOSHx9yB60qsLoi3WEH54/CClwOelvDhD1nCQ9Dxr4oYmfIiRUcvYDlCvgwc8ZKWb+8eTTA7+aVEZ9HhIhV2yovykYcWE8hPFUITA6lUhdEtUotq4T9UofJ8S79U6DFCUX1BdMYGKSMxOPuQ0liviVh2pnXIN+4DH0OOz828dGmb21ClkwT+kvA/80XeSxrU59XT1IGRoNjPCRxZzuLnsfCA5rrIarz8y3gbL+CFY4rsoPTWfqWR8HUg7pUapdG/FiW4HCfK+BwtLowaxyF0Kj+eTf+1EPx7ReYiHo6Yzes3XVPJid0e/DRkKqpEHSv/xQssQlq3Zqxfjg6DsTQ/dpA05VSZowe4VxouVpV2kib0HZQt77AtR1y9bznED7BDM4X2f95PiRMeYKvSqCHkhakrMCmPlboFJn5vpsvlf/k3v3zpADfwvx5DZWhRYg9WfmG2XSEXrdIHKcDqQME4Ka/yHNBvYuI3SYvrUusZcxjqPXctSRCGGEd9zfGbkA01BQ2anA/xLvWQMzgnKDHRLpQ2cQcEUi3nrrODHaYu/myo5XJDMncPVUidfC/XrnqlalnI3MD1o58fBV7UA4AO2aLEZf/59Qp6NtdUQBppdNiFqXBP3841hAg6W991Lau24S8Z5e7zAjfu/16JYA/M1NeqSkLQOFVibs6SJRIkPm4JPw+sBAwPLmZyjvlbYdk6686vRa4Ibnl3WkaozIqpioyLyujwNfv2OAK6dN26PT+xM7L/3s5xhP0K5TFDKyzqvjjI0uFP07h+xiXZuEl7nP3EfzWT8/il4aSr284vZ9Aqd0FsgfuNPuo+A12aUBmSUjuy/ComwB+/vxbkNlWtMPvkCfdS1eXImigxm5IVQ30Ba3gNTmPQhUUw0AkQPd68g5PZDN0iIx4APhXOowBUEAy/YNTGC2MHUDGo3lWNXEBbE457x/Kq/CleDlHHG2lBAPBHBC+HxdsnyvaF15cmg69IIM5YU08cILY1sxQVDXhIWBlKg9pjZU9BJVR6cdRAXccL6XXRD3P5rJUkyBS6SmTmkXnQetrrQVt07lzfApSErslPqaIGEAuPTT7brQFylvi0eWo2mXDF9oBr1BGTUEGaswz8q8DUuBXA0U3apJoFoDQbJk0uRwv0CrdK9kjGHzf4wntf3qNc6fH0foEvpMaLxsBUyvL2+2WZYNz2+rDjgOtNO5yAd4ILL4JqZKcNr1zymEtFU4WGTOHUeT7no345NZjoTn88Y+12ApWd1NtPkLfpAkuogAJOUK6LCgLPRDQIkzagGCWjDmfbc18LM2MV/4Us1TdfBzENmTHCsLDhIy7Y6fIwteJ5oUuWhTeB+MdFSO/WBhS/v1rjHfE75GXvQBZrlkknKaDwS1sJaet/0OBSWK61Sk2821V9E6qSS6U0qSNQbwlVjG4JMCXsNITICTR+uTa2cUk+PiDe6uZohu3M2B8FiiH9/XNKpyywxhCWjz9K+rt59tiHO7MbPCG7Lzi86BtEIZ2B6fFfhCdooZTE4oelhitnH3R4LXUc8kiJ6KPFINbf6yEGnskYP+aEy/3XfR1Miw3LG6+FVTvldDy5EmInPv7Dw8K074imghLYkvcuWtj6qMo+EI4rGoH39OPhqyd3tDgKVDEWOHKE3Ictt2Ci4cxedS/NieqxZf5tUHiO3YZoYyylJcJ5mU0HoVFhtfmg/GsK5mywmt6B20x8XyMBMLolcWYNMzdWgPQ1ieKb87tCgNRIOnPuwZcUGq+L+cLpRR4yhfSYPPao4dG0dxsEQJiSHnRDea71bR7URhJeo6aanwnulYwsuhji+3+XFoY+2e8wrEoJG38se1tafnd1dQHpvfiEYKTSCYuHG3uZWHvlHW06YrAwnrQrMOs+dquuQhMLK4wlsjg0MzsEZRkZ/JopxVRkjS0N1UVDQuzIZMqf6gKoiUVaC5BsjhTwcYQrMx/DFhAnhL2iGwJfuEQrrIjNVz7FLPQ==,iv:cM6fDDPdHQ0Xamv41gKvCQ3Oh70hCRaijXLA8n2rEEA=,tag:7CsbqkiNGv7W5lCrPK3CmQ==,type:str] | ||||||
|  | iriy_ssh_pub: ENC[AES256_GCM,data:zjET00BIFhSI3/3bHO9d99VZLNqpGwWYuqhFvZAk6hYejOFRReCn3WKxXwEJh/IS8PYw1ARnj8DOpfYoRwhdofg+ap2/XMLE858B2cmgGQE5XZNftUryjmBV/WpWVECmAa/Dd6w71MACqZ9TDnt8Kkg5c0jtiGT7zg62/gMcjm/k531y1NDi4e8Jf7MFN9A/5nMpVDCpspZe42N2Lv+w0M2lhDrP4bjYTE9p7Klo27C7lt3vGahlNAjQBvx3o+309+4bSnE2hwTUkgwjN8YPx9qpV8v5XAfPEA3Syz4Qmhi6YpDnEsNPIVrmuGdNhrnprDQHJ8G04bHv51DXURf7Wtf8HSQUNVWXJoGb1jw5xzyiYEBB1Cu6VrRRHytQGtMMbQsIldoW7ISSo1jzRIPWJRMCYrY/4fneoALAXPN6u6VsYM+wtO6/1+A02KIz4uhHvt9c+iv2BNiJrwgHSdH2aY3JaOLEAI+wVQaf47WBfPIjfTzYsDx+kDNiflmBhENNWSqRnrXXLiAG0oVbbz0iuzA+C6w/gNc/t4L4foiMbeF3m9jVfFm3LrCmR1FJrGeA7ZSUAEQ6v55an+IbDMv7P9lUxgd7rsCj2M0elG2iDizV9vziFPOSJkplqzygxXZdo+In0pmRHUfWj06epacZjNdDxJHrakfhmWpGBvrwYRRp4/5p7/k2CToqj6UqedYen0S8M09JseHjNndr9/Oe2yJZYlzRhfq0ZDB1pzdVIiePcQ==,iv:nWWm3vecA7c5pv8bYrjjZk3VLHjKJI7c7ZPkK+pUqU4=,tag:Gfa5Izk6I3s/spA3GkXufQ==,type:str] | ||||||
|  | iriy_wg_priv: ENC[AES256_GCM,data:inng2niJrTXF3ld2T5Xs9t/64oDC8haJhpK1Iajpc60hMHWbenpqGRis7NM=,iv:E/cW6iwjbC3iKulvgBD5vXsjxh9A6nGO7Acr2DXAQps=,tag:CfHqE8u87xGDkzArZg3BnA==,type:str] | ||||||
|  | iriy_wg_pub: ENC[AES256_GCM,data:/4yPr9+NKyU/84L1heVhVa5Mzu6/9bTRciL4V8v31J99Fh5ratZDufNt8AY=,iv:1PzTUsgt1YQPQAywSQqBUVm08++EA9rTdQF/puRJMs8=,tag:ew+bmkZmlj74/mzdBPiSDA==,type:str] | ||||||
|  | avalon_ssh_priv: ENC[AES256_GCM,data:wTAQKXU=,iv:7x+5AnmbNde6lsr+y5MlkR7KoaOUSCGTCVwLECYxPHI=,tag:DkrosVUFtURFBuqQI0LxaQ==,type:bool] | ||||||
|  | avalon_ssh_pub: ENC[AES256_GCM,data:22S09ak=,iv:Q5SU6BQw9j4HMyohQorIeNwGL0xLx8erm10gvPpHmCc=,tag:o02ZcLBSz35sqY9INyOMRw==,type:bool] | ||||||
|  | avalon_wg_priv: ENC[AES256_GCM,data:Urf0hCzMoyo3IiV+0zhiHGhh3vfinrMAFbX9JwFgkXiW+3+AXN2b1b785JE=,iv:TV0zwPssXOEVSxiVo0jZwFCmZJiTSXXXctFXFX0H97s=,tag:YDNaw6dRBcbyMSjXTRIJmw==,type:str] | ||||||
|  | avalon_wg_pub: ENC[AES256_GCM,data:Lc8LIn3UX6mpN8WWum18OVI5LWjBLoW2Qles4Bv/cKP6yOfKTLXPkAYzmFU=,iv:P3UJr5aHkW07HVH0oy500HdsumZpcwwuRdRKx/Efgjo=,tag:U9G9Ja+7mS1x6no+MVptiQ==,type:str] | ||||||
|  | asgard_ssh_priv: ENC[AES256_GCM,data:PflBgd0=,iv:OvKG6iGAtvcx7Nw/CT3mJos69ECG0k5CasZMzg/xWo8=,tag:X9iQY/nDBb5Dz9a+rnN9Rg==,type:bool] | ||||||
|  | asgard_ssh_pub: ENC[AES256_GCM,data:+M50sSY=,iv:fWVBRPlz/ACENHhOJ5zabu0eqOAAH/AH9+HBqUZZQU8=,tag:UPdE0aLWnhj/zlXpKbdoGw==,type:bool] | ||||||
|  | asgard_wg_priv: ENC[AES256_GCM,data:YxlKrwQ=,iv:1xnNKjzkJ0KPglLQy35i3FZ6kaJIgf7u0vT4aciDQI8=,tag:Jg5a/215Ifxj/XXMkSHwMg==,type:bool] | ||||||
|  | asgard_wg_pub: ENC[AES256_GCM,data:7ojknU8=,iv:Rk2otESlMbnVItBS0Xo2JeoSjOiDusUnsMVMw9/4oU4=,tag:FD0S6AfDfvVgvgy0coF/Uw==,type:bool] | ||||||
|  | efir_ssh_priv: ENC[AES256_GCM,data:lfC0LrU=,iv:QCNZWYj1bokbZwVbPanuWzljwTv8k1yRvJJYzXiffRw=,tag:1r0myqf+wk0paT3ODStB6A==,type:bool] | ||||||
|  | efir_ssh_pub: ENC[AES256_GCM,data:s2CtFco=,iv:5ckMLWh/OrANzuN7dChi87jJqp8ulbTuhefteVijVeU=,tag:0Ojvf/u6Vs0tKiPzLnaHuQ==,type:bool] | ||||||
|  | efir_wg_priv: ENC[AES256_GCM,data:jxmtVME=,iv:4SJC/lexF/oxgZp4QDAA+MhLU50K6G7g4IgQmbXl81s=,tag:wC7h+uCgBfGFynIZlyaOng==,type:bool] | ||||||
|  | efir_wg_pub: ENC[AES256_GCM,data:lYCUem4=,iv:FmIo/U0Zo9O2pbiehLLbTe9bWKzRRjEJHP53zXPvhAU=,tag:nQKx887kvTKaoKIXTR+/EA==,type:bool] | ||||||
|  | vpn_ssh_priv: ENC[AES256_GCM,data:RQhNAZg=,iv:PHdobW9HIEITGaIq86YbOFhyf7OTeTzhgjWVKo0YgNs=,tag:EhSAJz8N2OAuHC7sbvBj+w==,type:bool] | ||||||
|  | vpn_ssh_pub: ENC[AES256_GCM,data:K7+ZMxQ=,iv:xp1ghLqP5sk91feAIxC1JpHOkCzBfYBO9rHW9ghfqAM=,tag:eX8s7hGITevnerFo1VpfRg==,type:bool] | ||||||
|  | vpn_wg_priv: ENC[AES256_GCM,data:YS2NMqSZdH6gTQq89sWNLna6sLFIzR+uDFurFP1s+3Pe1+QP/SAiX81PZfc=,iv:Ovm3ir8ia5793yYPsKrscpqc4A6B6r270hpx9pWmR1o=,tag:asWYQrENr5ip8kHdb2mkYw==,type:str] | ||||||
|  | vpn_wg_pub: ENC[AES256_GCM,data:orLTPlTD5Y6bimDcc+BFJytQFER2POfgcOFEk6zcKkvuq/GyU8bKgKLxuyM=,iv:TVHw+yVhlDJFz/8HYqI3qT85hGzgx+3Bj7mT0mr3dFE=,tag:EKDs8gE8RJMGQVfcYLj9Jw==,type:str] | ||||||
|  | pgp_key: ENC[AES256_GCM,data:nEMur/Uq,iv:2KXW/AAAWDX09Ich2S6LQ7618ZBAY61KZcGkIabqCLs=,tag:Q7o8fz3dFFuqeMpzu9U/Fg==,type:str] | ||||||
|  | wifi: ENC[AES256_GCM,data:VY8FsW3W2BKjrc4eeaHXhf1qKRKV9eSm2koxFjm/WFzS4U9QQtokaRQ2LIX8kcSp973ylpSJzAW9/KzdMXKB5ad6Ij5yEQrWyubSe6nbDZDh5pGrineLpZxRxWY4cg4k/0NUb3HI4Auu8gwgStMzJUr18xYy9cjxIeeBGRZRWYvimlgbmZMst3F/9UzLNu2dJLxFK9G8KVY+0VYgEGIxnic3LC3uZ+PYPXNSn7HG4hADOJVA9iUZqhAlGpELOaKid3UwEUQZs+gsmeIVcPdmiUvV8bYhIf66DYFtEqA9GnSzpgpJgMLZOUI2XLZK6rLDi+VKDpeJ3NSxxRU5sO1vaeXu/LLH6KKxV7f1VmQL0e0BHBNKn1QwApe0YWhAc+qvG9WaB5MUcl3V269FRVfeReplXRoaWICWNgrsRd/gl2m52WClvpMCW0SGUdIgfMzeYw9/ZaoqOYt81fwFu1hdYDwklW9S6ATZJKQKFVTTxKPAHBx0Q9DwNYSWBW+1/tStBUBUHHYrja8cnWIliTDub57RsQq3fLpY4yw6VBxVdGGS/TgMvqvBfLTp7QJPUtmRiPhRyqXuEkEZbYX+VMCFfcbkskULudY1PGDhkW7DX90TsN6XR8dJHc/2+XcJIz4y+K4=,iv:r7uUQHsZ6eWa2a6/5AcXFcmLeUapwmQeqevHo7YFHBM=,tag:IxvUSw+cMFECF8ko8V8hew==,type:str] | ||||||
|  | sops: | ||||||
|  |     kms: [] | ||||||
|  |     gcp_kms: [] | ||||||
|  |     azure_kv: [] | ||||||
|  |     hc_vault: [] | ||||||
|  |     age: | ||||||
|  |         - recipient: age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg | ||||||
|  |           enc: | | ||||||
|  |             -----BEGIN AGE ENCRYPTED FILE----- | ||||||
|  |             YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBraWFDRFUxQ2l5OWV1OXNK | ||||||
|  |             UExEbWZkM0kzVk1rZG4yY3pBLzdMVWVJS0UwCnhlWFJ5T2lZUXJyNkg1ejQxaU1t | ||||||
|  |             L3F2RUhldTY3N2xXL0hwczNKRzNjcncKLS0tIEkycHoxcDBGNyt2V3RDY29wNGVp | ||||||
|  |             TGg5Rk05VkRsaXM1Q0NxMmtMajRORDAKqjFldiAYJKjmnkeDkwanjYvhL6645DZ5 | ||||||
|  |             dVXExjqO/DG733ge8HFyKzpfpkzRymV1giUwxBdII1dd0mJ2ncINeA== | ||||||
|  |             -----END AGE ENCRYPTED FILE----- | ||||||
|  |         - recipient: age1ms8f0ysv6vakxepvt69fejczs6tddexepesdv4rkgtheehj3nu4sc6290s | ||||||
|  |           enc: | | ||||||
|  |             -----BEGIN AGE ENCRYPTED FILE----- | ||||||
|  |             YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3UkRjblIvYStZUzQyRHA1 | ||||||
|  |             ZGVXeHhrN0kyVkxZdms5U3gwVFlPMW12MVJjCjRkVURpZXBzb0tYenB4dGxKamh6 | ||||||
|  |             VXVBMmo1Ujkvd2VTRExyWE5MbVJaclUKLS0tIDVhRkYzZmEzUG00Q2IwOWZUMVVt | ||||||
|  |             ODVIbytpcjN1cVMyaG1qVVdkRmtaMzQKNsvD9DpK/raDBob+IcuNk72tQDts36kJ | ||||||
|  |             QhtoLy8MvUymi49PdEWrgyf68w5XwRO/U4iINhR0qzm0glg/XcyHjA== | ||||||
|  |             -----END AGE ENCRYPTED FILE----- | ||||||
|  |         - recipient: age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg | ||||||
|  |           enc: | | ||||||
|  |             -----BEGIN AGE ENCRYPTED FILE----- | ||||||
|  |             YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJc3hKWkk3ckNOY2UyTVhG | ||||||
|  |             MmtLaEd0K04yaGxiOUoxMXkzOEFnYis4VkhnCktDRFM2bS8vb05OWDdwa0RwRlNO | ||||||
|  |             cmlZemtxVGZ6S0tNTDV1cmE1N0pVWnMKLS0tIE9EZllycHJpcEY2R1pwOFhOZEU3 | ||||||
|  |             L01IcytDd3BPb0VOTW9DQ2lUdUVJS0kKiD+C+3mK1b/eIwCEFanFgYGLNk3JNPQ7 | ||||||
|  |             i1UqzbHVxSd0q/YVwdKAcj0jA6EezGm275tgq7IVsy2sHkvRMaEDtQ== | ||||||
|  |             -----END AGE ENCRYPTED FILE----- | ||||||
|  |         - recipient: age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg | ||||||
|  |           enc: | | ||||||
|  |             -----BEGIN AGE ENCRYPTED FILE----- | ||||||
|  |             YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAweVU3TkxFZzRnd2I2clN2 | ||||||
|  |             ZTlTWmhwQkhVc1hnOXFvZVVDSWpHMVh1TGtrCkc3M1pUTnZCMHpvYXB5ZVhreGxa | ||||||
|  |             ZVY2cG5Ja2ltL3k2Q1VEalc5TTNFMXcKLS0tIGd5UWl0RGVXT211Zm51dlB6WFZ1 | ||||||
|  |             STRtTVpVTCtVZ1FUNENqWFFVNTNuaVUKN6HRiZjTdENeif8dJ29urBxPXDaosjjY | ||||||
|  |             InN4Ko6YUaGfvB1DTrKIzrxOpsHS+XjisoGfT71tJwwEOoREklEO/A== | ||||||
|  |             -----END AGE ENCRYPTED FILE----- | ||||||
|  |     lastmodified: "2023-06-12T09:11:11Z" | ||||||
|  |     mac: ENC[AES256_GCM,data:n9vov8RIufZdthKtTxzOnSSUrql5rpsuRvcVzL9WnfEWXJzbuevOHe0+qpKnII/z1UUSSbv2T/QRx38N5OwQ0OZhfxn5uY0eZkxlR8AjII9mK5CqkWky9+5tGnGZa+OLdU1pxqP8Vo5Fg+J5tgG7P87hTwzVE5CQF+nDCgviqoE=,iv:KeByoliPZpbBEuSZNqkHtx7GHHbXC8y9UkCbLegHuJ8=,tag:YY5vy0cfAm31LTfIYWnkpA==,type:str] | ||||||
|  |     pgp: | ||||||
|  |         - created_at: "2023-04-20T10:20:17Z" | ||||||
|  |           enc: |- | ||||||
|  |             -----BEGIN PGP MESSAGE----- | ||||||
|  |  | ||||||
|  |             wcFMA6R3Y9nD7qMBAQ/8CVWQaYKfOzvPIllZyyWpUjHRLLXaR8MNJ8U5WI/tdwdN | ||||||
|  |             9UScDYJFuYRW7Q9s4Mt961kBGpaHqe9MUZBxUDlYX59+EN3FbO/eMQ5OqI05ESmL | ||||||
|  |             TvZB4+S9C5o73nuypSDNvYz+Lgq6DO25ZPhXdtPhx2DE4G31/wft/LpxhjalIjI8 | ||||||
|  |             MU0Dv22R4qC+glJbe4GIF2IJ8XoxnnzjiGeSqiyv0QIBM0SzOtA5sKwNohWBnW7g | ||||||
|  |             7vxOTm5+kyzG0dDjt3tFApgPDaA1wjofzhRuuveF52VBsuIA2opFdpqkyICvK6rn | ||||||
|  |             NB5kUaPlY6A0m+n0oHSfY5wm/AnHNE4Oob/ifumAaB0EAJVUTRauI5M8SeJF0ya1 | ||||||
|  |             U0IQ9N2lb7Y6q4pqHywIa6fnylsqCfxInAYKMuslRq8f9t/qakb4/MYcnPrwpzjw | ||||||
|  |             73/naiNoJmG6NVTkM52qTtOqZAmsaQd5cigTuPW2Z2CJq1yLZEVGSSd1DUGUjBDK | ||||||
|  |             nQGucpVVVpD+ifrIPz+Iqwy+5NoZZm/Oa9pKJGFzqXinnDNZaqtgpmTw9QxcSeaP | ||||||
|  |             VvGZG9CDd89MtAm1VQyuqi1bQ2faq3G0xNrLl7xUsfmjx4ofW+JXR87OzvGfLPhu | ||||||
|  |             Sjl3kS9j5/MEBRBg3n9gNkgSu5Sy3ilhckY3yjTgAT9Gw2giDhCiUXi1/7KrGprS | ||||||
|  |             UQHPCSsjyWsyuYVa3lAP/WPdVclc4WOdfYcetUCXBVP7LQr0bq+IG+2J0nnY3mDt | ||||||
|  |             Va5k4sP1qu6Ecrs2JioQ1V2H+VmcrRykBWnMXl1tDSWKMA== | ||||||
|  |             =pS8X | ||||||
|  |             -----END PGP MESSAGE----- | ||||||
|  |           fp: 4E241635F8EDD2919D2FB44CA362EA0491E2EEA0 | ||||||
|  |     unencrypted_suffix: _unencrypted | ||||||
|  |     version: 3.7.3 | ||||||
		Reference in New Issue
	
	Block a user