|
4 minutes ago | |
---|---|---|
compat | 1 week ago | |
src | 4 minutes ago | |
.drone.yml | 1 week ago | |
.gitignore | 1 week ago | |
LICENSE | 4 weeks ago | |
README.md | 1 week ago | |
configuration.nix | 4 days ago | |
flake.lock | 24 hours ago | |
flake.nix | 4 weeks ago | |
hardware-configuration.nix | 3 weeks ago | |
install.sh | 1 week ago | |
niximg.nix | 3 weeks ago | |
sync.sh | 4 weeks ago |
README.md
PubSolarOS
A fully automated replicable nixos configuration flake that provides re-usable modules, and pre-configured system configuration.
Features
- A customized LiveCD ISO that you can try environment out and speed up your installation!
- Full-disk encryption including
/boot
. Support hibernate. - An almost automated one-liner installation script.
- CapsLock as Ctrl!
zsh
with oh-my-zsh builtin, in addition to a git plugin which makes your life easier.- A keyboard-oriented system, with
sway
,alacritty
, a launcher, and more.
How do I install pre-configured system configuration?
Download and boot in customized LiveCD, and then:
sudo install-script
If you are on a NVMe SSD, use sudo install-script -n
instead.
Follow the instructions and you should end up with a running system. Above installation script will automatically install a generic configuration. You will get the chance to update parts of this configuration before installation.
Security details
As for us, we are on our best to ensure that the system is convenient to use and secure. But here are some concerns:
services.fstrim.enable
is set totrue
which means that attacker may be able to perceive the data usage of the fully encrypted disk.- There is a keyfile added to
/
partition encryption in order to eliminate the twice keying in of the LUKS passphrase.
How do I re-use and change parts of it?
The configuration is done modularly. Check out src/modules
to see some of them. In your configuration.nix
, you can set configuration options that will enable or disable these modules. Use the following command to see different kinds of configuration options:
❯ nixos-option pub-solar.sway -r -I nixpkgs=./compat
pub-solar.sway.enable = true;
You can change the option you want to see:
❯ nixos-option pub-solar.x-os -r -I nixpkgs=./compat
pub-solar.x-os.binaryCaches = [ ];
pub-solar.x-os.enable = true;
pub-solar.x-os.enableBoot = true;
pub-solar.x-os.enableSwap = true;
pub-solar.x-os.extraPackages = null;
pub-solar.x-os.hostname = "chocolatebar";
pub-solar.x-os.isoMode = false;
pub-solar.x-os.iwdConfig = null;
pub-solar.x-os.publicKeys = [ "dram.cachix.org-1:baoy1SXpwydKbqdTbfKGTKauDDeDlHhUpC+QuuILEMY=" ];
See also
- netkit.nix flake: Verstile tools for advanced networking scenarios in NixOS, including Clash, wifi-to-wifi hotspot, on demand minecraft server, frpc modules.
- std: Standard library used by my flakes.
- iceberg: My personal package collection. Currently, it includes Wolfram Engine package and modules.
Acknowledgments
Thanks to following repositories:
- LEXUGE - nixos. For doing half the work
- Jollheef - localhost. It inspired me the general structure of the config and how to use home-manager.
- Ninlives - nixos-config. It inspired me to implement the transparent proxy functionality.
- nrdxp - nixflk. It helps me to implement the customized ISO building.
- abcdw - rde. Installation techniques.