Experimental NixOS repo
Find a file
teutat3s b51179e2cb
flake.lock: Update
Flake lock file updates:

• Updated input 'nix-darwin':
    'github:lnl7/nix-darwin/58b905ea87674592aa84c37873e6c07bc3807aba' (2024-06-15)
  → 'github:lnl7/nix-darwin/29b3096a6e283d7e6779187244cb2a3942239fdf' (2024-06-17)
• Updated input 'nixos-flake':
    'github:srid/nixos-flake/c23ce31c707c3e4b699312ab9c80a4a003e893b1' (2024-06-11)
  → 'github:srid/nixos-flake/90360c36a09b4348a3c61bf60e416b3cb1570264' (2024-06-17)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/cc54fb41d13736e92229c21627ea4f22199fee6b' (2024-06-12)
  → 'github:nixos/nixpkgs/752c634c09ceb50c45e751f8791cb45cb3d46c9e' (2024-06-15)
• Updated input 'unstable':
    'github:nixos/nixpkgs/e9ee548d90ff586a6471b4ae80ae9cfcbceb3420' (2024-06-13)
  → 'github:nixos/nixpkgs/b60ebf54c15553b393d144357375ea956f89e9a9' (2024-06-16)
2024-06-18 22:28:07 +02:00
doc flake: pull in changes from digga upstream 2023-03-27 13:43:33 +02:00
hosts Revert "ryzensun: use tee in initrd postCommand script" 2024-06-14 15:57:18 +02:00
lib lib: use improved deploy-rs lib with overlay'ed pkg 2024-06-13 01:17:18 +02:00
modules linux: use LTS kernel 6.6 again 2024-06-16 19:36:36 +02:00
overlays nix-index: use updated fork version 2024-06-12 22:38:35 +02:00
pkgs tree-wide: remove top-level "with lib;" 2024-06-13 02:14:52 +02:00
secrets fae: switch to nginx, use acme with hosting.de DNS 2024-04-13 02:13:26 +02:00
tests zsh: remove leftover files and traces of zsh usage 2023-05-06 15:19:08 +02:00
users tree-wide: remove top-level "with lib;" 2024-06-13 02:14:52 +02:00
.drone.yml fix: move pre-commit treefmt hook into CI 2023-07-13 17:05:27 +02:00
.editorconfig fix: move pre-commit treefmt hook into CI 2023-07-13 17:05:27 +02:00
.envrc nix-direnv: use flake-aware version 2.0.0 2022-04-26 11:36:40 +02:00
.git-blame-ignore-revs Ignore treefmt commit 2022-11-20 23:30:58 +01:00
.gitignore feat: convert to flake-parts 2023-11-10 19:48:06 +01:00
bors.toml bors.toml: don't delete merged branches 2021-05-14 22:49:39 -07:00
CHANGELOG.md Run treefmt command 2022-11-20 23:28:23 +01:00
CONTRIBUTING.md fix: move pre-commit treefmt hook into CI 2023-07-13 17:05:27 +02:00
COPYING init 2019-12-02 22:18:30 -07:00
default.nix flake: pull in changes from digga upstream 2023-03-27 13:43:33 +02:00
flake.lock flake.lock: Update 2024-06-18 22:28:07 +02:00
flake.nix flake: switch to NixOS 24.05 2024-05-27 10:56:46 +02:00
LICENSE.md Run treefmt command 2022-11-20 23:28:23 +01:00
README.md flake: git.b12f.io -> git.pub.solar, bump flake 2023-03-27 10:39:10 +02:00
treefmt.toml lint: exclude file generated by nvfetcher 2023-05-05 18:32:40 +02:00

PubSolarOS

Welcome to PubSolarOS, a very opiniated Linux (NixOS) distribution for the nerdy.

We're creating this distribution for our own personal use and fun, but take pride in our craft. As of 14.08.22 it's running on 14 physical devices, both x86_64 and aarch64.

At its core, it's a NixOS installation running our configuration. The UX decisions and the way the project is structured are what make it PubSolarOS:

  • Reproducibility is king, and the future is with declarative and functional programming. Even if Nix does not turn out to be the end-all-be-all of reproducible package management (Guix looks good), it has a plethora of packages, a very active and helpful community, and very solid software engineering practices.
  • Because reproducibility is king, we're using nix flakes for locking flake dependencies. Digga is our flake utility library, made by the wonderful people of the Divnix community.
  • Physical devices are not shared anymore nowadays. Only seldomly will you find shared devices that need more than one user account. For this reason, only one user (excluding root) is assumed.
  • Keyboard navigation wins where it matters; ergonomics, programmability, efficiency, and speed. We use a tiling window manager (sway) and prioritize cli-based solutions where sensible. The editor is neovim configured to be just as opiniated as the operating system it is a part of. For mailing, neomutt is the default, but we're more divided on that part.
  • We like new and shiny things, so we've moved to Wayland and pipewire.
  • SICHERHEIT is written in capital letters at pub.solar, so we have first- class disk-encryption support. Currently in the works is a paranoid mode where the device can only hibernate (no more sleep or lockscreen) so your data is locked any time you leave the device.
  • Free software is better. If we can avoid it, nonfree software is avoided. By default, allowUnfree is false so we don't ship non-free software in a basic PubSolarOS ISO. However, nothing prevents you from using as much non-free software as you like.
  • Automation is better. The reproducibility of nix feels so much more powerful once you're deploying your new configuration from your laptop to all your other devices with one command. We have an automated CI using drone.
  • Community is important. We just like working on this together, and it feels really good to see our progress at the end of a hakken.irl session.

To get started, take a look at the quick start guide in our docs.