Compare commits
202 Commits
150d2f2e07
...
main
Author | SHA1 | Date | |
---|---|---|---|
3760180d73 | |||
1968a1d4f6 | |||
d98f06b0b0 | |||
6639999e9a | |||
aa34956969 | |||
6a7af294dd | |||
46a6bf1fe1 | |||
c62d093b19 | |||
4f9b1630cd | |||
dc350cd669 | |||
07df68fc19 | |||
1cd9d6ccbf | |||
56ed6f2fa8 | |||
4c1ef61375
|
|||
139d33ae2d
|
|||
71443cfbc1 | |||
db69b419b6 | |||
4346ec7232
|
|||
49469b4962
|
|||
a2ef475040 | |||
42952cc19b | |||
110ff51e9e | |||
712f263c6c | |||
cc3cd50852 | |||
56533cfeb1 | |||
272587d9ab | |||
2629e7c873 | |||
71d1f30920 | |||
29027c39d6 | |||
fde8c67d5b | |||
209bc82941 | |||
06d3c576ff | |||
d29d622b54 | |||
b05c1c9261 | |||
6227d69f5c | |||
e99f5df33a | |||
7fa3301ad7 | |||
e31da30d09 | |||
833b7b35b1 | |||
b94ce739b7 | |||
114831b04c | |||
e94516a8bc | |||
407f3833ab | |||
881d6ceacc | |||
ee4ce37d3f | |||
4a1bb88e6e | |||
07637d826d | |||
6a69546fad | |||
ffb710a68f | |||
770b3acddf | |||
6ee70b0d1f | |||
51e08f1cc7 | |||
339404a312 | |||
1c68ef2023 | |||
fd0bfcf00d | |||
fdcb0ede25 | |||
74182b2a3e
|
|||
12646765c2
|
|||
495862c294
|
|||
c54376b937 | |||
11a902d741 | |||
7dbc9824ef | |||
06ece39078 | |||
8cc274d4ab | |||
5538d67bc9 | |||
fd9e41cec3 | |||
2ea10a944a | |||
b42ccab3d3 | |||
42ace39326 | |||
6433fe8a3a | |||
2affae6854 | |||
95293dc629 | |||
f291f13f33 | |||
1b1caad2d1 | |||
9318aa095e | |||
fd6a3151ce
|
|||
40b827d4ca
|
|||
1410c0c39f | |||
8d68938abd | |||
3d7d29934c | |||
877f516788 | |||
2ebd8c4fea | |||
bb0f40a755 | |||
e7e632fab4 | |||
c928fbd14b | |||
0d17b0650a | |||
dbc2aee14b | |||
95cbbf591f | |||
58cfdb4fd2 | |||
b77863f8f9 | |||
ee3380b501 | |||
5d68b291ba | |||
1e89d5880b | |||
f733d9dbc4 | |||
f8816df0d2 | |||
4c09698f8d | |||
724ebb4d27 | |||
cbe331644c | |||
121ea423b3 | |||
47d87a9bec | |||
f84d4e696a | |||
87f12a228a
|
|||
19c3f68543 | |||
36a44b9355 | |||
adbabf4eea | |||
ea9b423c9d | |||
551902a03e | |||
47880e6ab5 | |||
5d929a23df | |||
4f91f0276a | |||
3612103e2f | |||
7d10222740 | |||
a1c7dc96da | |||
0eec6b6eef | |||
83ea710f1c | |||
9cb14a2882 | |||
ab9074c324 | |||
f682198e22 | |||
cb0859f228 | |||
e4ee6c5d2e | |||
221250699c | |||
b00983cd21 | |||
9232d9a0fb | |||
08a6485a1c | |||
8b3efcfc59 | |||
bdcf625ebc | |||
0d4a2a774e | |||
87f2dd4fd4 | |||
90d5038a3f | |||
bc3ce8d5b4 | |||
e732429365
|
|||
deabe42bb6
|
|||
a62b2faa2a
|
|||
9fd47e218d
|
|||
75480a3373
|
|||
e4dfead658 | |||
692b613613
|
|||
38fd971314
|
|||
0b25204147
|
|||
c8fe860b6e
|
|||
c88ba54f77 | |||
3216ca2a1b | |||
019d38c4ba | |||
94bb01c319 | |||
7f5f35b7ca | |||
68a75ad255 | |||
d19f8ea9e1 | |||
df5fd60d6b | |||
803339c49e
|
|||
8f9b785468 | |||
4d3b504446 | |||
9356deca2c
|
|||
92d0dad938 | |||
fe61140415 | |||
d39d4ac640 | |||
36d51f01a3 | |||
858b38200c | |||
81a600de00 | |||
8712d7a8d1 | |||
367cd0b827 | |||
611d898b99 | |||
7efc00e324 | |||
6f079fb49e | |||
d378316e60
|
|||
5b43e414b7
|
|||
a4435844a9 | |||
07bc11e7e8 | |||
a14c2f888e | |||
2e38384459 | |||
00811913b5 | |||
a17bf69d26 | |||
6978c3c1e4
|
|||
11b7660d26
|
|||
dcd593cabc | |||
8ed8e2b2e2
|
|||
de33b74926
|
|||
4f2cf2d356
|
|||
addf6baa5f | |||
fe1f1ee3c1 | |||
4ea8a40dbd
|
|||
bf0aa63936 | |||
160fceb1d7 | |||
f9b2912764 | |||
c636f15689
|
|||
16540a9327
|
|||
5a50140975 | |||
da870ad90b | |||
fc90173651 | |||
10926b3622 | |||
df90098d44 | |||
25429b40bc | |||
f1bdc6f8d4 | |||
a8c74cba69
|
|||
0f4154bcb5
|
|||
3aedb499fb
|
|||
29eeb04fac
|
|||
8a09c870d7
|
|||
d0732d6f11 | |||
832471f37d
|
|||
93dd93561f | |||
b1f2a66d72 | |||
486db33120 |
@ -15,14 +15,19 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: "Install Nix ❄️"
|
||||
uses: cachix/install-nix-action@v26
|
||||
uses: cachix/install-nix-action@v31
|
||||
|
||||
# - uses: DeterminateSystems/nix-installer-action@v4
|
||||
- uses: DeterminateSystems/magic-nix-cache-action@v12
|
||||
- uses: DeterminateSystems/flake-checker-action@v11
|
||||
|
||||
- name: "Install Cachix ❄️"
|
||||
uses: cachix/cachix-action@v14
|
||||
uses: cachix/cachix-action@v16
|
||||
with:
|
||||
name: helcel
|
||||
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||
|
||||
|
||||
- name: "Build NixOS CI config ❄️"
|
||||
run: |
|
||||
nix build .#nixosConfigurations.ci.config.system.build.toplevel
|
||||
@ -30,3 +35,4 @@ jobs:
|
||||
- name: "Build NixOS Sandbox config ❄️"
|
||||
run: |
|
||||
nix build .#nixosConfigurations.sandbox.config.system.build.toplevel
|
||||
|
@ -13,15 +13,15 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
- name: Install nix
|
||||
uses: DeterminateSystems/nix-installer-action@v10
|
||||
uses: DeterminateSystems/nix-installer-action@v18
|
||||
with:
|
||||
github-token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
|
||||
extra_nix_config: |
|
||||
experimental-features = nix-command flakes
|
||||
- name: Update flake.lock
|
||||
uses: DeterminateSystems/update-flake-lock@v21
|
||||
uses: DeterminateSystems/update-flake-lock@v26
|
||||
with:
|
||||
token: ${{ secrets.GT_TOKEN_FOR_UPDATES }}
|
||||
pr-title: "[chore] Update flake.lock"
|
||||
|
23
.sops.yaml
23
.sops.yaml
@ -11,32 +11,32 @@ keys:
|
||||
- &asgard age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
|
||||
|
||||
creation_rules:
|
||||
- path_regex: modules/shared/sops/iriy.ya?ml
|
||||
- path_regex: modules/shared/sops/private/iriy.[a-z]+
|
||||
key_groups:
|
||||
- age:
|
||||
- *iriy
|
||||
pgp:
|
||||
- *sora
|
||||
- path_regex: modules/shared/sops/avalon.ya?ml
|
||||
- path_regex: modules/shared/sops/private/avalon.[a-z]+
|
||||
key_groups:
|
||||
- age:
|
||||
- *avalon
|
||||
pgp:
|
||||
- *sora
|
||||
- path_regex: modules/shared/sops/valinor.ya?ml
|
||||
- path_regex: modules/shared/sops/private/valinor.[a-z]+
|
||||
key_groups:
|
||||
- age:
|
||||
- *valinor
|
||||
pgp:
|
||||
- *sora
|
||||
- path_regex: modules/shared/sops/asgard.ya?ml
|
||||
- path_regex: modules/shared/sops/private/asgard.[a-z]+
|
||||
key_groups:
|
||||
- age:
|
||||
- *asgard
|
||||
pgp:
|
||||
- *sora
|
||||
|
||||
- path_regex: modules/shared/sops/common.yaml
|
||||
- path_regex: modules/shared/sops/common.[a-z]+
|
||||
key_groups:
|
||||
- age:
|
||||
- *valinor
|
||||
@ -46,7 +46,18 @@ creation_rules:
|
||||
pgp:
|
||||
- *sora
|
||||
|
||||
- path_regex: modules/shared/sops/mock.yaml
|
||||
- path_regex: modules/shared/sops/mock.[a-z]+
|
||||
key_groups:
|
||||
- age:
|
||||
- *ci
|
||||
|
||||
|
||||
- path_regex: modules/server/sops/server.[a-z]+
|
||||
key_groups:
|
||||
- age:
|
||||
- *valinor
|
||||
- *iriy
|
||||
- *avalon
|
||||
- *asgard
|
||||
pgp:
|
||||
- *sora
|
333
flake.lock
generated
333
flake.lock
generated
@ -1,5 +1,27 @@
|
||||
{
|
||||
"nodes": {
|
||||
"arion": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"haskell-flake": "haskell-flake",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745165725,
|
||||
"narHash": "sha256-OnHV8Us04vRsWM0uL1cQez8DumhRi6yE+4K4VLtH6Ws=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "arion",
|
||||
"rev": "4f59059633b14364b994503b179a701f5e6cfb90",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "arion",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -23,11 +45,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711763326,
|
||||
"narHash": "sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/+YZOq3sKviI=",
|
||||
"lastModified": 1750618568,
|
||||
"narHash": "sha256-w9EG5FOXrjXGfbqCcQg9x1lMnTwzNDW5BMXp8ddy15E=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "36524adc31566655f2f4d55ad6b875fb5c1a4083",
|
||||
"rev": "1dd19f19e4b53a1fd2e8e738a08dd5fe635ec7e5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -37,13 +59,55 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"arion",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nur",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1712909959,
|
||||
"narHash": "sha256-7/5ubuwdEbQ7Z+Vqd4u0mM5L2VMNDsBh54visp27CtQ=",
|
||||
"lastModified": 1750837715,
|
||||
"narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "f58b25254be441cd2a9b4b444ed83f1e51244f1f",
|
||||
"rev": "98236410ea0fe204d0447149537a924fb71a6d4f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -52,6 +116,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"haskell-flake": {
|
||||
"locked": {
|
||||
"lastModified": 1675296942,
|
||||
"narHash": "sha256-u1X1sblozi5qYEcLp1hxcyo8FfDHnRUVX3dJ/tW19jY=",
|
||||
"owner": "srid",
|
||||
"repo": "haskell-flake",
|
||||
"rev": "c2cafce9d57bfca41794dc3b99c593155006c71e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "srid",
|
||||
"ref": "0.1.0",
|
||||
"repo": "haskell-flake",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -59,124 +139,20 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1712759992,
|
||||
"narHash": "sha256-2APpO3ZW4idlgtlb8hB04u/rmIcKA8O7pYqxF66xbNY=",
|
||||
"lastModified": 1750792728,
|
||||
"narHash": "sha256-Lh3dopA8DdY+ZoaAJPrtkZOZaFEJGSYjOdAYYgOPgE4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "31357486b0ef6f4e161e002b6893eeb4fafc3ca9",
|
||||
"rev": "366f00797b1efb70f2882d3da485e3c10fd3d557",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-25.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprcursor": {
|
||||
"inputs": {
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1712434681,
|
||||
"narHash": "sha256-qwmR2p1oc48Bj7gUDvb1oGL19Rjs2PmEmk4ChV01A5o=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "818d8c4b69e0997483d60b75f701fe14b561a7a3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland": {
|
||||
"inputs": {
|
||||
"hyprcursor": "hyprcursor",
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprlang": "hyprlang",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems",
|
||||
"wlroots": "wlroots",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1712951181,
|
||||
"narHash": "sha256-Am+Jl/pDkVuZxyiBEAw1Ia5/dDRi5HOIYBT/kTT6uKA=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "0c513ba91bd73106be99e35b1a020d24e5ae874a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-protocols": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1691753796,
|
||||
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprlang": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711671891,
|
||||
"narHash": "sha256-C/Wwsy/RLxHP1axFFl+AnwJRWfd8gxDKKoa8nt8Qk3c=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "c1402612146ba06606ebf64963a02bc1efe11e74",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-colors": {
|
||||
"inputs": {
|
||||
"base16-schemes": "base16-schemes",
|
||||
@ -196,18 +172,34 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"nixUnstable": {
|
||||
"locked": {
|
||||
"lastModified": 1712791164,
|
||||
"narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=",
|
||||
"lastModified": 1750994206,
|
||||
"narHash": "sha256-3u6rEbIX9CN/5A5/mc3u0wIO1geZ0EhjvPBXmRDHqWM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5",
|
||||
"rev": "80d50fc87924c2a0d346372d242c27973cf8cdbf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1750969886,
|
||||
"narHash": "sha256-zW/OFnotiz/ndPFdebpo3X0CrbVNf22n4DjN2vxlb58=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a676066377a2fe7457369dd37c31fd2263b662f4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-25.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
@ -227,13 +219,34 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1712965531,
|
||||
"narHash": "sha256-qSOJWWc+mCK7oR9D+w/ZCe9FapLZT85j3HIjoq80Uxk=",
|
||||
"lastModified": 1751011381,
|
||||
"narHash": "sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "30e2e2857ba47844aa71991daa6ed1fc678bcbb7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751150016,
|
||||
"narHash": "sha256-aaNJgaEXYMsdmLG38YyCO0eZdTf49Cj0TZsW4gpn9jg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nur",
|
||||
"rev": "6cb6d34cd4db4e7ea09ff3e8bea0e2b11773292b",
|
||||
"rev": "c3c9ee3b26349abe162df39499ec587f453ce089",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -244,11 +257,12 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"arion": "arion",
|
||||
"darwin": "darwin",
|
||||
"hardware": "hardware",
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"nix-colors": "nix-colors",
|
||||
"nixUnstable": "nixUnstable",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nur": "nur",
|
||||
"sops-nix": "sops-nix"
|
||||
@ -258,17 +272,14 @@
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1712617241,
|
||||
"narHash": "sha256-a4hbls4vlLRMciv62YrYT/Xs/3Cubce8WFHPUDWwzf8=",
|
||||
"lastModified": 1750119275,
|
||||
"narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "538c114cfdf1f0458f507087b1dcf018ce1c0c4c",
|
||||
"rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -277,68 +288,24 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wlroots": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1712935342,
|
||||
"narHash": "sha256-zzIbTFNFd/as42jyGx23fil2uBDYYv+8GA5JmRq5y9c=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "wlroots-hyprland",
|
||||
"rev": "62eeffbe233d199f520a5755c344e85f8eab7940",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "wlroots-hyprland",
|
||||
"rev": "62eeffbe233d199f520a5755c344e85f8eab7940",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nur",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709299639,
|
||||
"narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "2d2fb547178ec025da643db57d40a971507b82fe",
|
||||
"lastModified": 1733222881,
|
||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
|
19
flake.nix
19
flake.nix
@ -1,13 +1,14 @@
|
||||
{
|
||||
description = "SoraFlake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
# Trick renovate into working: "github:NixOS/nixpkgs/nixpkgs-unstable"
|
||||
nixUnstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||
hardware.url = "github:nixos/nixos-hardware";
|
||||
nur.url = "github:nix-community/nur";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
url = "github:nix-community/home-manager/release-25.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
@ -16,17 +17,19 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
hyprland = {
|
||||
url = "github:hyprwm/Hyprland";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
# hyprland = {
|
||||
# url = "github:hyprwm/Hyprland";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
# };
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.nixpkgs-stable.follows = "nixpkgs";
|
||||
};
|
||||
nix-colors.url = "github:misterio77/nix-colors";
|
||||
|
||||
arion.url = "github:hercules-ci/arion";
|
||||
arion.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
};
|
||||
|
||||
outputs = inputs:
|
||||
|
@ -6,12 +6,14 @@
|
||||
in ({
|
||||
"nixos" = inputs.nixpkgs.lib.nixosSystem {
|
||||
system = syscfg.syscfg.system;
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
./modules/shared/syscfg
|
||||
./modules/shared/sops
|
||||
./modules/nixos
|
||||
syscfg
|
||||
./systems/${host}
|
||||
inputs.arion.nixosModules.arion
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
{
|
||||
@ -27,7 +29,8 @@
|
||||
syscfg
|
||||
{ usercfg = userConfig; }
|
||||
inputs.nix-colors.homeManagerModule
|
||||
inputs.hyprland.homeManagerModules.default
|
||||
# inputs.hyprland.homeManagerModules.default
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
];
|
||||
}) syscfg.syscfg.users);
|
||||
}
|
||||
@ -51,7 +54,7 @@
|
||||
nameValuePair userConfig.username {
|
||||
imports = [
|
||||
inputs.nix-colors.homeManagerModule
|
||||
inputs.hyprland.homeManagerModules
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
];
|
||||
}) syscfg.syscfg.users);
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
{ lib, config, ... }: {
|
||||
|
||||
#environment.sessionVariables.SOPS_AGE_KEY_FILE = keyFilePath;
|
||||
systemd.user.startServices = "sd-switch";
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
@ -7,6 +8,14 @@
|
||||
username = "${config.usercfg.username}";
|
||||
homeDirectory = "/home/${config.usercfg.username}";
|
||||
|
||||
stateVersion = "23.11";
|
||||
stateVersion = "24.11";
|
||||
};
|
||||
|
||||
|
||||
#SOPS
|
||||
# sops.defaultSopsFile = ./sops/${config.usercfg.username}.yaml;
|
||||
# sops.age.keyFile = "/var/lib/sops-nix/age-key.txt";
|
||||
# sops.age.generateKey = true;
|
||||
# sops.secrets."github_user_key" = { };
|
||||
# sops.secrets."curse_forge_key" = { };
|
||||
}
|
||||
|
69
modules/home/base/sops/sora.yaml
Normal file
69
modules/home/base/sops/sora.yaml
Normal file
@ -0,0 +1,69 @@
|
||||
curse_forge_key: ENC[AES256_GCM,data:PhhwPhUys/WDzXb40iFlrUcwFEJVzi49vDlm5Hpc7IUwbBiQI1Zvi6115THMvarnGESDyouPfoZP0wha,iv:x//EzR4QwdD0UxqV97yUepc39DopoqiDT21unpF9R2E=,tag:5jM1EibWo0wI+PS70+kb/Q==,type:str]
|
||||
github_user_key: ENC[AES256_GCM,data:RvBsQjWGd2qRCvBzcpMv8FIXGY/GiPd9o0x2Oq+NlbXxR2NMqNBNLw==,iv:99AcmOWFft7XQAn7YrGjZuCvz0M5wUkYeInsWwyeUFM=,tag:wkw2YQGi9j/8XtOFd8KhdQ==,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: "2024-12-23T18:05:22Z"
|
||||
mac: ENC[AES256_GCM,data:YSi2xIwz50VxUDL3QzGVUwRWUgZhvudSLCKgwIbWm8gkuAJ/V2sVRhJNVQJ1YvLO44ob5hmrgR4wSnOdAbS7FrpbLcJuoYBjVUTDjy+j6otnIDxEcYeciHhZ1pV/OiydBmJC+lZ4+SRdWdokL2HaXRKgc9QT9e/MdAbFIzI1x90=,iv:8rj8yEqHTMgoGu31RVskYizmROB/5I0ajZJ/EcmlVfE=,tag:PILFCyXY8sXYGxCEHS7qCg==,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.9.2
|
@ -12,7 +12,7 @@
|
||||
cbonsai
|
||||
pipes-rs
|
||||
cmatrix
|
||||
cava
|
||||
#cava
|
||||
sl
|
||||
];
|
||||
}
|
||||
|
@ -14,5 +14,9 @@ in {
|
||||
"ssh" = "TERM=xterm-256color ${pkgs.openssh}/bin/ssh";
|
||||
"top" = "btop";
|
||||
};
|
||||
initContent = ''
|
||||
sopsu() {nix-shell -p sops --run "sops updatekeys $1";}
|
||||
sopsn() {nix-shell -p sops --run "sops $1";}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
@ -2,6 +2,6 @@
|
||||
imports = [ ./vscodium ];
|
||||
|
||||
config = lib.mkIf (config.syscfg.make.develop) {
|
||||
home.packages = with pkgs; [ blender godot_4 ];
|
||||
home.packages = with pkgs; [ blender godot_4 openscad bambu-studio ];
|
||||
};
|
||||
}
|
||||
|
@ -4,14 +4,16 @@
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
bbenoist.nix
|
||||
esbenp.prettier-vscode
|
||||
golang.go
|
||||
ms-python.vscode-pylance
|
||||
ms-vscode.cpptools
|
||||
dbaeumer.vscode-eslint
|
||||
];
|
||||
#profiles.default = {
|
||||
profiles.default.extensions = with pkgs.vscode-extensions; [
|
||||
bbenoist.nix
|
||||
esbenp.prettier-vscode
|
||||
golang.go
|
||||
ms-python.vscode-pylance
|
||||
ms-vscode.cpptools
|
||||
dbaeumer.vscode-eslint
|
||||
];
|
||||
#};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -10,9 +10,13 @@
|
||||
xfce.tumbler
|
||||
|
||||
telegram-desktop
|
||||
discord-canary
|
||||
pavucontrol
|
||||
keepassxc
|
||||
nextcloud-client
|
||||
|
||||
gramps
|
||||
sweethome3d.application
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -1,11 +1,10 @@
|
||||
{ lib, config, pkgs, ... }: {
|
||||
{ inputs, lib, config, pkgs, ... }: {
|
||||
|
||||
imports = [ ./openttd.nix ];
|
||||
imports = [ ./openttd.nix ./wow.nix ];
|
||||
|
||||
config = lib.mkIf (config.syscfg.make.game) {
|
||||
|
||||
home.packages = with pkgs; [
|
||||
# custom.simc
|
||||
|
||||
#games
|
||||
steam
|
||||
@ -15,6 +14,9 @@
|
||||
prismlauncher
|
||||
openttd-jgrpp
|
||||
bottles
|
||||
lutris
|
||||
unstable.umu-launcher
|
||||
wine
|
||||
];
|
||||
};
|
||||
|
||||
|
81
modules/home/gui/games/wow.nix
Normal file
81
modules/home/gui/games/wow.nix
Normal file
@ -0,0 +1,81 @@
|
||||
{ pkgs, lib, config, sops, ... }: {
|
||||
|
||||
config = lib.mkIf (config.syscfg.make.game) {
|
||||
|
||||
home.packages = with pkgs;
|
||||
[
|
||||
# custom.simc
|
||||
];
|
||||
|
||||
# templates buggy currently
|
||||
#xdg.configFile."instawow/config.json" = ''${config.sops.templates."instawow_config.json".path}'';
|
||||
sops.templates."instawow_config.json".content = ''
|
||||
{
|
||||
"auto_update_check": true,
|
||||
"access_tokens": {
|
||||
"cfcore": "${config.sops.placeholder.curse_forge_key}",
|
||||
"github": "${config.sops.placeholder.github_user_key}",
|
||||
"wago_addons": null
|
||||
}
|
||||
}'';
|
||||
|
||||
# curse:master-plan
|
||||
# curse:raretrackercore-rt
|
||||
# curse:raretrackerdragonflight-rtd
|
||||
# curse:raretrackermaw-rtmw
|
||||
# curse:raretrackermechagon-rtm
|
||||
# curse:raretrackerthewarwithin-rtww
|
||||
# curse:raretrackertimelessisle-rtti
|
||||
# curse:raretrackeruldum-rtu
|
||||
# curse:raretrackervale-rtv
|
||||
# curse:raretrackerworldbosses-rtwb
|
||||
# curse:raretrackerzerethmortis-rtz
|
||||
# curse:venture-plan
|
||||
# curse:war-plan
|
||||
# github:nevcairiel/bartender4
|
||||
# github:cidan/betterbags
|
||||
# github:bigwigsmods/bigwigs
|
||||
# github:bigwigsmods/bigwigs_battleforazeroth
|
||||
# github:bigwigsmods/bigwigs_burningcrusade
|
||||
# github:bigwigsmods/bigwigs_cataclysm
|
||||
# github:bigwigsmods/bigwigs_classic
|
||||
# github:bigwigsmods/bigwigs_dragonflight
|
||||
# github:bigwigsmods/bigwigs_legion
|
||||
# github:bigwigsmods/bigwigs_mistsofpandaria
|
||||
# github:bigwigsmods/bigwigs_shadowlands
|
||||
# github:bigwigsmods/bigwigs_warlordsofdraenor
|
||||
# github:bigwigsmods/bigwigs_wrathofthelichking
|
||||
# github:nezroy/demodal
|
||||
# github:curseforge-mirror/details
|
||||
# github:edusperoni/details_elitism
|
||||
# github:curseforge-mirror/elitismhelper
|
||||
# github:michaelnpsp/grid2
|
||||
# github:jods-gh/groupfinderrio
|
||||
# github:nevcairiel/handynotes
|
||||
# github:hekili/hekili
|
||||
# github:thekrowi/krowi_achievementfilter
|
||||
# github:bigwigsmods/littlewigs
|
||||
# github:nnoggie/mythicdungeontools
|
||||
# github:tullamods/omnicc
|
||||
# github:tercioo/plater-nameplates
|
||||
# github:curseforge-mirror/quest_completist
|
||||
# github:raiderio/raiderio-addon
|
||||
# github:wowrarity/rarity
|
||||
# github:nevcairiel/shadowedunitframes
|
||||
# github:simulationcraft/simc-addon
|
||||
# github:curseforge-mirror/tomcats
|
||||
# github:weakauras/weakauras2
|
||||
# github:kemayo/wow-handynotes-battleforazerothtreasures
|
||||
# github:kemayo/wow-handynotes-dragonflight
|
||||
# github:kemayo/wow-handynotes-legiontreasures
|
||||
# github:kemayo/wow-handynotes-longforgottenhippogryph
|
||||
# github:kemayo/wow-handynotes-lostandfound
|
||||
# github:kemayo/wow-handynotes-secretfish
|
||||
# github:kemayo/wow-handynotes-shadowlandstreasures
|
||||
# github:kemayo/wow-handynotes-stygia
|
||||
# github:kemayo/wow-handynotes-treasurehunter
|
||||
# github:kemayo/wow-handynotes-warwithin
|
||||
# wowi:7032-tomtom
|
||||
|
||||
};
|
||||
}
|
@ -28,7 +28,7 @@ in {
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gtk";
|
||||
platformTheme.name = "gtk";
|
||||
};
|
||||
|
||||
home.packages = [ wallpaperGen pkgs.swww ];
|
||||
|
@ -11,8 +11,8 @@ in pkgs.stdenv.mkDerivation rec {
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = "Orchis-theme";
|
||||
rev = "be8b0aff92ed0741174b74c2ee10c74b15be0474";
|
||||
sha256 = "sha256-m7xh/1uIDh2BM0hTPA5QymXQt6yV7mM7Ivg5VaF2PvM=";
|
||||
rev = "5b73376721cf307101e22d7031c1f4b1344d1f63";
|
||||
sha256 = "sha256-+2/CsgJ+rdDpCp+r5B/zys3PtFgtnu+ohTEUOtJNd1Y=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with pkgs; [ gtk3 sassc ];
|
||||
@ -22,43 +22,43 @@ in pkgs.stdenv.mkDerivation rec {
|
||||
preInstall = ''
|
||||
mkdir -p $out/share/themes
|
||||
cat > src/_sass/_color-palette-${scheme.slug}.scss << 'EOF'
|
||||
$red-light: #${scheme.palette.base0F};
|
||||
$red-dark: #${scheme.palette.base0F};
|
||||
$red-light: #${scheme.palette.low0F};
|
||||
$red-dark: #${scheme.palette.high0F};
|
||||
|
||||
$pink-light: #${scheme.palette.base0E};
|
||||
$pink-dark: #${scheme.palette.base0E};
|
||||
$pink-light: #${scheme.palette.low0E};
|
||||
$pink-dark: #${scheme.palette.high0E};
|
||||
|
||||
$purple-light: #${scheme.palette.base0D};
|
||||
$purple-dark: #${scheme.palette.base0D};
|
||||
$purple-light: #${scheme.palette.low0D};
|
||||
$purple-dark: #${scheme.palette.high0D};
|
||||
|
||||
$blue-light: #${scheme.palette.base0C};
|
||||
$blue-dark: #${scheme.palette.base0C};
|
||||
$blue-light: #${scheme.palette.low0C};
|
||||
$blue-dark: #${scheme.palette.high0C};
|
||||
|
||||
$teal-light: #${scheme.palette.base0B};
|
||||
$teal-dark: #${scheme.palette.base0B};
|
||||
$teal-light: #${scheme.palette.low0B};
|
||||
$teal-dark: #${scheme.palette.high0B};
|
||||
|
||||
$green-light: #${scheme.palette.base0A};
|
||||
$green-dark: #${scheme.palette.base0A};
|
||||
$sea-light: #${scheme.palette.base0B};
|
||||
$sea-dark: #${scheme.palette.base0B};
|
||||
$green-light: #${scheme.palette.low0A};
|
||||
$green-dark: #${scheme.palette.high0A};
|
||||
$sea-light: #${scheme.palette.alt_low0B};
|
||||
$sea-dark: #${scheme.palette.alt_high0B};
|
||||
|
||||
$yellow-light: #${scheme.palette.base09};
|
||||
$yellow-dark: #${scheme.palette.base09};
|
||||
$yellow-light: #${scheme.palette.low09};
|
||||
$yellow-dark: #${scheme.palette.low09};
|
||||
|
||||
$orange-light: #${scheme.palette.base08};
|
||||
$orange-dark: #${scheme.palette.base08};
|
||||
$orange-light: #${scheme.palette.low08};
|
||||
$orange-dark: #${scheme.palette.high08};
|
||||
|
||||
$grey-050: #${scheme.palette.base07};
|
||||
$grey-100: #${scheme.palette.base07};
|
||||
$grey-150: #${scheme.palette.base07};
|
||||
$grey-150: #${scheme.palette.base06};
|
||||
$grey-200: #${scheme.palette.base06};
|
||||
$grey-250: #${scheme.palette.base06};
|
||||
$grey-250: #${scheme.palette.base05};
|
||||
$grey-300: #${scheme.palette.base05};
|
||||
$grey-350: #${scheme.palette.base05};
|
||||
$grey-350: #${scheme.palette.base04};
|
||||
$grey-400: #${scheme.palette.base04};
|
||||
$grey-450: #${scheme.palette.base04};
|
||||
$grey-450: #${scheme.palette.base03};
|
||||
$grey-500: #${scheme.palette.base03};
|
||||
$grey-550: #${scheme.palette.base03};
|
||||
$grey-550: #${scheme.palette.base02};
|
||||
$grey-600: #${scheme.palette.base02};
|
||||
$grey-650: #${scheme.palette.base02};
|
||||
$grey-700: #${scheme.palette.base01};
|
||||
|
@ -17,7 +17,8 @@ calendar {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.button {
|
||||
label {
|
||||
font-size: 20pt;
|
||||
color: $base0C;
|
||||
}
|
||||
|
||||
@ -35,9 +36,6 @@ calendar {
|
||||
margin-top: -4pt;
|
||||
}
|
||||
|
||||
.minute, .hour, .day, .month {
|
||||
font-size: 20pt;
|
||||
}
|
||||
|
||||
.date {
|
||||
color: $base0C;
|
||||
@ -47,5 +45,4 @@ calendar {
|
||||
|
||||
.datetime {
|
||||
padding: $gaps-window;
|
||||
|
||||
}
|
@ -1,3 +1,6 @@
|
||||
.tray * {
|
||||
padding: $border-width 0px;
|
||||
}
|
||||
.tray menu {
|
||||
background-color: $base01;
|
||||
color: $base07;
|
||||
@ -8,7 +11,7 @@
|
||||
padding: 10px 0px;
|
||||
|
||||
>menuitem {
|
||||
margin: 0px $border-width;
|
||||
margin: 2px $border-width;
|
||||
padding: 0px 10px;
|
||||
|
||||
&:disabled label {
|
||||
|
@ -101,6 +101,9 @@ tooltip {
|
||||
}
|
||||
.modevent:hover {
|
||||
@include border-active;
|
||||
border-right-style: none;
|
||||
border-bottom-right-radius: 0;
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
|
||||
.modinner {
|
||||
|
@ -5,28 +5,30 @@
|
||||
(eventbox
|
||||
:onhover "${EWW_CMD} update date_rev=true"
|
||||
:onhoverlost "${EWW_CMD} update date_rev=false"
|
||||
:onclick "(sleep 0.1 && ${EWW_CMD} open --toggle calendar)"
|
||||
:onrightclick "(sleep 0.1 && ${EWW_CMD} open --toggle powermenu)"
|
||||
(box
|
||||
:class "datetime"
|
||||
(overlay
|
||||
(box
|
||||
:orientation "v"
|
||||
(button
|
||||
:class "hour" hour)
|
||||
(button
|
||||
:class "minute" minute))
|
||||
(label :show-truncated false
|
||||
:class "hour"
|
||||
:text {hour})
|
||||
(label :show-truncated false
|
||||
:class "minute"
|
||||
:text {minute}))
|
||||
(revealer
|
||||
:reveal date_rev
|
||||
(box
|
||||
:class "date"
|
||||
:orientation "v"
|
||||
(button
|
||||
:onclick "${EWW_CMD} open --toggle calendar"
|
||||
:onrightclick "${EWW_CMD} open --toggle powermenu"
|
||||
:class "day" day)
|
||||
(button
|
||||
:onclick "${EWW_CMD} open --toggle calendar"
|
||||
:onrightclick "${EWW_CMD} open --toggle powermenu"
|
||||
:class "month" month))
|
||||
(label :show-truncated "false"
|
||||
:class "day"
|
||||
:text {day})
|
||||
(label :show-truncated "false"
|
||||
:class "month"
|
||||
:text {month}))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -6,23 +6,21 @@
|
||||
|
||||
(defwidget sys-mod []
|
||||
(module
|
||||
(button
|
||||
:class "module"
|
||||
:onclick "${EWW_CMD} open --toggle sys"
|
||||
(eventbox
|
||||
:onclick "(sleep 0.1 && ${EWW_CMD} open --toggle sys)"
|
||||
(box
|
||||
:orientation "v"
|
||||
(circular-progress
|
||||
:value {EWW_CPU.avg}
|
||||
:class "cpubar"
|
||||
:thickness 6
|
||||
(label :class "icon-text" :text "C"))
|
||||
|
||||
(circular-progress
|
||||
:value {gpu.devices[0].GRBM2?.CommandProcessor-Graphics?.value?:0}
|
||||
:class "gpubar"
|
||||
:thickness 6
|
||||
(label :class "icon-text" :text "G"))
|
||||
:orientation "v"
|
||||
(circular-progress
|
||||
:value {EWW_CPU.avg}
|
||||
:class "cpubar"
|
||||
:thickness 6
|
||||
(label :class "icon-text" :text "C"))
|
||||
|
||||
(circular-progress
|
||||
:value {gpu.devices[0].GRBM2?.CommandProcessor-Graphics?.value?:0}
|
||||
:class "gpubar"
|
||||
:thickness 6
|
||||
(label :class "icon-text" :text "G"))
|
||||
(circular-progress
|
||||
:value {100*memory.used/memory.total}
|
||||
:class "membar"
|
||||
|
@ -7,7 +7,7 @@
|
||||
:class "tray"
|
||||
:space-evenly "true"
|
||||
:orientation "v"
|
||||
:icon-size 24
|
||||
:icon-size 20
|
||||
:prepend-new "false"
|
||||
)
|
||||
)
|
||||
|
@ -11,6 +11,7 @@
|
||||
(button
|
||||
:onclick "hyprctl dispatch workspace ${ws.number}"
|
||||
(label
|
||||
:show-truncated false
|
||||
:class "icon-text ${ws.color}"
|
||||
:text `${ws.focused ? "" : ""}`
|
||||
)
|
||||
|
@ -64,7 +64,7 @@ done
|
||||
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
|
||||
socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock - | rg --line-buffered "workspace|mon(itor)?" | while read -r line; do
|
||||
case ${line%>>*} in
|
||||
"workspace")
|
||||
focusedws=${line#*>>}
|
||||
|
@ -100,8 +100,11 @@
|
||||
(box
|
||||
:orientation "v"
|
||||
(button
|
||||
:onclick "${EWW_CMD} open --toggle --no-daemonize radio"
|
||||
(label :class "icon-text" :text "")
|
||||
:onclick "(sleep 0.1 && ${EWW_CMD} open --toggle --no-daemonize radio)"
|
||||
(label
|
||||
:show-truncated false
|
||||
:class "icon-text"
|
||||
:text "")
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -4,18 +4,20 @@
|
||||
services.kanshi = {
|
||||
enable = true;
|
||||
systemdTarget = "graphical-session.target";
|
||||
profiles = {
|
||||
tower_0 = {
|
||||
outputs = [{
|
||||
settings = [
|
||||
{
|
||||
profile.name = "tower_0";
|
||||
profile.outputs = [{
|
||||
criteria = "CEX CX133 0x00000001";
|
||||
mode = "1920x1200@59.972";
|
||||
position = "0,0";
|
||||
scale = 1.0;
|
||||
status = "enable";
|
||||
}];
|
||||
};
|
||||
tower_1 = {
|
||||
outputs = [{
|
||||
}
|
||||
{
|
||||
profile.name = "tower_1";
|
||||
profile.outputs = [{
|
||||
criteria = "AOC 16G3 1DDP7HA000348";
|
||||
mode = "1920x1080@144.000";
|
||||
position = "0,0";
|
||||
@ -23,9 +25,10 @@
|
||||
scale = 1.0;
|
||||
adaptiveSync = true;
|
||||
}];
|
||||
};
|
||||
tower_2 = {
|
||||
outputs = [
|
||||
}
|
||||
{
|
||||
profile.name = "tower_2";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "AOC 16G3 1DDP7HA000348";
|
||||
mode = "1920x1080@144.000";
|
||||
@ -42,18 +45,20 @@
|
||||
status = "enable";
|
||||
}
|
||||
];
|
||||
};
|
||||
laptop_0 = {
|
||||
outputs = [{
|
||||
}
|
||||
{
|
||||
profile.name = "laptop_0";
|
||||
profile.outputs = [{
|
||||
criteria = "LG Display 0x060A Unknown";
|
||||
mode = "1920x1080@60.020";
|
||||
position = "0,0";
|
||||
scale = 1.0;
|
||||
status = "enable";
|
||||
}];
|
||||
};
|
||||
laptop_1 = {
|
||||
outputs = [
|
||||
}
|
||||
{
|
||||
profile.name = "laptop_1";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "CEX CX133 0x00000001";
|
||||
mode = "2560x1600@59.972";
|
||||
@ -69,9 +74,10 @@
|
||||
status = "enable";
|
||||
}
|
||||
];
|
||||
};
|
||||
laptop_2 = {
|
||||
outputs = [
|
||||
}
|
||||
{
|
||||
profile.name = "laptop_2";
|
||||
profile.outputs = [
|
||||
{
|
||||
criteria = "AOC 16G3 1DDP7HA000348";
|
||||
mode = "1920x1080@144.000";
|
||||
@ -88,8 +94,8 @@
|
||||
status = "enable";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -5,6 +5,8 @@
|
||||
|
||||
xdg.configFile."swaylock/config".text = ''
|
||||
screenshots
|
||||
grace-no-mouse
|
||||
grace-no-touch
|
||||
grace=5
|
||||
effect-pixelate=5
|
||||
fade-in=0.2
|
||||
|
@ -42,6 +42,8 @@ in {
|
||||
[ "discord-402572971681644545.desktop" ];
|
||||
"x-scheme-handler/discord-696343075731144724" =
|
||||
[ "discord-696343075731144724.desktop" ];
|
||||
"x-scheme-handler/tg" = [ "org.telegram.desktop.desktop" ];
|
||||
"x-scheme-handler/tonsite" = [ "org.telegram.desktop.desktop" ];
|
||||
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/chrome" = [ "firefox.desktop" ];
|
||||
|
@ -1,11 +1,12 @@
|
||||
{ lib, config, pkgs, ... }: {
|
||||
config = lib.mkIf (config.usercfg.wm == "Wayland") {
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
extraConfig = ''
|
||||
monitor=,preferred,auto,auto
|
||||
|
||||
env=bitdepth,10
|
||||
input {
|
||||
kb_layout = us, ru
|
||||
kb_variant = intl, phonetic
|
||||
@ -13,7 +14,7 @@
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
sensitivity = 0 # -0.5 # -1.0 - 1.0, 0 means no modification.
|
||||
sensitivity = 0
|
||||
|
||||
touchpad {
|
||||
natural_scroll=no
|
||||
@ -60,10 +61,10 @@
|
||||
fullscreen_opacity = 1.0
|
||||
|
||||
# shadow
|
||||
drop_shadow = no
|
||||
shadow_range = 60
|
||||
shadow_offset = 0 5
|
||||
shadow_render_power = 4
|
||||
# drop_shadow = no
|
||||
# shadow_range = 60
|
||||
# shadow_offset = 0 5
|
||||
# shadow_render_power = 4
|
||||
#col.shadow = rgba(00000099)
|
||||
}
|
||||
|
||||
@ -85,7 +86,7 @@
|
||||
}
|
||||
|
||||
master {
|
||||
new_is_master = true
|
||||
new_status = master
|
||||
}
|
||||
|
||||
gestures {
|
||||
@ -145,6 +146,11 @@
|
||||
windowrulev2 = float,class:^(org.telegram.desktop)$,title:^(Media viewer)$
|
||||
windowrulev2 = center,class:^(org.telegram.desktop)$,title:^(Media viewer)$
|
||||
|
||||
#SPECIAL NO SLEEP
|
||||
windowrulev2 = idleinhibit fullscreen, class:^(.*)
|
||||
windowrulev2 = idleinhibit focus, class:^(steam_app_.*)$
|
||||
windowrulev2 = idleinhibit focus, class:^(mpv)$
|
||||
|
||||
layerrule = blur,^(eww-blur)
|
||||
|
||||
#binds
|
||||
|
@ -2,9 +2,9 @@
|
||||
let cfg = config.syscfg.make.gui;
|
||||
in {
|
||||
config = lib.mkIf cfg {
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
# sound.enable = true;
|
||||
security.rtkit.enable = true;
|
||||
services.pulseaudio.enable = false; #25.05 change to services
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
@ -13,6 +13,6 @@ in {
|
||||
# wireplumber.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [ easyeffects ];
|
||||
environment.systemPackages = with pkgs; [ easyeffects alsa-utils ];
|
||||
};
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
{ lib, config, pkgs, ... }: {
|
||||
config = lib.mkIf (config.syscfg.make.gui) {
|
||||
programs.xwayland.enable = true;
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
videoDrivers = [ "amd" ];
|
||||
|
@ -1 +1 @@
|
||||
{ ... }: { imports = [ ./base ./boot ./fs ./opengl ./power ./udev ./virt ]; }
|
||||
{ ... }: { imports = [ ./base ./boot ./fs ./graphics ./power ./udev ./virt ]; }
|
||||
|
4
modules/nixos/system/hw/graphics/default.nix
Normal file
4
modules/nixos/system/hw/graphics/default.nix
Normal file
@ -0,0 +1,4 @@
|
||||
{ ... }: {
|
||||
hardware.graphics.enable = true;
|
||||
hardware.graphics.enable32Bit = true;
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
{ ... }: {
|
||||
hardware.opengl.enable = true;
|
||||
hardware.opengl.driSupport = true;
|
||||
hardware.opengl.driSupport32Bit = true;
|
||||
}
|
@ -7,9 +7,25 @@
|
||||
STOP_CHARGE_THRESH_BAT0 = 90;
|
||||
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
||||
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
||||
MEM_SLEEP_ON_BAT = "deep";
|
||||
};
|
||||
};
|
||||
|
||||
powerManagement.enable = true;
|
||||
# suspend to RAM (deep) rather than `s2idle`
|
||||
boot.kernelParams = [ "mem_sleep_default=deep" ];
|
||||
# suspend-then-hibernate
|
||||
systemd.sleep.extraConfig = ''
|
||||
HibernateDelaySec=30m
|
||||
SuspendState=mem
|
||||
'';
|
||||
|
||||
services.logind.lidSwitch = "suspend-then-hibernate";
|
||||
# Hibernate on power button pressed
|
||||
services.logind.powerKey = "hibernate";
|
||||
services.logind.powerKeyLongPress = "poweroff";
|
||||
|
||||
|
||||
systemd.user.services.battery_monitor = {
|
||||
wants = [ "display-manager.service" ];
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
|
@ -9,7 +9,12 @@
|
||||
podman = {
|
||||
enable = true;
|
||||
dockerSocket.enable = true;
|
||||
defaultNetwork.settings.dnsname.enable = true;
|
||||
dockerCompat = true;
|
||||
defaultNetwork.settings = {
|
||||
dnsname.enable = true;
|
||||
internal = true;
|
||||
name = "internal";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }: {
|
||||
{ inputs, pkgs, ... }: {
|
||||
nixpkgs.config = {
|
||||
permittedInsecurePackages = [ ];
|
||||
allowUnfree = true;
|
||||
@ -8,9 +8,9 @@
|
||||
};
|
||||
|
||||
};
|
||||
nixpkgs.overlays = import ../../../../overlays { inherit pkgs; };
|
||||
nixpkgs.overlays = import ../../../../overlays { inherit inputs pkgs; };
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
package = pkgs.nixVersions.stable;
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
warn-dirty = false
|
||||
@ -37,5 +37,5 @@
|
||||
];
|
||||
};
|
||||
};
|
||||
system.stateVersion = "24.05";
|
||||
system.stateVersion = "24.11";
|
||||
}
|
||||
|
@ -15,16 +15,16 @@
|
||||
GBM_BACKEND = "amd-drm";
|
||||
__GL_GSYNC_ALLOWED = "0";
|
||||
__GL_VRR_ALLOWED = "1";
|
||||
WLR_DRM_NO_ATOMIC = "1";
|
||||
__GLX_VENDOR_LIBRARY_NAME = "amd";
|
||||
WLR_DRM_NO_ATOMIC = "1";
|
||||
_JAVA_AWT_WM_NONREPARENTING = "1";
|
||||
QT_QPA_PLATFORM = "wayland";
|
||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||
GDK_BACKEND = "wayland";
|
||||
# GDK_BACKEND = "wayland";
|
||||
WLR_NO_HARDWARE_CURSORS = "1";
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
WLR_BACKEND = "vulkan";
|
||||
WLR_RENDERER = "vulkan";
|
||||
# WLR_BACKEND = "vulkan";
|
||||
# WLR_RENDERER = "vulkan";
|
||||
XCURSOR_SIZE = "24";
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
|
@ -1 +1,64 @@
|
||||
{ ... }: { imports = [ ./debug ./develop ]; }
|
||||
{ pkgs, ... }: {
|
||||
imports = [ ./debug ./develop ];
|
||||
|
||||
# services.telegraf = {
|
||||
# enable = true;
|
||||
# extraConfig = {
|
||||
# agent = {
|
||||
# interval = "10s";
|
||||
# round_interval = true;
|
||||
# metric_batch_size = 1000;
|
||||
# metric_buffer_limit = 10000;
|
||||
# collection_jitter = "0s";
|
||||
# flush_interval = "10s";
|
||||
# flush_jitter = "0s";
|
||||
# precision = "";
|
||||
# hostname = "valinor";
|
||||
# omit_hostname = false;
|
||||
# };
|
||||
|
||||
# inputs.cpu = {
|
||||
# percpu = true;
|
||||
# totalcpu = true;
|
||||
# collect_cpu_time = false;
|
||||
# report_active = false;
|
||||
# };
|
||||
|
||||
# inputs.mem = {};
|
||||
# inputs.swap = {};
|
||||
# inputs.system = {};
|
||||
# inputs.disk = {
|
||||
# ignore_fs = ["tmpfs" "devtmpfs" "devfs"];
|
||||
# };
|
||||
|
||||
# inputs.net = {};
|
||||
# inputs.netstat = {};
|
||||
|
||||
# inputs.ping = {
|
||||
# urls = ["8.8.8.8" "8.8.4.4"];
|
||||
# count = 4;
|
||||
# interval = "60s";
|
||||
# binary = "${pkgs.iputils.out}/bin/ping";
|
||||
# };
|
||||
|
||||
# inputs.internet_speed = {
|
||||
# interval = "2m";
|
||||
# };
|
||||
|
||||
# inputs.net_response = {
|
||||
# protocol = "tcp";
|
||||
# address = "google.com:80";
|
||||
# timeout = "5s";
|
||||
# read_timeout = "5s";
|
||||
# interval = "30s";
|
||||
# };
|
||||
|
||||
# outputs.influxdb_v2 = {
|
||||
# urls = [""];
|
||||
# token = "";
|
||||
# organization = "";
|
||||
# bucket = "";
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
}
|
||||
|
@ -7,9 +7,10 @@ let
|
||||
};
|
||||
in {
|
||||
config = lib.mkIf (config.syscfg.make.develop) {
|
||||
environment.systemPackages = with pkgs; [
|
||||
android-tools
|
||||
androidStudioPackages.canary
|
||||
];
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
# android-tools
|
||||
# androidStudioPackages.canary
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ in {
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"dialout"
|
||||
"vboxsf"
|
||||
"adbusers"
|
||||
"libvirtd"
|
||||
|
@ -1,4 +1,15 @@
|
||||
{ ... }:
|
||||
{
|
||||
# virtualisation.arion.projects.
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
in {
|
||||
imports = [ ./sops ];
|
||||
environment.systemPackages = with pkgs; [ arion ];
|
||||
virtualisation.arion = {
|
||||
backend = "podman-socket";
|
||||
projects = {
|
||||
cloud.settings = import ./docker/cloud.nix { inherit config pkgs lib; };
|
||||
authentik.settings =
|
||||
import ./docker/authentik.nix { inherit config pkgs lib; };
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -1,12 +1,17 @@
|
||||
{ pkgs, ... }: {
|
||||
project.name = "Authentik";
|
||||
{ config, pkgs, lib, ... }:
|
||||
let serverCfg = config.syscfg.server;
|
||||
in {
|
||||
project.name = "authentik";
|
||||
|
||||
networks = {
|
||||
internal = {
|
||||
name = lib.mkForce "internal";
|
||||
internal = true;
|
||||
external = false;
|
||||
};
|
||||
external = { external = true; };
|
||||
external = {
|
||||
name = lib.mkForce "external";
|
||||
internal = false;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
@ -40,8 +45,8 @@
|
||||
restart = "unless-stopped";
|
||||
networks = [ "internal" "external" ];
|
||||
volumes = [
|
||||
"${DATA_PATH}/authentik/media:/media"
|
||||
"${DATA_PATH}/authentik/templates:/templates"
|
||||
"${serverCfg.dataPath}/authentik/media:/media"
|
||||
"${serverCfg.dataPath}/authentik/templates:/templates"
|
||||
];
|
||||
environment = {
|
||||
"AUTHENTIK_REDIS__HOST" = "auth_redis";
|
||||
@ -50,25 +55,25 @@
|
||||
"AUTHENTIK_POSTGRESQL__NAME" = "authentik";
|
||||
"AUTHENTIK_POSTGRESQL__PASSWORD" = "AUTHENTIK_DB_PASSWORD";
|
||||
"AUTHENTIK_SECRET_KEY" = "AUTHENTIK_SECRET_KEY";
|
||||
"AUTHENTIK_EMAIL__HOST" = "${MAIL_SERVER_DOMAIN}";
|
||||
"AUTHENTIK_EMAIL__HOST" = "${serverCfg.mailDomain}";
|
||||
"AUTHENTIK_EMAIL__PORT" = "587";
|
||||
"AUTHENTIK_EMAIL__USERNAME" = "noreply@${MAIL_HOST_DOMAIN}";
|
||||
"AUTHENTIK_EMAIL__USERNAME" = "noreply@${serverCfg.hostDomain}";
|
||||
"AUTHENTIK_EMAIL__PASSWORD" = "AUTHENTIK_EMAIL_PASSWORD";
|
||||
"AUTHENTIK_EMAIL__USE_TLS" = "true";
|
||||
"AUTHENTIK_EMAIL__USE_SSL" = "false";
|
||||
"AUTHENTIK_EMAIL__TIMEOUT" = "10";
|
||||
"AUTHENTIK_EMAIL__FROM" = "sso@noreply.${MAIL_HOST_DOMAIN}";
|
||||
"AUTHENTIK_EMAIL__FROM" = "sso@noreply.${serverCfg.hostDomain}";
|
||||
};
|
||||
labels = {
|
||||
"traefik.enable" = "true";
|
||||
"traefik.http.routers.sso.entrypoints" = "web-secure";
|
||||
"traefik.http.routers.sso.rule" = "Host(`sso.${HOST_DOMAIN}`)";
|
||||
"traefik.http.routers.sso.rule" = "Host(`sso.${serverCfg.hostDomain}`)";
|
||||
"traefik.http.routers.sso.tls" = "true";
|
||||
"traefik.http.services.sso.loadbalancer.server.port" = "9000";
|
||||
"traefik.docker.network" = "external";
|
||||
};
|
||||
command = "server";
|
||||
service.ports = [
|
||||
ports = [
|
||||
"9999:9000" # host:container
|
||||
];
|
||||
};
|
||||
@ -79,8 +84,8 @@
|
||||
restart = "unless-stopped";
|
||||
networks = [ "internal" ];
|
||||
volumes = [
|
||||
"${DATA_PATH}/authentik/media:/media"
|
||||
"${DATA_PATH}/authentik/templates:/templates"
|
||||
"${serverCfg.dataPath}/authentik/media:/media"
|
||||
"${serverCfg.dataPath}/authentik/templates:/templates"
|
||||
"/var/run/docker.sock:/var/run/docker.sock"
|
||||
];
|
||||
environment = {
|
||||
|
@ -1,12 +1,17 @@
|
||||
{ pkgs, ... }: {
|
||||
project.name = "Cloud";
|
||||
{ config, pkgs, lib, ... }:
|
||||
let serverCfg = config.syscfg.server;
|
||||
in {
|
||||
project.name = "cloud";
|
||||
|
||||
networks = {
|
||||
internal = {
|
||||
name = lib.mkForce "internal";
|
||||
internal = true;
|
||||
external = false;
|
||||
};
|
||||
external = { external = true; };
|
||||
external = {
|
||||
name = lib.mkForce "external";
|
||||
internal = false;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
@ -17,16 +22,17 @@
|
||||
restart = "unless-stopped";
|
||||
networks = [ "external" ];
|
||||
volumes = [
|
||||
"${DATA_PATH}/data/nextcloud:/var/www/html"
|
||||
"${DATA_PATH}/data/music:/media/music"
|
||||
"${DATA_PATH}/data/video:/media/video"
|
||||
"${DATA_PATH}/data/photo:/media/photo"
|
||||
"${serverCfg.configPath}/data/nextcloud:/var/www/html"
|
||||
"${serverCfg.dataPath}/data/music:/media/music"
|
||||
"${serverCfg.dataPath}/data/video:/media/video"
|
||||
"${serverCfg.dataPath}/data/photo:/media/photo"
|
||||
];
|
||||
tmpfs = [ "/tmp" ];
|
||||
labels = {
|
||||
"traefik.enable" = "true";
|
||||
"traefik.http.routers.nextcloud.entrypoints" = "web-secure";
|
||||
"traefik.http.routers.nextcloud.rule" = "Host(`cloud.${HOST_DOMAIN}`)";
|
||||
"traefik.http.routers.nextcloud.rule" =
|
||||
"Host(`cloud.${serverCfg.hostDomain}`)";
|
||||
"traefik.http.routers.nextcloud.tls" = "true";
|
||||
"traefik.http.routers.nextcloud.middlewares" =
|
||||
"sts_headers,nextcloud-caldav";
|
||||
@ -52,9 +58,9 @@
|
||||
environment = {
|
||||
username = "COLLABORA_USER";
|
||||
password = "COLLABORA_PASSWORD";
|
||||
aliasgroup1 = "https://cloud.${HOST_DOMAIN}";
|
||||
server_name = "office.${HOST_DOMAIN}";
|
||||
VIRTUAL_HOST = "office.${HOST_DOMAIN}";
|
||||
aliasgroup1 = "https://cloud.${serverCfg.hostDomain}";
|
||||
server_name = "office.${serverCfg.hostDomain}";
|
||||
VIRTUAL_HOST = "office.${serverCfg.hostDomain}";
|
||||
VIRTUAL_PORT = "9980";
|
||||
VIRTUAL_PROTO = "http";
|
||||
DONT_GEN_SSL_CERT = "true";
|
||||
@ -66,7 +72,8 @@
|
||||
labels = {
|
||||
"traefik.enable" = "true";
|
||||
"traefik.http.routers.collabora.entrypoints" = "web-secure";
|
||||
"traefik.http.routers.collabora.rule" = "Host(`office.${HOST_DOMAIN}`)";
|
||||
"traefik.http.routers.collabora.rule" =
|
||||
"Host(`office.${serverCfg.hostDomain}`)";
|
||||
"traefik.http.routers.collabora.tls" = "true";
|
||||
};
|
||||
};
|
||||
@ -77,15 +84,15 @@
|
||||
restart = "unless-stopped";
|
||||
networks = [ "external" ];
|
||||
volumes = [
|
||||
"${DATA_PATH}/ether/etherpad/data:/opt/etherpad-lite/var"
|
||||
"/${DATA_PATH}/ether/etherpad/APIKEY.txt:/opt/etherpad-lite/APIKEY.txt"
|
||||
"${serverCfg.dataPath}/ether/etherpad/data:/opt/etherpad-lite/var"
|
||||
"${serverCfg.dataPath}/ether/etherpad/APIKEY.txt:/opt/etherpad-lite/APIKEY.txt"
|
||||
];
|
||||
environment = {
|
||||
NODE_ENV = "production";
|
||||
TITLE = "Helcel-Pad";
|
||||
DB_TYPE = "mysql";
|
||||
DB_HOST = DB_HOST;
|
||||
DB_PORT = DB_PORT;
|
||||
DB_HOST = serverCfg.dbHost;
|
||||
DB_PORT = serverCfg.dbPort;
|
||||
DB_NAME = "etherpad";
|
||||
DB_USER = "ETHERPAD_DB_USER";
|
||||
DB_PASS = "ETHERPAD_DB_PASSWORD";
|
||||
@ -99,7 +106,8 @@
|
||||
labels = {
|
||||
"traefik.enable" = "true";
|
||||
"traefik.http.routers.etherpad.entrypoints" = "web-secure";
|
||||
"traefik.http.routers.etherpad.rule" = "Host(`pad.${HOST_DOMAIN}`)";
|
||||
"traefik.http.routers.etherpad.rule" =
|
||||
"Host(`pad.${serverCfg.hostDomain}`)";
|
||||
"traefik.http.routers.etherpad.tls" = "true";
|
||||
};
|
||||
};
|
||||
@ -110,13 +118,13 @@
|
||||
restart = "unless-stopped";
|
||||
networks = [ "external" "internal" ];
|
||||
volumes = [
|
||||
"${DATA_PATH}/ether/etherpad/data:/opt/etherpad-lite/var"
|
||||
"/${DATA_PATH}/ether/etherpad/APIKEY.txt:/opt/etherpad-lite/APIKEY.txt"
|
||||
"${serverCfg.dataPath}/ether/etherpad/data:/opt/etherpad-lite/var"
|
||||
"${serverCfg.dataPath}/ether/etherpad/APIKEY.txt:/opt/etherpad-lite/APIKEY.txt"
|
||||
];
|
||||
environment = {
|
||||
NODE_ENV = "production";
|
||||
TITLE = "Helcel-Calc";
|
||||
REDIS_PORT_6379_TCP_ADDR = "redis";
|
||||
REDIS_PORT_6379_TCP_ADDR = "ethercalc-redis";
|
||||
REDIS_PORT_6379_TCP_PORT = "6379";
|
||||
ADMIN_PASSWORD = "ETHERPAD_ADMIN_PASSWORD";
|
||||
SKIN_VARIANTS = "super-dark-toolbar light-editor dark-background";
|
||||
@ -124,7 +132,8 @@
|
||||
labels = {
|
||||
"traefik.enable" = "true";
|
||||
"traefik.http.routers.ethercalc.entrypoints" = "web-secure";
|
||||
"traefik.http.routers.ethercalc.rule" = "Host(`calc.${HOST_DOMAIN}`)";
|
||||
"traefik.http.routers.ethercalc.rule" =
|
||||
"Host(`calc.${serverCfg.hostDomain}`)";
|
||||
"traefik.http.routers.ethercalc.tls" = "true";
|
||||
};
|
||||
};
|
||||
@ -134,7 +143,7 @@
|
||||
container_name = "ethercalc-redis";
|
||||
restart = "unless-stopped";
|
||||
networks = [ "internal" ];
|
||||
volumes = [ "${DATA_PATH}/ether/ethercalc/redis:/data" ];
|
||||
volumes = [ "${serverCfg.dataPath}/ether/ethercalc/redis:/data" ];
|
||||
environment = { };
|
||||
labels = { "traefik.enable" = "false"; };
|
||||
};
|
||||
|
@ -1,12 +1,17 @@
|
||||
{ pkgs, ... }: {
|
||||
project.name = "NEW";
|
||||
{ config, pkgs, lib, ... }:
|
||||
let serverCfg = config.syscfg.server;
|
||||
in {
|
||||
project.name = "name";
|
||||
|
||||
networks = {
|
||||
internal = {
|
||||
name = lib.mkForce "internal";
|
||||
internal = true;
|
||||
external = false;
|
||||
};
|
||||
external = { external = true; };
|
||||
external = {
|
||||
name = lib.mkForce "external";
|
||||
internal = false;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
|
81
modules/server/docker/traefik.nix
Normal file
81
modules/server/docker/traefik.nix
Normal file
@ -0,0 +1,81 @@
|
||||
{ config, pkgs, ... }: {
|
||||
project.name = "traefik";
|
||||
|
||||
networks = {
|
||||
internal = {
|
||||
name = lib.mkForce "internal";
|
||||
internal = true;
|
||||
};
|
||||
external = {
|
||||
name = lib.mkForce "external";
|
||||
internal = false;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
|
||||
traefik.service = {
|
||||
image = "traefik:latest";
|
||||
container_name = "traefik";
|
||||
restart = "unless-stopped";
|
||||
networks = [ "internal" "external" ];
|
||||
command = [
|
||||
"--api"
|
||||
"--providers.docker=true"
|
||||
"--entrypoints.web.address=:80"
|
||||
"--entrypoints.web-secure.address=:443"
|
||||
];
|
||||
port = [ "443" "80" ];
|
||||
volumes = [
|
||||
"/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
"${serverCfg.configPath}/traefik/traefik.yaml:/etc/traefik/traefik.yaml"
|
||||
"${serverCfg.configPath}/traefik/access.log:/etc/traefik/access.log"
|
||||
"${serverCfg.configPath}/traefik/acme.json:/acme.json"
|
||||
];
|
||||
environment = {
|
||||
"INFOMANIAK_ACCESS_TOKEN" = config.sops.secrets.INFOMANIAK_API_KEY.path;
|
||||
};
|
||||
labels = { "traefik.enable" = "false"; };
|
||||
};
|
||||
|
||||
matomo.service = {
|
||||
image = "matomo:latest";
|
||||
container_name = "matomo";
|
||||
restart = "unless-stopped";
|
||||
networks = [ "external" ];
|
||||
volumes = [
|
||||
"/etc/localtime:/etc/localtime:ro"
|
||||
"${serverCfg.configPath}/matomo:/var/www/html/config:rw"
|
||||
"${serverCfg.configPath}/traefik/access.log:/var/log/taccess.log:ro"
|
||||
];
|
||||
environment = { };
|
||||
labels = {
|
||||
"traefik.http.routers.matomo.rule" =
|
||||
"Host(`matomo.${serverCfg.hostDomain}`)";
|
||||
"traefik.http.routers.matomo.entrypoints" = "web-secure";
|
||||
"traefik.http.routers.matomo.tls" = "true";
|
||||
};
|
||||
};
|
||||
|
||||
searx.service = {
|
||||
image = "searxng/searxng:latest";
|
||||
container_name = "searx";
|
||||
restart = "unless-stopped";
|
||||
networks = [ "external" ];
|
||||
volumes = [ "/etc/localtime:/etc/localtime:ro" ];
|
||||
environment = {
|
||||
"BASE_URL" = "https://searx.${serverCfg.hostDomain}";
|
||||
"AUTOCOMPLETE" = "true";
|
||||
"INSTANCE_NAME" = "searx${serverCfg.shortName}";
|
||||
};
|
||||
labels = {
|
||||
"traefik.http.routers.matomo.rule" =
|
||||
"Host(`searx.${serverCfg.hostDomain}`)";
|
||||
"traefik.http.routers.matomo.entrypoints" = "web-secure";
|
||||
"traefik.http.routers.matomo.tls" = "true";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
10
modules/server/sops/default.nix
Normal file
10
modules/server/sops/default.nix
Normal file
@ -0,0 +1,10 @@
|
||||
{ config, pkgs, ... }: {
|
||||
sops.secrets.INFOMANIAK_API_KEY = { sopsFile = ./server.yaml; };
|
||||
sops.secrets."${config.syscfg.hostname}_ssh_pub" = {
|
||||
mode = "0400";
|
||||
owner = config.users.users.${config.syscfg.defaultUser}.name;
|
||||
group = config.users.users.${config.syscfg.defaultUser}.group;
|
||||
};
|
||||
sops.secrets."${config.syscfg.hostname}_wg_priv" = { };
|
||||
sops.secrets."${config.syscfg.hostname}_wg_pub" = { };
|
||||
}
|
68
modules/server/sops/server.yaml
Normal file
68
modules/server/sops/server.yaml
Normal file
@ -0,0 +1,68 @@
|
||||
INFOMANIAK_API_KEY: ENC[AES256_GCM,data:QhjQoCMxogXAPtvUbf/EWkqsFAndn73LBuTqj5essjruekynH287D/CYN/cwfcnDqZoh6Z4A9p08uUmXzqmTiralAhsCoc+Ljb/monmsruc=,iv:8rMGNc9398jnFXZm34fOht6fMNDAcDZ68B1jwoQPn2Q=,tag:ZlQnPaxkCktpwiC6HzmFVg==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpZk1VY3NEZmRkS0J6dU03
|
||||
OUtETWpHL2hLN09kRytNUEhmVnA5WW9yVXlNCmZaZnQ2YUlMMmlrZ2dEZDVFMHA5
|
||||
OUpqOTJJbHVVREtpSFUyaDJDbXltaTgKLS0tIFY0ZkF3Ym5oeHViN3J4eW4vSVYz
|
||||
QkhuU0NLWElyVXpZd2ZpOHhwam04R28KFuaI35e8pB25M2dlP19gApso12ZYJ3ld
|
||||
BpMnp97ShX0I8bZRIYxSHpSrB/J+tt1V4pfGdJq7uWZM7XacPy666A==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1ms8f0ysv6vakxepvt69fejczs6tddexepesdv4rkgtheehj3nu4sc6290s
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuZXNjRzJsdFpTdDZhSkRB
|
||||
eW1qSStnZHN5Tzh3bFA1azZIRk42V1RzSTJJCi9MV0k5ZXNQOWJFYnlXdnB3azBL
|
||||
NzNldkFLWlEyT01MeWlFU3RKODU4dWcKLS0tIFJXL1ZsNDgydTgxVGRMYWxyQTNT
|
||||
K1M0TDd1eGd1V3pOcjl1M1VrdDUvbG8KpsWlrr14MOh/8mG+rXpswPPFE3VnpKGt
|
||||
03DWUII3+MMEWLJPLxkNJ9BzCm4Kl1QNHSbJ7Ex6df0b7nB6Ed6Hvw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5U1VjTjlIMTdLRFQ5R1Av
|
||||
SVBLMFZtV3ppK2VXWjdYelNGTGFOZUJaMndBCjYyZ0IveXFiVDlSUEtNOXk2L3g3
|
||||
UmFIRE1GMEs2QVhUcFJkTHpCWmhhbG8KLS0tIG94NStMUnFZRTRsK2w4cDd4Rms5
|
||||
M1MwTEtJNEFDdjRLVFRseThxNGJUQ0kKKN7QX9qUojNQBknbInaXslaKsAAhEj5y
|
||||
QMXAU6TxlHMv+wZy2RQwMe/zE7RP24TypnX894iV0usTHujyxvfk3w==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
- recipient: age1sxzuhh2fcd4pmaz4mdqq95t683d32ft22w9t2r7pk258u0s8wymsqdj7lg
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrUHFYMWdVczRPdEFSbFR5
|
||||
VmcxeEU4YWxwRTlDUkRkNVY0dFh5cjVUNjNnCkRSblNaS214dkdrd3JnNE5rZnR3
|
||||
S0JVeXova1h2VnB2ODY0SUYxZm45TjAKLS0tIFN1QXFyTkt3SmV0UVhGMlMxTmpN
|
||||
VW83cnd2TnQwWlVCUnpzZ29NRE1SekUKBGVCaijugxR6eSxvk19nncR9X6bmSSUq
|
||||
VoxtHBkJbz/4mcQ/SUb4Wv1Rt5875tLWygS7qKmh8jzoP7JI4E9qWQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2024-05-08T16:05:46Z"
|
||||
mac: ENC[AES256_GCM,data:X6AUVWJRcwH45W9NoQxI8Lp6l+5RFpgCNB6cdUZZODHDdTUMt9a6wr9YfU56C7QkdlxXdj6xCOCscJtw/WY2Y+XchWXaUVZZsoZ9xUo28aksUtHSyE9WJBHCeSqss79IW6k/GeDPiDOfz4om+udDvtdpyKbtvbw2a+K5st+62d4=,iv:REGTavU8DkalUbfO1J2+VccYnRRrOqstSFq/RU7Co5Q=,tag:2t8mwqa76kVQyeWS85zXsA==,type:str]
|
||||
pgp:
|
||||
- created_at: "2024-05-08T15:46:52Z"
|
||||
enc: |-
|
||||
-----BEGIN PGP MESSAGE-----
|
||||
|
||||
hQIMA6R3Y9nD7qMBAQ//bYK5gdxv8fNvG6P4GrD27gQRQXhLGF2+hS54sqEqjeN8
|
||||
NZpHVbNNRR3AggOkT7QY1JO8bOhWscefH1vvBmBuODzh5Fw42t4zNPEDjWZEetxa
|
||||
rClbLEvo7Kz8UKCNb9JIeYx7cr8sPWCmg4GvV1wGjhjr+u5ovuheORnHl+qoLsqv
|
||||
P12PV7VzwC52v92GWiu9LRJqfqZra5GjUXGVXzBcZ9i6CnUDejzssWjhO/fmzKum
|
||||
GbGIi9sf3RmVYsUASDgRBmVAZC3KF7RLi0L6WY0etRocAaWSAgnU1lZ04E8ZtLjk
|
||||
DlCtIpreJ1H0Ym+5EXB94PG0KZjayxKc20YDQ+yYwwSmiCVaUCLlYX2BOoncUYFF
|
||||
MxVgWYwn14R5jyGbh4NyiBxPGHvIUx5RCIo70pMgS6W5ALZYTcNDLF82mj1xTOTy
|
||||
bcuaa7FCuXJif457LCe5TcAa5WYDgKX8pUKzFRhWIckcGwgFCUB0Z7+L9L7F0yt/
|
||||
YZd71cY0Lxlwi61CnWgZZMx2FFpHyBCEmF1A180KUtB1jSkS/AVmlM2z9I0QsR62
|
||||
fTFIaqimPMjUzbuTs0QjUXf8OJZo0/cwo9XeGyCBtJTg7cLdsOFouqfvXhvkdCrR
|
||||
xCLE2Ke5jwmoPKs1t+YpwMMzB57j/rluZCgiz45w7YDXKf4gEp2ra9siFiC/y9PS
|
||||
XgEPymUiDZY0w9S5oGr94cNc6LQId16Zgt1vWHLzgg8QZqkxLTBjUXXc7aoCISQp
|
||||
AwUE62KJucVvWjB3kcgDbNvaDWWC5O48zUavmzkmmP1sqKf0gO/XG52PDG/DF3Y=
|
||||
=cs0r
|
||||
-----END PGP MESSAGE-----
|
||||
fp: 4E241635F8EDD2919D2FB44CA362EA0491E2EEA0
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.8.1
|
@ -1,5 +1,5 @@
|
||||
{ config, ... }: {
|
||||
imports = [ ./sorahiro_soft.nix ];
|
||||
imports = [ ./sorahiro.nix ];
|
||||
|
||||
colorScheme.palette.border-radius = "#8";
|
||||
colorScheme.palette.border-width = "#2";
|
||||
|
67
modules/shared/colors/sorahiro.nix
Executable file
67
modules/shared/colors/sorahiro.nix
Executable file
@ -0,0 +1,67 @@
|
||||
{ nix-colors, ... }:
|
||||
let use_pastelle = true;
|
||||
in{
|
||||
# usage: a = "#${config.colorScheme.palette.base00}";
|
||||
|
||||
colorScheme = {
|
||||
slug = "sorahiro";
|
||||
name = "sorahiro";
|
||||
author = "Soraefir @ Helcel";
|
||||
variant = "dark";
|
||||
palette = rec {
|
||||
# Format: Name, Pantone, RAL
|
||||
base00 = "#000000"; # Black / 419C / 9005
|
||||
base01 = "#060a0f"; # Rich Black / 532C / 9005
|
||||
base02 = "#212c38"; # Yankees Blue / 433C / 5011
|
||||
base03 = "#3f5268"; # Police Blue / 432C / 5000
|
||||
base04 = "#617b9a"; # Slate Gray / 5415C / 5014
|
||||
base05 = "#90a7c1"; # Pewter Blue / 535C / 5024
|
||||
base06 = "#c9d3df"; # Columbia Blue / 538C / 7047
|
||||
base07 = "#fcfcfc"; # Lotion / 663C / 9016
|
||||
alt00 = "#000000"; # Black / 419C / 9005
|
||||
alt01 = "#0c0906"; # Vampire Black / 419C / 9005
|
||||
alt02 = "#312920"; # Pine Tree / 440C / 6022
|
||||
alt03 = "#5b4e3e"; # Olive Drab Camouflage / 411C / 7013
|
||||
alt04 = "#887660"; # Shadow / 404C / 7002
|
||||
alt05 = "#b8a083"; # Pale Taupe / 480C / 1019
|
||||
alt06 = "#e1cfb9"; # Desert Sand / 482C / 1015
|
||||
alt07 = "#fcfcfc"; # Lotion / 663C / 9016
|
||||
|
||||
base08 = if use_pastelle then low08 else high08;
|
||||
base09 = if use_pastelle then low09 else high09;
|
||||
base0A = if use_pastelle then low0A else high0A;
|
||||
base0B = if use_pastelle then low0B else high0B;
|
||||
base0C = if use_pastelle then low0C else high0C;
|
||||
base0D = if use_pastelle then low0D else high0D;
|
||||
base0E = if use_pastelle then low0E else high0E;
|
||||
base0F = if use_pastelle then low0F else high0F;
|
||||
|
||||
high08 = "#f09732"; # Deep Saffron / 804C / 1033
|
||||
high09 = "#f2d831"; # Dandelion / 114C / 1016
|
||||
high0A = "#98f12f"; # Green Lizard / 375C / 6038
|
||||
high0B = "#34f4f0"; # Fluorescent Blue / 3252C / 6027
|
||||
high0C = "#3193f5"; # Brilliant Azure / 2727C / 5015
|
||||
high0D = "#c156f6"; # Blue-Violet / 2592C / 4006
|
||||
high0E = "#f62ac0"; # Royal Pink / 807C / 4010
|
||||
high0F = "#f42060"; # Deep Carmine Pink / 1925C / 3018
|
||||
alt_high08 = "#f66824"; # Orange-Red / 165C / 2008
|
||||
alt_high0B = "#41f3a4"; # Eucalyptus / 3395C / 6037
|
||||
alt_high0C = "#2abef8"; # Spiro Disco Ball / 298C / 5012
|
||||
alt_high0D = "#837ff5"; # Violets Are Blue / 814C / 4005
|
||||
|
||||
low08 = "#ffac56"; # Rajah / 150C / 1017
|
||||
low09 = "#feea74"; # Shandy / 127C / 1016
|
||||
low0A = "#bffe8a"; # Menthol / 374C / 6018
|
||||
low0B = "#4cfefa"; # Electric Blue / 3252C / 6027
|
||||
low0C = "#62acfd"; # Blue Jeans / 279C / 5012
|
||||
low0D = "#9b9bfd"; # Maximum Blue Purple / 2715C / 4005
|
||||
low0E = "#fe9bda"; # Lavender Rose / 223C / 4003
|
||||
low0F = "#fc8999"; # Tulip / 1775C / 3014
|
||||
alt_low08 = "#fe946a"; # Atomic Tangerine / 811C / 1034
|
||||
alt_low0B = "#87febf"; # Aquamarine / 353C / 6019
|
||||
alt_low0C = "#38c3fd"; # Picton Blue / 298C / 5012
|
||||
alt_low0D = "#dca2ff"; # Mauve / 2572C / 4005
|
||||
|
||||
};
|
||||
};
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
{ nix-colors, ... }: {
|
||||
# usage: a = "#${config.colorScheme.palette.base00}";
|
||||
|
||||
colorScheme = {
|
||||
slug = "sorahiro-hard";
|
||||
name = "sorahiro-hard";
|
||||
author = "Soraefir @ Helcel";
|
||||
variant = "dark";
|
||||
palette = {
|
||||
# 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
|
||||
};
|
||||
};
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
{ nix-colors, ... }: {
|
||||
# usage: a = "#${config.colorScheme.palette.base00}";
|
||||
|
||||
colorScheme = {
|
||||
slug = "sorahiro-soft";
|
||||
name = "sorahiro-soft";
|
||||
author = "Soraefir @ Helcel";
|
||||
variant = "dark";
|
||||
palette = {
|
||||
# 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
|
||||
};
|
||||
};
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -1,12 +1,14 @@
|
||||
{ config, pkgs, ... }:
|
||||
let
|
||||
isCI = builtins.elem config.syscfg.hostname [ "ci" "sandbox" ];
|
||||
keyFilePath =
|
||||
(if isCI then ./mock-key.txt else "/var/lib/sops-nix/age-key.txt");
|
||||
keyFilePath = (if isCI then
|
||||
"/var/lib/sops-nix/mock-key.txt"
|
||||
else
|
||||
"/var/lib/sops-nix/age-key.txt");
|
||||
sopsFilePath = (if isCI then ./mock.yaml else ./common.yaml);
|
||||
in {
|
||||
environment.systemPackages = with pkgs; [ sops ];
|
||||
environment.sessionVariables.OPS_AGE_KEY_FILE = keyFilePath;
|
||||
environment.sessionVariables.SOPS_AGE_KEY_FILE = keyFilePath;
|
||||
|
||||
sops.defaultSopsFile = sopsFilePath;
|
||||
sops.age.keyFile = keyFilePath;
|
||||
|
@ -72,6 +72,7 @@ let
|
||||
};
|
||||
serverOpt = with lib; {
|
||||
hostDomain = mkOption { type = types.str; };
|
||||
shortName = mkOption { type = types.str; };
|
||||
mailDomain = mkOption { type = types.str; };
|
||||
mailServer = mkOption { type = types.str; };
|
||||
|
||||
@ -113,5 +114,12 @@ in with lib; {
|
||||
type = types.listOf (types.submodule { options = userOpt; });
|
||||
default = [ ];
|
||||
};
|
||||
server = mkOption {
|
||||
type = types.oneOf [
|
||||
(types.attrs)
|
||||
(types.submodule { options = serverOpt; })
|
||||
];
|
||||
default = { };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
10
overlays/bambu-studio/default.nix
Normal file
10
overlays/bambu-studio/default.nix
Normal file
@ -0,0 +1,10 @@
|
||||
{ final, prev, ... }:
|
||||
prev.bambu-studio.overrideAttrs (oldAttrs: rec{
|
||||
version = "02.00.01.50";
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "bambulab";
|
||||
repo = "BambuStudio";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7mkrPl2CQSfc1lRjl1ilwxdYcK5iRU//QGKmdCicK30=";
|
||||
};
|
||||
})
|
@ -1,8 +1,14 @@
|
||||
{ pkgs, ... }:
|
||||
{ inputs, pkgs, ... }:
|
||||
[
|
||||
(final: prev: {
|
||||
openttd-jgrpp = import ./openttd-jgrpp { inherit final prev; };
|
||||
yarn-berry = import ./yarn-berry { inherit final prev; };
|
||||
eww = import ./eww { inherit final prev; };
|
||||
bambu-studio = import ./bambu-studio { inherit final prev; };
|
||||
wine = final.unstable.wineWow64Packages.unstableFull;
|
||||
unstable = import inputs.nixUnstable {
|
||||
system = final.system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
})
|
||||
]
|
||||
|
@ -2,16 +2,16 @@
|
||||
let old = prev.eww;
|
||||
in final.rustPlatform.buildRustPackage rec {
|
||||
pname = "eww";
|
||||
version = "ebe5f349d184e79edc33199d064d9ec5f1e4dd9b";
|
||||
version = "98c220126d912b935987766f56650b55f3e226eb";
|
||||
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "elkowar";
|
||||
repo = "eww";
|
||||
rev = "${version}";
|
||||
hash = "sha256-WcAWIvIdGE0tcS7WJ6JlbRlUnKvpvut500NozUmJ6jY=";
|
||||
hash = "sha256-zi+5G05aakh8GBdfHL1qcNo/15VEm5mXtHGgKMAyp1U=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-8n21FN6uNj/y/PhCDzpB+1ZifIbpjn4d2YPy4vTcVBM=";
|
||||
cargoHash = "sha256-SEdr9nW5nBm1g6fjC5fZhqPbHQ7H6Kk0RL1V6OEQRdA=";
|
||||
|
||||
nativeBuildInputs = old.nativeBuildInputs;
|
||||
buildInputs = old.buildInputs ++ [ final.libdbusmenu-gtk3 ];
|
||||
|
@ -1,10 +1,10 @@
|
||||
{ final, prev, ... }:
|
||||
prev.openttd-jgrpp.overrideAttrs (old: rec {
|
||||
version = "0.55.3";
|
||||
version = "0.65.3";
|
||||
src = prev.fetchFromGitHub rec {
|
||||
owner = "JGRennison";
|
||||
repo = "OpenTTD-patches";
|
||||
rev = "jgrpp-${version}";
|
||||
hash = "sha256-E1+pXpXNHOu9nPTGSY8baVaKf1Um6IGDjpi1MmENez8=";
|
||||
hash = "sha256-lmDkYrk7qjUSTtCQQCN/pbuLDt3+2RI1K8A1H1GJRjw=";
|
||||
};
|
||||
})
|
||||
|
@ -1,10 +1,10 @@
|
||||
{ final, prev, ... }:
|
||||
prev.yarn-berry.overrideAttrs (old: rec {
|
||||
version = "3.6.3";
|
||||
version = "4.4.0";
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "yarnpkg";
|
||||
repo = "berry";
|
||||
rev = "@yarnpkg/cli/${version}";
|
||||
hash = "sha256-5QEnFalOEMs1bKYDYpFGnF1YwiGuW3ZxstyJAjz1/KQ=";
|
||||
hash = "sha256-X/axXgRsxek2EJ+B4EogAsaTWTZDEF1m5dXOTZ4OnQQ=";
|
||||
};
|
||||
})
|
||||
|
2289
packages/amdgpu_top/Cargo.lock
generated
2289
packages/amdgpu_top/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -3,19 +3,19 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "amdgpu_top";
|
||||
version = "0.3.1";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Umio-Yasuno";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-bkrXm3lXJr+sZ09GeVHgfIp8JO3a/Ejrsm1Cm4eY4IU=";
|
||||
hash = "sha256-FUmOoVHDLb86cDA8b9t+wJkUSgY8Lo+abO3F0UBmi+A=";
|
||||
};
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"libdrm_amdgpu_sys-0.2.2" =
|
||||
"sha256-2QXT/6octEzokW8+0mHx02R8qQ3kCBDxZT4yyfDkM5A=";
|
||||
"libdrm_amdgpu_sys-0.7.4" =
|
||||
"sha256-re38Ci4CnVmVzGwk3uB3htFQZ1j4W6+pXw4NbV26dEU=";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
{ stdenv, fetchFromGitHub, qt6 }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "simc";
|
||||
version = "ae04662fca7cad8bf218cd8e43ab05631caad758";
|
||||
version = "b1fd592079d1a673ab53ea96d699a6e56424b0ee";
|
||||
|
||||
src = fetchFromGitHub rec {
|
||||
owner = "simulationcraft";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-mTo6YTgZMpfyWvdU1JEEmfmBjJlZwAgja1iliOem7mM=";
|
||||
hash = "sha256-RPUCe7aoAYSNj9jv8HN7qhhxRIMmdCfhmUcr72VaHzg==";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
|
@ -4,7 +4,7 @@ let
|
||||
inputs.nixpkgs.lib.genAttrs [ "aarch64-linux" "x86_64-linux" ];
|
||||
in forEachSystem (system:
|
||||
let
|
||||
overlays = import ../overlays { inherit pkgs; };
|
||||
overlays = import ../overlays { inherit inputs pkgs; };
|
||||
overrides = { custom = import ../pkgs { inherit pkgs; }; };
|
||||
pkgs = import inputs.nixpkgs { inherit system overlays; } // overrides;
|
||||
in {
|
||||
|
@ -22,6 +22,7 @@ pkgs.mkShell {
|
||||
pipenv
|
||||
scala
|
||||
sbt
|
||||
cargo
|
||||
|
||||
#LIBS
|
||||
openssl
|
||||
|
@ -25,5 +25,16 @@
|
||||
wlp = { enable = false; };
|
||||
wg = { enable = false; };
|
||||
};
|
||||
server = {
|
||||
hostDomain = "test.helcel.net";
|
||||
mailDomain = "mail.helcel.net";
|
||||
mailServer = "mail.helcel.net";
|
||||
|
||||
dbHost = "localhost";
|
||||
dbPort = "3306";
|
||||
|
||||
configPath = "/home/media/config";
|
||||
dataPath = "/home/media/data";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ config, inputs, ... }: {
|
||||
imports = [ ./hardware.nix ];
|
||||
imports = [ ./hardware.nix ../../modules/server ];
|
||||
|
||||
services.openssh.enable = true;
|
||||
users.users.root.openssh.authorizedKeys.keys = [
|
||||
|
Reference in New Issue
Block a user