mirror of
https://github.com/Jokiller230/puzzlevision.git
synced 2025-09-09 04:10: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.
|
||||
- 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:
|
||||
|
||||
|
@ -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"
|
||||
```
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
## 🏗️ 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.
|
||||
|
|
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/firefox
|
||||
./apps/vicinae
|
||||
./apps/packettracer
|
||||
];
|
||||
|
||||
puzzlevision = {
|
||||
|
@ -28,9 +29,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
# Notify on systembus events
|
||||
services.systembus-notify.enable = true;
|
||||
|
||||
sops.secrets.wakatime-cfg = {
|
||||
format = "binary";
|
||||
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