Compare commits
10 commits
b35e6362a0
...
75152ae5ab
Author | SHA1 | Date | |
---|---|---|---|
75152ae5ab | |||
55b94c53aa | |||
8abd11e0a7 | |||
5868b5885f | |||
e33df45bf6 | |||
87e3cf2c3b | |||
21bcbdb893 | |||
2b8287dca8 | |||
93717bf1a9 | |||
36ad62c101 |
18 changed files with 274 additions and 154 deletions
15
README.md
15
README.md
|
@ -47,25 +47,30 @@
|
|||
|
||||
# Structure
|
||||
|
||||
- Everything is built upon [flake-parts](https://flake.parts/), with [flake modules](./modules/flake/) for automatic packages, modules && configurations extraction
|
||||
- Everything is built upon [flake-parts](https://flake.parts/), with [flake modules](./modules/flake/) for automatic *stuff* extraction
|
||||
- Automatic classic (`callPackage`) and `dream2nix` packages extraction
|
||||
- Automatic `nixos`, `nix-darwin`, `nix-on-droid`, `home-manager` and `flake` modules extraction
|
||||
- Automatic `nixos`, `nix-darwin`, `nix-on-droid` and `home-manager` configurations extraction
|
||||
- Automatic overlays extraction
|
||||
- Automatic devShells extraction
|
||||
- Hosts can be found under `./hosts/${config-type}/${system}/${hostname}/...`
|
||||
- Check [`./modules/flake/configurations.nix`](./modules/flake/configurations.nix) for more info on what is extracted from those directories
|
||||
- Check [`./modules/flake/configurations`](./modules/flake/configurations) for more info on what is extracted from those directories
|
||||
- Modules can be found under `./modules/${config-type}/...`
|
||||
- Check [`./modules/flake/modules.nix`](./modules/flake/modules.nix) for more info on what is extracted from that directory
|
||||
- Check [`./modules/flake/modules`](./modules/flake/modules) for more info on what is extracted from that directory
|
||||
- Packages can be found under `./pkgs/...`
|
||||
- Check [`./modules/flake/packages`](./modules/flake/packages) for more info on what is extracted from that directory
|
||||
- Overlays can be found under `./overlays/...`
|
||||
- Check [`./modules/flake/overlays`](./modules/flake/overlays) for more info on what is extracted from that directory
|
||||
- Shells can be found under `./shells/...`
|
||||
- Default one puts a recent `nix` together with some other useful tools for working with the repo (`deploy-rs`, `rage`, `agenix-rekey`, etc.), see [`./shells/default/default.nix`](./shells/default/default.nix) for more info
|
||||
- Check [`./modules/flake/shells`](./modules/flake/shells) for more info on what is extracted from that directory
|
||||
- Default one puts a recent `nix` (as of recently - `lix`) together with some other useful tools for working with the repo (`deploy-rs`, `rage`, `agenix-rekey`, etc.), see [`./shells/default/default.nix`](./shells/default/default.nix) for more info
|
||||
|
||||
# Topology
|
||||
|
||||
You can see the overall topology of the hosts by running
|
||||
|
||||
```sh
|
||||
nix build .#topology
|
||||
nix build ".#topology"
|
||||
```
|
||||
|
||||
And opening the resulting `./result/main.svg` and `./result/network.svg`
|
||||
|
|
254
flake.lock
254
flake.lock
|
@ -37,11 +37,11 @@
|
|||
"pre-commit-hooks": "pre-commit-hooks"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1722597419,
|
||||
"narHash": "sha256-YbMzll0Dh2ln/TryDP+S3IGm8nRHkzcSQIubI4ZEOAw=",
|
||||
"lastModified": 1726360516,
|
||||
"narHash": "sha256-PcnbNb6SFg/y1zE36vRdhuWd50nLM4Hu2DKmtsrLHmA=",
|
||||
"owner": "oddlama",
|
||||
"repo": "agenix-rekey",
|
||||
"rev": "126b4a5133eb361cbf5bf90e44c71b6f830845ec",
|
||||
"rev": "524425f44b1f9717bfabf483ec9c990c3712e6df",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -83,11 +83,11 @@
|
|||
},
|
||||
"crane": {
|
||||
"locked": {
|
||||
"lastModified": 1725125250,
|
||||
"narHash": "sha256-CB20rDD5eHikF6mMTTJdwPP1qvyoiyyw1RDUzwIaIF8=",
|
||||
"lastModified": 1725409566,
|
||||
"narHash": "sha256-PrtLmqhM6UtJP7v7IGyzjBFhbG4eOAHT6LPYOFmYfbk=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "96fd12c7100e9e05fa1a0a5bd108525600ce282f",
|
||||
"rev": "7e4586bad4e3f8f97a9271def747cf58c4b68f3c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -142,7 +142,7 @@
|
|||
},
|
||||
"devshell_2": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": [
|
||||
"nix-topology",
|
||||
"nixpkgs"
|
||||
|
@ -169,11 +169,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725377834,
|
||||
"narHash": "sha256-tqoAO8oT6zEUDXte98cvA1saU9+1dLJQe3pMKLXv8ps=",
|
||||
"lastModified": 1726396892,
|
||||
"narHash": "sha256-KRGuT5nGRAOT3heigRWg41tbYpTpapGhsWc+XjnIx0w=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "e55f9a8678adc02024a4877c2a403e3f6daf24fe",
|
||||
"rev": "51e3a7e51279fedfb6669a00d21dc5936c78a6ce",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -340,11 +340,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725234343,
|
||||
"narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=",
|
||||
"lastModified": 1726153070,
|
||||
"narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "567b938d64d4b4112ee253b9274472dc3a346eb6",
|
||||
"rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -361,11 +361,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725234343,
|
||||
"narHash": "sha256-+ebgonl3NbiKD2UD0x4BszCZQ6sTfL4xioaM49o5B3Y=",
|
||||
"lastModified": 1726153070,
|
||||
"narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "567b938d64d4b4112ee253b9274472dc3a346eb6",
|
||||
"rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -444,8 +444,9 @@
|
|||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"id": "flake-utils",
|
||||
"type": "indirect"
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
|
@ -453,17 +454,16 @@
|
|||
"systems": "systems_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701680307,
|
||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
"id": "flake-utils",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"flake-utils_4": {
|
||||
|
@ -471,11 +471,11 @@
|
|||
"systems": "systems_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"lastModified": 1701680307,
|
||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -506,6 +506,24 @@
|
|||
"inputs": {
|
||||
"systems": "systems_9"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_7": {
|
||||
"inputs": {
|
||||
"systems": "systems_10"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685518550,
|
||||
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
|
||||
|
@ -520,9 +538,9 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_7": {
|
||||
"flake-utils_8": {
|
||||
"inputs": {
|
||||
"systems": "systems_10"
|
||||
"systems": "systems_11"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705309234,
|
||||
|
@ -538,9 +556,9 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_8": {
|
||||
"flake-utils_9": {
|
||||
"inputs": {
|
||||
"systems": "systems_11"
|
||||
"systems": "systems_12"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
|
@ -556,6 +574,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flakey-profile": {
|
||||
"locked": {
|
||||
"lastModified": 1712898590,
|
||||
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
|
||||
"owner": "lf-",
|
||||
"repo": "flakey-profile",
|
||||
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lf-",
|
||||
"repo": "flakey-profile",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_6",
|
||||
|
@ -570,11 +603,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724857454,
|
||||
"narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=",
|
||||
"lastModified": 1725513492,
|
||||
"narHash": "sha256-tyMUA6NgJSvvQuzB7A1Sf8+0XCHyfSPRx/b00o6K0uo=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6",
|
||||
"rev": "7570de7b9b504cfe92025dd1be797bf546f66528",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -672,11 +705,11 @@
|
|||
},
|
||||
"hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1725477728,
|
||||
"narHash": "sha256-ahej1VRqKmWbG7gewty+GlrSBEeGY/J2Zy8Nt8+3fdg=",
|
||||
"lastModified": 1725885300,
|
||||
"narHash": "sha256-5RLEnou1/GJQl+Wd+Bxaj7QY7FFQ9wjnFq1VNEaxTmc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "880be1ab837e1e9fe0449dae41ac4d034694d4ce",
|
||||
"rev": "166dee4f88a7e3ba1b7a243edb1aca822f00680e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -714,11 +747,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725180166,
|
||||
"narHash": "sha256-fzssXuGR/mCeGbzM1ExaTqDz7QDGta3WA4jJsZyRruo=",
|
||||
"lastModified": 1726357542,
|
||||
"narHash": "sha256-p4OrJL2weh0TRtaeu1fmNYP6+TOp/W2qdaIJxxQay4c=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "471e3eb0a114265bcd62d11d58ba8d3421ee68eb",
|
||||
"rev": "e524c57b1fa55d6ca9d8354c6ce1e538d2a1f47f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -729,11 +762,11 @@
|
|||
},
|
||||
"impermanence": {
|
||||
"locked": {
|
||||
"lastModified": 1724489415,
|
||||
"narHash": "sha256-ey8vhwY/6XCKoh7fyTn3aIQs7WeYSYtLbYEG87VCzX4=",
|
||||
"lastModified": 1725690722,
|
||||
"narHash": "sha256-4qWg9sNh5g1qPGO6d/GV2ktY+eDikkBTbWSg5/iD2nY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "impermanence",
|
||||
"rev": "c7f5b394397398c023000cf843986ee2571a1fd7",
|
||||
"rev": "63f4d0443e32b0dd7189001ee1894066765d18a5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -750,11 +783,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725559615,
|
||||
"narHash": "sha256-q24lAKpBubomTHcNKLoVyvnNwVJJyBwcb/Gkhl0LLbs=",
|
||||
"lastModified": 1726115155,
|
||||
"narHash": "sha256-VDylz5VX4JD4/TZv6xUJDwuvNdgLRGoOpue1dlZGdIQ=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "45e6dcff8489d75941468462c41fad0948a2c94b",
|
||||
"rev": "02cf60ce20b6034fc0459e5116cec7016aaff6e4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -776,11 +809,46 @@
|
|||
"url": "https://gist.github.com/duairc/5c9bb3c922e5d501a1edb9e7b3b845ba/archive/3885f7cd9ed0a746a9d675da6f265d41e9fd6704.tar.gz"
|
||||
}
|
||||
},
|
||||
"lix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1723503926,
|
||||
"narHash": "sha256-Rosl9iA9MybF5Bud4BTAQ9adbY81aGmPfV8dDBGl34s=",
|
||||
"rev": "bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2.tar.gz?rev=bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz"
|
||||
}
|
||||
},
|
||||
"lix-module": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flakey-profile": "flakey-profile",
|
||||
"lix": "lix",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723510904,
|
||||
"narHash": "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts=",
|
||||
"rev": "622a2253a071a1fb97a4d3c8103a91114acc1140",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/622a2253a071a1fb97a4d3c8103a91114acc1140.tar.gz?rev=622a2253a071a1fb97a4d3c8103a91114acc1140"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"
|
||||
}
|
||||
},
|
||||
"mac-app-util": {
|
||||
"inputs": {
|
||||
"cl-nix-lite": "cl-nix-lite",
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -809,11 +877,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725515460,
|
||||
"narHash": "sha256-ybr3YTmjhVOuCWdacABUPxfUlVNqy0ya3s2sZ8zgyTw=",
|
||||
"lastModified": 1726396311,
|
||||
"narHash": "sha256-+5XiPehXPmVym1LGgd8bK3VRSX5TRdku639TNA/H3VY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "e8df4bbcb3a2d18a32d8a50bd72c3175227f7468",
|
||||
"rev": "a97833a4f127d2723032afa6661adb15a020bbe1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -825,11 +893,11 @@
|
|||
"neovim-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1725446059,
|
||||
"narHash": "sha256-N+XyobzJsFXVivL/uu8lHSc9vxlM3j5SSOc4G9B0SyA=",
|
||||
"lastModified": 1726314671,
|
||||
"narHash": "sha256-KwsP2EVfcKexBaqrt3QGUX7GRFieDKEP/bx521dUOso=",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"rev": "b6e350a6b4df40fcc99931c460668c36fadc9989",
|
||||
"rev": "3b54adc6c6d25dd146fa1eac21321f6bd612f50a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -864,11 +932,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725544312,
|
||||
"narHash": "sha256-ETyDNLOF5YvFO2lVlKttXgdHTqSGdp9ZCRRCjv2gaoM=",
|
||||
"lastModified": 1726188813,
|
||||
"narHash": "sha256-Vop/VRi6uCiScg/Ic+YlwsdIrLabWUJc57dNczp0eBc=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "a55b3f1ab41bb6d5025ebeebb4da5fd240b9b3b3",
|
||||
"rev": "21fe31f26473c180390cfa81e3ea81aca0204c80",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -960,11 +1028,11 @@
|
|||
"nmd": "nmd"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1721670745,
|
||||
"narHash": "sha256-rjTQ14dqQ90EaHQy4g/mGylrJ1aZJYc3wCXc4A3GHJg=",
|
||||
"lastModified": 1725658585,
|
||||
"narHash": "sha256-P29z4Gt89n5ps1U7+qmIrj0BuRXGZQSIaOe2+tsPgfw=",
|
||||
"owner": "t184256",
|
||||
"repo": "nix-on-droid",
|
||||
"rev": "248cc0806120fac9214f503dee0eaf0f47740dd0",
|
||||
"rev": "5d88ff2519e4952f8d22472b52c531bb5f1635fc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -976,7 +1044,7 @@
|
|||
"nix-topology": {
|
||||
"inputs": {
|
||||
"devshell": "devshell_2",
|
||||
"flake-utils": "flake-utils_4",
|
||||
"flake-utils": "flake-utils_5",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
|
@ -1105,11 +1173,11 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1725432240,
|
||||
"narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=",
|
||||
"lastModified": 1726062873,
|
||||
"narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ad416d066ca1222956472ab7d0555a6946746a80",
|
||||
"rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1121,11 +1189,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1725103162,
|
||||
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
|
||||
"lastModified": 1725634671,
|
||||
"narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
|
||||
"rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1207,11 +1275,11 @@
|
|||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1725568280,
|
||||
"narHash": "sha256-CqrpCr0WQPtDR8lX+KF1iqv1KW3w1fT08zlAssIdpMQ=",
|
||||
"lastModified": 1726393490,
|
||||
"narHash": "sha256-LVGtTtPzF0rxy3nKzegvaLVsTKSM0IMLjfbxnh7FKP0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "0899f7e1d8fd4646c1ccd524e333c05907c1b40a",
|
||||
"rev": "1a4d47c6fc08986702c185ef0409d59dd42269a1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1321,16 +1389,16 @@
|
|||
"agenix"
|
||||
],
|
||||
"crane": "crane",
|
||||
"flake-utils": "flake-utils_5",
|
||||
"flake-utils": "flake-utils_6",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725344070,
|
||||
"narHash": "sha256-YX2npWHeTV9SxfI7P4IcPqxkO7sp/twYpdo/SGxNTbk=",
|
||||
"lastModified": 1725794804,
|
||||
"narHash": "sha256-QJvZDYfbcOM1Pt6YUPl+Xmw+JDJQtokdYj4P7sXuF7U=",
|
||||
"owner": "yaxitech",
|
||||
"repo": "ragenix",
|
||||
"rev": "e977cf6d792e7959c8bb24d62a6b4bea14daa00f",
|
||||
"rev": "7f6c227f86c5b4e6e7f6d2d62c614acd28d25627",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1353,6 +1421,7 @@
|
|||
"impermanence": "impermanence",
|
||||
"jovian-nixos": "jovian-nixos",
|
||||
"lib-net": "lib-net",
|
||||
"lix-module": "lix-module",
|
||||
"mac-app-util": "mac-app-util",
|
||||
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
||||
"nix-colors": "nix-colors",
|
||||
|
@ -1377,11 +1446,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725330199,
|
||||
"narHash": "sha256-oUkdPJIxP3r3YyVOBLkDVLIJiQV9YlrVqA+jNcdpCvM=",
|
||||
"lastModified": 1725675754,
|
||||
"narHash": "sha256-hXW3csqePOcF2e/PYnpXj72KEYyNj2HzTrVNmS/F7Ug=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "a562172c72d00350f9f2ff830e6515b6e7bee6d5",
|
||||
"rev": "8cc45e678e914a16c8e224c3237fb07cf21e5e54",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1448,7 +1517,7 @@
|
|||
},
|
||||
"spicetify-nix": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_6",
|
||||
"flake-utils": "flake-utils_7",
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -1510,6 +1579,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_12": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
|
@ -1673,17 +1757,17 @@
|
|||
"zig-overlay": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_8",
|
||||
"flake-utils": "flake-utils_7",
|
||||
"flake-utils": "flake-utils_8",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725538257,
|
||||
"narHash": "sha256-J8UYDbHm8zSU+MruQ0VGEFL7eOJUkYsi7O4rCc0EcCk=",
|
||||
"lastModified": 1726360294,
|
||||
"narHash": "sha256-YhSxws05ILQzwIdzy2Mc6lPicS9yAFDhSrza6Kfeew4=",
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"rev": "5848c57bc396697ae4ed69f5e1295fe655c3ffae",
|
||||
"rev": "2f41d3cc1c2f71210f98e524e10a20ad4bcf17df",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1694,7 +1778,7 @@
|
|||
},
|
||||
"zls-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_8",
|
||||
"flake-utils": "flake-utils_9",
|
||||
"gitignore": "gitignore_4",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
|
@ -1704,11 +1788,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725202623,
|
||||
"narHash": "sha256-+UdfnVQIMYEBNN5lVK/Pn6fs2YMohP+f/4XAU7qTTHo=",
|
||||
"lastModified": 1725812318,
|
||||
"narHash": "sha256-kqPJwnlhGByYBE1gqr7WI7O/Em8LmLPTBhPEST8OA8s=",
|
||||
"owner": "zigtools",
|
||||
"repo": "zls",
|
||||
"rev": "ace6f6da90a4420cd6632363b30762e577e2b922",
|
||||
"rev": "dd78968d4c8deefd33addc2b1cc14f60d89ec1a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -69,6 +69,11 @@
|
|||
url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
};
|
||||
|
||||
lix-module = {
|
||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
flake-parts = {
|
||||
url = "github:hercules-ci/flake-parts";
|
||||
inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||
|
|
|
@ -8,33 +8,12 @@
|
|||
# Auto upgrade nix package and the daemon service.
|
||||
services.nix-daemon.enable = true;
|
||||
|
||||
nix = let
|
||||
flakeInputs = lib.filterAttrs (lib.const (lib.isType "flake")) inputs;
|
||||
in {
|
||||
nix = {
|
||||
# Ensure we can work with flakes
|
||||
# TODO: add to `README.md`
|
||||
# NOTE: run `sudo -i nix-env --uninstall nix` to uninstall the global `nix`
|
||||
package = pkgs.nixVersions.monitored.latest;
|
||||
package = pkgs.lix-monitored;
|
||||
|
||||
# This will add each flake input as a registry
|
||||
# To make nix3 commands consistent with your flake
|
||||
registry = lib.mapAttrs (_: value: { flake = value; }) flakeInputs;
|
||||
|
||||
# This will additionally add your inputs to the system's legacy channels
|
||||
# Making legacy nix commands consistent as well, awesome!
|
||||
nixPath = lib.mapAttrsToList (key: value: "${key}=flake:${key}") flakeInputs;
|
||||
|
||||
# extraOptions = ''
|
||||
# # Enable flakes and new 'nix' command
|
||||
# experimental-features = nix-command flakes
|
||||
# # Allow building multiple derivations in parallel
|
||||
# max-jobs = auto
|
||||
# # Deduplicate and optimize nix store
|
||||
# auto-optimise-store = true
|
||||
# # Keep outputs and derivations
|
||||
# keep-outputs = true
|
||||
# keep-derivations = true
|
||||
# '';
|
||||
|
||||
settings = {
|
||||
# Enable flakes and new 'nix' command
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
programs.neovim = {
|
||||
enable = true;
|
||||
package = pkgs.neovim;
|
||||
# defaultEditor = true;
|
||||
defaultEditor = true;
|
||||
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
|
|
31
hosts/nixos/jeeves/anki.nix
Normal file
31
hosts/nixos/jeeves/anki.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ inputs, lib, pkgs, config, ... }:
|
||||
|
||||
{
|
||||
age.secrets."anki.reo101" = {
|
||||
rekeyFile = "${inputs.self}/secrets/home/jeeves/anki/reo101.age";
|
||||
mode = "400";
|
||||
};
|
||||
|
||||
services.anki-sync-server = {
|
||||
enable = true;
|
||||
package = pkgs.anki-sync-server;
|
||||
users = [
|
||||
{
|
||||
username = "reo101";
|
||||
passwordFile = config.age.secrets."anki.reo101".path;
|
||||
}
|
||||
];
|
||||
address = "0.0.0.0";
|
||||
port = 27701;
|
||||
};
|
||||
|
||||
services.nginx = {
|
||||
virtualHosts."anki.jeeves.local" = {
|
||||
enableACME = false;
|
||||
forceSSL = false;
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:${builtins.toString config.services.anki-sync-server.port}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -20,6 +20,7 @@
|
|||
# ./nextcloud.nix
|
||||
./paperless.nix
|
||||
./podman.nix
|
||||
./anki.nix
|
||||
];
|
||||
|
||||
# services.kanidm = { };
|
||||
|
@ -43,16 +44,8 @@
|
|||
hardware.enableRedistributableFirmware = true;
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
|
||||
nix = let
|
||||
flakeInputs = lib.filterAttrs (lib.const (lib.isType "flake")) inputs;
|
||||
in {
|
||||
# This will add each flake input as a registry
|
||||
# To make nix3 commands consistent with your flake
|
||||
registry = lib.mapAttrs (_: value: { flake = value; }) flakeInputs;
|
||||
|
||||
# This will additionally add your inputs to the system's legacy channels
|
||||
# Making legacy nix commands consistent as well, awesome!
|
||||
nixPath = lib.mapAttrsToList (key: value: "${key}=flake:${key}") flakeInputs;
|
||||
nix = {
|
||||
package = pkgs.lix-monitored;
|
||||
|
||||
settings = {
|
||||
trusted-users = [
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
DO_NOT_TRACK = "True";
|
||||
SCARF_NO_ANALYTICS = "True";
|
||||
TRANSFORMERS_CACHE = "${config.services.open-webui.stateDir}/cache";
|
||||
OLLAMA_API_BASE_URL = "http://127.0.0.1:11434";
|
||||
OLLAMA_API_BASE_URL = "http://127.0.0.1:${builtins.toString config.services.ollama.port}";
|
||||
# Disable authentication
|
||||
WEBUI_AUTH = "False";
|
||||
};
|
||||
|
|
|
@ -15,33 +15,35 @@
|
|||
enable = true;
|
||||
package = pkgs.sambaFull;
|
||||
openFirewall = true;
|
||||
securityType = "user";
|
||||
extraConfig = ''
|
||||
# Files
|
||||
workgroup = WORKGROUP
|
||||
server string = Jeeves
|
||||
netbios name = jeeves
|
||||
security = user
|
||||
#use sendfile = yes
|
||||
#max protocol = smb2
|
||||
# NOTE: localhost is the ipv6 localhost ::1
|
||||
hosts allow = 192.168.0. 192.168.1. 10.100.0. 127.0.0.1 localhost
|
||||
hosts deny = 0.0.0.0/0
|
||||
guest account = nobody
|
||||
map to guest = bad user
|
||||
settings = {
|
||||
global = {
|
||||
# Files
|
||||
"workgroup" = "WORKGROUP";
|
||||
"server string" = "Jeeves";
|
||||
"netbios name" = "jeeves";
|
||||
"security" = "user";
|
||||
# "use sendfile" = "yes";
|
||||
# "max protocol" = "smb2";
|
||||
# NOTE: localhost is the ipv6 localhost ::1
|
||||
# TODO: keep glogal network metadata somehow
|
||||
"hosts allow" = "192.168.0. 192.168.1. 10.100.0. 127.0.0.1 localhost";
|
||||
"hosts deny" = "0.0.0.0/0";
|
||||
"guest account" = "nobody";
|
||||
"map to guest" = "bad user";
|
||||
|
||||
# Symlinks
|
||||
allow insecure wide links = yes
|
||||
# Symlinks;
|
||||
"allow insecure wide links" = "yes";
|
||||
|
||||
# Printers
|
||||
load printers = yes
|
||||
printing = cups
|
||||
printcap name = cups
|
||||
'';
|
||||
shares = {
|
||||
# Printers;
|
||||
"load printers" = "yes";
|
||||
"printing" = "cups";
|
||||
"printcap name" = "cups";
|
||||
};
|
||||
|
||||
# Shares
|
||||
public = {
|
||||
path = "/data/samba/public";
|
||||
browseable = "yes";
|
||||
"path" = "/data/samba/public";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"guest ok" = "yes";
|
||||
"create mask" = "0644";
|
||||
|
@ -50,8 +52,8 @@
|
|||
"force group" = "users";
|
||||
};
|
||||
private = {
|
||||
path = "/data/samba/private";
|
||||
browseable = "yes";
|
||||
"path" = "/data/samba/private";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"guest ok" = "no";
|
||||
"create mask" = "0644";
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
rekeyFile = "${inputs.self}/secrets/home/jeeves/wireguard/key.age";
|
||||
generator = {
|
||||
script = { lib, pkgs, file, ... }: /* bash */ ''
|
||||
priv=$(${pkgs.wireguard-tools}/bin/wg genkey)
|
||||
${pkgs.wireguard-tools}/bin/wg pubkey <<< "$priv" > ${lib.escapeShellArg (lib.removeSuffix ".age" file + ".pub")}
|
||||
priv=$(${lib.getExe' pkgs.wireguard-tools "wg"} genkey)
|
||||
${lib.getExe' pkgs.wireguard-tools "wg"} pubkey <<< "$priv" > ${lib.escapeShellArg (lib.removeSuffix ".age" file + ".pub")}
|
||||
echo "$priv"
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -74,6 +74,7 @@
|
|||
(name: { package, systems }:
|
||||
let
|
||||
# TODO: put in `autoThings` `handle`?
|
||||
# TODO: keep source `dream2nix` module for overriding?
|
||||
isDream2Nix = lib.pipe package
|
||||
[
|
||||
builtins.functionArgs
|
||||
|
|
|
@ -29,6 +29,7 @@ in
|
|||
|
||||
config = let
|
||||
# TODO: agenix???
|
||||
# TODO: module options???
|
||||
name = "reo101";
|
||||
email = "pavel.atanasov2001@gmail.com";
|
||||
key = "675AA7EF13964ACB";
|
||||
|
|
|
@ -3,6 +3,9 @@
|
|||
(wezterm.config_builder)
|
||||
{}))
|
||||
|
||||
;; https://github.com/NixOS/nixpkgs/issues/336069
|
||||
(set config.front_end "WebGpu")
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;
|
||||
;;; Font Options ;;;
|
||||
;;;;;;;;;;;;;;;;;;;;
|
||||
|
|
|
@ -2,6 +2,9 @@ local M = {}
|
|||
|
||||
local wezterm = require("wezterm")
|
||||
|
||||
-- https://github.com/NixOS/nixpkgs/issues/336069
|
||||
M.front_end = "WebGpu"
|
||||
|
||||
----------
|
||||
-- Font --
|
||||
----------
|
||||
|
|
|
@ -23,6 +23,11 @@ final: prev:
|
|||
nix-output-monitor = prev.nix-output-monitor;
|
||||
};
|
||||
|
||||
lix-monitored = inputs.nix-monitored.packages.${prev.system}.default.override {
|
||||
nix = inputs.lix-module.packages.${prev.system}.default;
|
||||
nix-output-monitor = prev.nix-output-monitor;
|
||||
};
|
||||
|
||||
nixVersions = prev.nixVersions // {
|
||||
monitored =
|
||||
final.lib.flip final.lib.concatMapAttrs prev.nixVersions (version: package:
|
||||
|
|
8
secrets/home/jeeves/anki/reo101.age
Normal file
8
secrets/home/jeeves/anki/reo101.age
Normal file
|
@ -0,0 +1,8 @@
|
|||
age-encryption.org/v1
|
||||
-> X25519 jROnYoLUU52v0VQuZVBUlfa/U1+LxqaaHXJkWLqis1Q
|
||||
tDZKi1bq3h08JOyobEZq7fqAbe/Pyf1YPQj3y9CY8cM
|
||||
-> KWa-grease bQ\#u]
|
||||
XzYchZjVfR7y1kZp2PmXyZXyrYqGwZd5iKPERhSdc+3Pd2qU1pxVNJEZcAwcwpyM
|
||||
/+x8jADcUcWs9+MzgW0qHKzM4vcpLCE
|
||||
--- 0znfnFvlzrqKXsKHkbH5K7fS+vLMSfEKc84Wm0hFVGg
|
||||
=ã$þš¶‘¦ ôÂ/àÝœzË»©P©íß2“<1F>yg# º¯?7Qcsq<73>
|
Binary file not shown.
|
@ -7,7 +7,7 @@
|
|||
extra-experimental-features = nix-command flakes
|
||||
'';
|
||||
nativeBuildInputs = with pkgs; [
|
||||
nixVersions.monitored.latest
|
||||
lix-monitored
|
||||
home-manager
|
||||
git
|
||||
wireguard-tools
|
||||
|
|
Loading…
Reference in a new issue