OliverEvans96 / PwNixOS

PwNixOS - A Productivity Focused and Hacking-Oriented NixOS Flake

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PwNixOS: A Productivity Focused and Hacking-Oriented NixOS Flake

PwNixOS Logo

Introduction

Welcome to PwNixOS, a NixOS Flake that combines a strong focus on productivity with powerful tools for hacking.

Screenshots

Terminal

Neovim and Gtk themes

Floating layout

Features

UnixPorn at its core

PwNixOS places a strong emphasis on delivering a top-notch graphical experience by providing a visually appealing and productivity-focused interface.

Hacking Tools

PwNixOS offers a wide array of tools and utilities out of the box to support your hacking endeavors. From advanced network analysis and penetration testing tools to powerful scripting languages and development environments, PwNixOS equips you with the necessary arsenal to explore and manipulate computer systems to your heart's content.

Package Management with Nix

One of the standout features of NixOS is its unique package management system called Nix. With Nix, you can easily install, update, and manage software packages on your system. What makes Nix special is its ability to provide isolated and reproducible environments for each package, ensuring that software installations do not interfere with one another. This allows for painless experimentation and easy rollback to previous configurations.

Declarative Configuration

NixOS follows a declarative approach to system configuration. Instead of making changes directly to the system, you define the desired state of your system in a configuration file or flake (like this one). This configuration specifies all the packages, services, and settings you want, providing a clear and reproducible blueprint for your system. This declarative nature simplifies system administration, enables easy replication of configurations across multiple machines, and facilitates version control of your system setup.

Custom packages

This flake has custom hacking tools that are uploaded to the NUR. The purpose of these tools is to fill in the gaps that exist today in the official repositories and create a full arsenal of tools, with well-known tools such as BloodHound and lesser-known tools such as psudohash.

Getting Started

To get started with PwNixOS, follow these steps:

  1. Installation: Install NixOS on your machine by following the official installation guide.
  2. Clone this repo: git clone https://github.com/exploitoverload/PwNixOS.git ~/.config/nixos
  3. Edit username: By default, the username for all the configuration is d3fault and the hostname is pwnix. You can change this as you want by editing in all the files (don't forget to rename the folder inside hosts). grep -i -R d3fault ~/.config/nixos/ and grep -i -R pwnix ~/.config/nixos/ are usefull.
  4. Copy your specific hardware-configuration.nix file: You need to copy you hardware-configuration.nix file located at /etc/nixos/hardware-configuration.nix to the host folder.
  5. Review default.nix file inside pwnix host folder. It contains the configuration for nvidia-optimus and intel graphics. You have to choose one, comment the other.
  6. Enable Nix-Command and Flakes options: Edit your configuration.nix file located at /etc/nixos/configuration.nix adding this line -> nix.settings.experimental-features = [ "nix-command" "flakes" ];.
  7. Rebuild your system (without the flake): Open a terminal and run -> sudo nixos-rebuild switch.
  8. Apply the flake: Open a terminal and inside ~/.config/nixos/ run sudo nixos-rebuild boot --flake <host type> --upgrade.
  9. Reboot and cross fingers.

Keyboard Shortcuts

General

Action Shortcut
Launch Terminal (kitty) WIN + ENTER
Close App WIN + Q
Launch App Selector WIN + D
Show Power Menu WIN + X
Lock Screen WIN + L
Change Workspace WIN + 1-9
Move focused app to Workspace WIN + SHIFT + 1-9
Toggle floating mode in foused app WIN + V
Toggle fullscreen mode in focused app WIN + F
Take Screenshot (saved to clipboard) WIN + SHIFT + S
In Floating, move window WIN + RIGHT_CLICK + MOVE_MOUSE
In Floating, resize window WIN + LEFT_CLICK + MOVE_MOUSE
Move focus WIN + ARROW_KEYS
Move Apps in the workspace WIN + SHIFT + ARROW_KEYS
Resize Apps WIN + CTRL + ARROW_KEYS

Terminal (Kitty)

Action Shortcut
Copy selected text (Default Buffer) CTRL + SHIFT + C
Paste selected text (Default Buffer) CTRL + SHIFT + V
Copy selected text (Alternative Buffer 1) F1
Paste selected text (Alternative Buffer 1) F2
Copy selected text (Alternative Buffer 2) F3
Paste selected text (Alternative Buffer 2) F4
Show terminal history (fzf) CTRL + R
Search files recursively from current directory (fzf) CTRL + T
Create new pane inside the current tab CTRL + SHIFT + ENTER
Create new tab CTRL + SHIFT + T
Rename tab CTRL + SHIFT + ALT + T
Change to next tab CTRL + TAB
Close pane CTRL + SHIFT + W
Change layout CTRL + SHIFT + L
Move focus to pane (same tab) CTRL + ARROW_KEYS
Jump between words in a command ALT + LEFT/RIGHT

Special Considerations

Neo4j start and stop

In order to start or stop the service, it has to be done via systemd using the following commands

systemctl start neo4j
systemctl stop neo4j

At the first start of the service, the neo4j user's password for the service must be configured using the web portal located at http://localhost:7474

TODO

  • Add IP Addresses for current interface to waybar.
  • Add click to copy IP in the network module of waybar.
  • Add NvChad to the neovim configuration.

For more detailed information and documentation, please refer to the official NixOS manual.

Special thanks to:

About

PwNixOS - A Productivity Focused and Hacking-Oriented NixOS Flake

License:MIT License


Languages

Language:Shell 81.6%Language:Nix 16.3%Language:CSS 2.1%