mirror of
https://github.com/Jokiller230/puzzlevision.git
synced 2025-09-10 12:50:05 +00:00
Compare commits
2 commits
a6da14d4cf
...
8edd189f07
Author | SHA1 | Date | |
---|---|---|---|
8edd189f07 | |||
1e94d11ce0 |
4 changed files with 41 additions and 5 deletions
|
@ -43,6 +43,7 @@ Secrets are managed by the [sops-nix](https://github.com/Mic92/sops-nix) nixos/h
|
||||||
|
|
||||||
- General secrets are stored within the `secrets` directory.
|
- General secrets are stored within the `secrets` directory.
|
||||||
- System specific secrets are stored within their respective `systems/<system_type>/<system_name>/secrets` directory.
|
- System specific secrets are stored within their respective `systems/<system_type>/<system_name>/secrets` directory.
|
||||||
|
- User secrets are stored within their respective `homes/<system_type>/<user_name>/secrets` directory.
|
||||||
|
|
||||||
The following command may be used to convert the SSH host key of a new machine to an age key:
|
The following command may be used to convert the SSH host key of a new machine to an age key:
|
||||||
|
|
||||||
|
@ -66,7 +67,7 @@ You may also encrypt arbitrary binary formats, like .cfg, using the following co
|
||||||
nix-shell -p sops --run "sops -e original_file.cfg > secrets/encrypted_file.cfg"
|
nix-shell -p sops --run "sops -e original_file.cfg > secrets/encrypted_file.cfg"
|
||||||
```
|
```
|
||||||
|
|
||||||
Lastly, when adding new systems, make sure to update any required secret files with the following command:
|
Finally, when adding new systems, make sure to update any required secret files with the following command:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
nix-shell -p sops --run "sops updatekeys secrets/example.yaml"
|
nix-shell -p sops --run "sops updatekeys secrets/example.yaml"
|
||||||
|
@ -117,7 +118,7 @@ Some of my future goals for this flake are:
|
||||||
- Further refining my usage of the Nix language, through language best-practices and CLI dev tools.
|
- Further refining my usage of the Nix language, through language best-practices and CLI dev tools.
|
||||||
|
|
||||||
## 🏗️ Structure
|
## 🏗️ Structure
|
||||||
The structure this flake aims to build on is relatively simple to grasp.
|
This flake follows an opinionated directory structure, described below.
|
||||||
|
|
||||||
```
|
```
|
||||||
flake.nix --> The flake.
|
flake.nix --> The flake.
|
||||||
|
|
9
homes/x86_64-linux/jo/apps/packettracer/default.nix
Normal file
9
homes/x86_64-linux/jo/apps/packettracer/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
puzzlevision.apps.packettracer = {
|
||||||
|
enable = true;
|
||||||
|
binaryPath = ./Packet_Tracer822_amd64_signed.deb;
|
||||||
|
};
|
||||||
|
}
|
|
@ -8,6 +8,7 @@
|
||||||
./apps/discord
|
./apps/discord
|
||||||
./apps/firefox
|
./apps/firefox
|
||||||
./apps/vicinae
|
./apps/vicinae
|
||||||
|
./apps/packettracer
|
||||||
];
|
];
|
||||||
|
|
||||||
puzzlevision = {
|
puzzlevision = {
|
||||||
|
@ -28,9 +29,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Notify on systembus events
|
|
||||||
services.systembus-notify.enable = true;
|
|
||||||
|
|
||||||
sops.secrets.wakatime-cfg = {
|
sops.secrets.wakatime-cfg = {
|
||||||
format = "binary";
|
format = "binary";
|
||||||
sopsFile = ./secrets/wakatime.cfg;
|
sopsFile = ./secrets/wakatime.cfg;
|
||||||
|
|
28
modules/home/apps/packettracer/default.nix
Normal file
28
modules/home/apps/packettracer/default.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (self) namespace;
|
||||||
|
inherit (self.lib) mkOpt;
|
||||||
|
inherit (lib) mkEnableOption types mkIf;
|
||||||
|
|
||||||
|
cfg = config.${namespace}.apps.packettracer;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.${namespace}.apps.packettracer = {
|
||||||
|
enable = mkEnableOption "the Cisco Packettracer application, a network emulator.";
|
||||||
|
binaryPath =
|
||||||
|
mkOpt types.path null
|
||||||
|
"The path of the Packettracer binary. Has to be downloaded from Cisco Netacad";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
(ciscoPacketTracer8.override { packetTracerSource = cfg.binaryPath; })
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue