From 49c951c877664c7ee145e39a4654919c16cfbfe7 Mon Sep 17 00:00:00 2001 From: ooks-io <68526158+ooks-io@users.noreply.github.com> Date: Sat, 1 Feb 2025 12:15:15 +1100 Subject: [PATCH 1/2] docs: readme --- README.md | 45 +++++++++++++++++++-------------------------- 1 file changed, 19 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index f26b6b0..8a6bb0d 100644 --- a/README.md +++ b/README.md @@ -3,23 +3,17 @@ ## Overview -This repository serves two main purposes: - -1. To serve as a centralized location for all my personal computing - infrastructure -2. To provide a place to experiment and learn about networking, administration, - security, unix, design, and programming +The goals of this repository are: +1. To maintain a centralized location for all my personal computing infrastructure +2. To provide a place to experiment and learn about networking, administration, security, unix, design, and programming > [!WARNING] -> This repository is not intended to be used by anyone but myself. It is highly -> personalized and likely doesn't fit anyone else's needs. I leave this -> repository public to serve as a reference for anyone else building something -> similar. +> This repository is not intended to be used by anyone but myself. It is highly personalized and likely doesn't fit anyone else's needs. I maintain this repository publicly as a reference for anyone building something similar. ## Features - NixOS configurations for all my hosts -- Home-manager configuration for my workstations +- Home-Manager configuration for my workstations - Custom packages - Development environments - Declarative secrets with agenix @@ -46,12 +40,10 @@ As this project serves as a learning environment, its architecture changes frequently. While I'll try to keep this documentation current, what follows is a high-level overview of the current design. -One of the main goals of this project was to allow for easy bootstrapping of new -hosts while maintaining fine-grained configuration on a per-host basis. This is -accomplished using a roles and profiles pattern (similar to -[Puppet's roles and profiles method](https://www.puppet.com/docs/puppet/7/the_roles_and_profiles_method.html)). +The current architecture enables straightfoward bootstrapping of new hosts while maintaining fine-grained configuration on a per-host basis. This is accomplished using a roles and profiles pattern (similar to [Puppet's roles and profiles method](https://www.puppet.com/docs/puppet/7/the_roles_and_profiles_method.html)). -#### Roles + +### Roles - **Workstation**: Desktop/laptop systems with GUI environment - **Server**: Headless systems running specific services @@ -85,7 +77,7 @@ flake.nixosConfigurations = { }; ``` -#### Profiles +### Profiles Profiles are collections of related software and configurations that can be enabled on a per-host basis. Here are some example profiles for workstations: @@ -97,7 +89,7 @@ enabled on a per-host basis. Here are some example profiles for workstations: - `media`: Audio/video playback and management - `virtualization`: Virtual machine support -Example configuration: +Example: ```nix ooknet.workstation.profiles = ["gaming" "creative" "media"]; @@ -116,16 +108,17 @@ ooknet.server.services = ["ookflix"]; ## Desktop environment -All workstations currently run a minimal wayland configuration made from a few +All workstations use a minimal wayland configuration made from the following components: -- [Hyprland](https://github.com/hyprwm/Hyprland) -- Hypr* ware ([hypridle](https://github.com/hyprwm/hypridle), - [hyprlock](https://github.com/hyprwm/hyprlock), - [hyprpaper](https://github.com/hyprwm/hyprpaper)) -- [Waybar](https://github.com/Alexays/Waybar) -- [Mako](https://github.com/emersion/mako) -- [Gruvbox extended](https://github.com/ooks-io/ooknet/blob/main/outputs/hozen/default.nix) +- **Compositor**: [Hyprland](https://github.com/hyprwm/Hyprland) +- **Utilities**: + - **Idle**: [hypridle](https://github.com/hyprwm/hypridle) + - **Screen locker**: [hyprlock](https://github.com/hyprwm/hyprlock) + - **Wallpaper**: [hyprpaper](https://github.com/hyprwm/hyprpaper) + - **Bar**: [Waybar](https://github.com/Alexays/Waybar) + - **Notifications**: [Mako](https://github.com/emersion/mako) +- **Colorscheme**: [Gruvbox extended](https://github.com/ooks-io/ooknet/blob/main/outputs/hozen/default.nix) ## Appreciation From edd3a33d0ea309bfb2ce7097f9caf97bee2f0eb2 Mon Sep 17 00:00:00 2001 From: ooks-io <68526158+ooks-io@users.noreply.github.com> Date: Sat, 1 Feb 2025 14:28:28 +1100 Subject: [PATCH 2/2] docs: licence --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..169e74a --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 ooks-io + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.