this post was submitted on 19 Jul 2023
68 points (100.0% liked)
Solarpunk
5450 readers
52 users here now
The space to discuss Solarpunk itself and Solarpunk related stuff that doesn't fit elsewhere.
Join our chat: Movim or XMPP client.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
An official Solarpunk machine would have NixOS, IMO.
Why NixOS for Solarpunks:
Eco-friendly: NixOS is highly configurable and efficient, which can help in reducing computational waste and thereby energy consumption.
Reproducibility: With NixOS, systems are completely reproducible, thanks to the Nix package manager. This means that given a particular configuration file, the same system can be rebuilt identically, reducing needless experimentation and waste.
Versioning and Rollbacks: NixOS provides easy versioning and rollbacks, contributing to sustainability by preventing the need for complete system re-installations when things go wrong.
Flakes: Flakes, a packaging format in Nix, make it easy to distribute software and configuration across systems. This can help in creating decentralized and resilient networks of systems—a key value in the solarpunk movement.
Content-Addressed Derivations: NixOS uses content-addressed derivations, which provide a way to refer to packages or software builds based on their content. This creates a form of software "recycling", as once a package or build exists, it's reused across multiple systems without recompilation, saving resources and energy.
Transparent and Open Source: NixOS is open source, embodying the solarpunk ideals of transparency, community participation, and decentralization. It allows individuals to take control of their own technological environments and understand the workings of their systems.
Modular Design: Its modular design promotes the reuse of software components, which is in line with the solarpunk ethos of reducing waste.
Customizability: NixOS allows for extensive customization, empowering users to create systems that suit their specific needs, aligning with the solarpunk focus on individuality and self-reliance.
All these aspects combined make NixOS a fitting choice for a member of the solarpunk movement, who seeks sustainability, efficiency, resilience, and independence.
Why NixOS? Never tried and may give it a go. It's very hyped right now so I'm curious
Because, among other features, the ENTIRE OS can be configured with one flake.
Here’s my config: https://github.com/harryprayiv/nix-config
That's cool! Might have to give it a spin in a VM.
I built a config for a VM inside of that repo I showed you.
I have it configured where you create a new machine profile and put it in the system folder (my VM machine profile would get you close) then you configure the home manager aspect. I have two options in that config. One is my normal one and the other is called “slim” which would be better for your case. I even built a TUI that switches to whatever config I want. you’d call: ``./switchTUI from terminal.
The xmonad thing is a choice of mine but I have commented out parts in the machine config files that could to choose to gnome or plasma if I wanted to.
I had to sort of fragment the files for my config because I wanted to create a config that would cover every single kind of system in my network.
I wish Hyprland were configured with Haskell. It’s so pretty.
I like your setup! Maybe I'll try it. I did consider it due to the single config file but was thinking that it may be missing stuff. But looking at your setup it will probably work for me too. Thanks!
Mine is forked from a guy named gvolpe. So, if you run into problems, comparing his and mine might illuminate some things.
I’m in the process of updating the stripped-down VM config that lives in that repo but it’s a really good start if you run it as a VM. You’d just need new hardware-configuration.nix files for the actual ID’s of the drives that the VM creates. I’m sure someone smarter than me has a proper one..but they’re not using xmonad and polybar! ;)