Compare commits
No commits in common. "edd3a33d0ea309bfb2ce7097f9caf97bee2f0eb2" and "81377aef7d8940ca6ce8a47ab4eaa19231bd316f" have entirely different histories.
edd3a33d0e
...
81377aef7d
2 changed files with 26 additions and 40 deletions
21
LICENSE
21
LICENSE
|
|
@ -1,21 +0,0 @@
|
||||||
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.
|
|
||||||
45
README.md
45
README.md
|
|
@ -3,17 +3,23 @@
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
The goals of this repository are:
|
This repository serves two main purposes:
|
||||||
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
|
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
|
||||||
|
|
||||||
> [!WARNING]
|
> [!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 maintain this repository publicly as a reference for anyone 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 leave this
|
||||||
|
> repository public to serve as a reference for anyone else building something
|
||||||
|
> similar.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- NixOS configurations for all my hosts
|
- NixOS configurations for all my hosts
|
||||||
- Home-Manager configuration for my workstations
|
- Home-manager configuration for my workstations
|
||||||
- Custom packages
|
- Custom packages
|
||||||
- Development environments
|
- Development environments
|
||||||
- Declarative secrets with agenix
|
- Declarative secrets with agenix
|
||||||
|
|
@ -40,10 +46,12 @@ 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
|
frequently. While I'll try to keep this documentation current, what follows is a
|
||||||
high-level overview of the current design.
|
high-level overview of the current design.
|
||||||
|
|
||||||
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)).
|
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)).
|
||||||
|
|
||||||
|
#### Roles
|
||||||
### Roles
|
|
||||||
|
|
||||||
- **Workstation**: Desktop/laptop systems with GUI environment
|
- **Workstation**: Desktop/laptop systems with GUI environment
|
||||||
- **Server**: Headless systems running specific services
|
- **Server**: Headless systems running specific services
|
||||||
|
|
@ -77,7 +85,7 @@ flake.nixosConfigurations = {
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
### Profiles
|
#### Profiles
|
||||||
|
|
||||||
Profiles are collections of related software and configurations that can be
|
Profiles are collections of related software and configurations that can be
|
||||||
enabled on a per-host basis. Here are some example profiles for workstations:
|
enabled on a per-host basis. Here are some example profiles for workstations:
|
||||||
|
|
@ -89,7 +97,7 @@ enabled on a per-host basis. Here are some example profiles for workstations:
|
||||||
- `media`: Audio/video playback and management
|
- `media`: Audio/video playback and management
|
||||||
- `virtualization`: Virtual machine support
|
- `virtualization`: Virtual machine support
|
||||||
|
|
||||||
Example:
|
Example configuration:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
ooknet.workstation.profiles = ["gaming" "creative" "media"];
|
ooknet.workstation.profiles = ["gaming" "creative" "media"];
|
||||||
|
|
@ -108,17 +116,16 @@ ooknet.server.services = ["ookflix"];
|
||||||
## Desktop environment
|
## Desktop environment
|
||||||
|
|
||||||
<img src=".github/assets/2025-01-26T21:52:48,481278761+11:00.png" />
|
<img src=".github/assets/2025-01-26T21:52:48,481278761+11:00.png" />
|
||||||
All workstations use a minimal wayland configuration made from the following
|
All workstations currently run a minimal wayland configuration made from a few
|
||||||
components:
|
components:
|
||||||
|
|
||||||
- **Compositor**: [Hyprland](https://github.com/hyprwm/Hyprland)
|
- [Hyprland](https://github.com/hyprwm/Hyprland)
|
||||||
- **Utilities**:
|
- Hypr* ware ([hypridle](https://github.com/hyprwm/hypridle),
|
||||||
- **Idle**: [hypridle](https://github.com/hyprwm/hypridle)
|
[hyprlock](https://github.com/hyprwm/hyprlock),
|
||||||
- **Screen locker**: [hyprlock](https://github.com/hyprwm/hyprlock)
|
[hyprpaper](https://github.com/hyprwm/hyprpaper))
|
||||||
- **Wallpaper**: [hyprpaper](https://github.com/hyprwm/hyprpaper)
|
- [Waybar](https://github.com/Alexays/Waybar)
|
||||||
- **Bar**: [Waybar](https://github.com/Alexays/Waybar)
|
- [Mako](https://github.com/emersion/mako)
|
||||||
- **Notifications**: [Mako](https://github.com/emersion/mako)
|
- [Gruvbox extended](https://github.com/ooks-io/ooknet/blob/main/outputs/hozen/default.nix)
|
||||||
- **Colorscheme**: [Gruvbox extended](https://github.com/ooks-io/ooknet/blob/main/outputs/hozen/default.nix)
|
|
||||||
|
|
||||||
## Appreciation
|
## Appreciation
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue