Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
result
31 changes: 0 additions & 31 deletions CodeOfEthics.md

This file was deleted.

23 changes: 7 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,14 @@ A Linux system built by Lunduke, for Lunduke.

The Lunduke Computer Operating System (LCOS) adheres to a core set of ideas:

- No Age or ID Verification.
- No Online Accounts Needed.
- No AI.
- No Weird Politics.
- No Systemd.
- No Forced Rust Clones.
- Modern Tech. 90s UI.
- A lot of Weird Politics.
- All of Systemd.
- So many forced Rust Clones.
- Using wayland only
- Restricting non woke packages

LCOS is built on top of Devuan (a high quality fork of Debian, which removes Systemd), and includes carefully selected software to adhere to those core ideals (including the stripped-down Brave Origin as the default web browser).
LCOS is built on top of NixOs (a high quality operating system), and includes carefully selected software to adhere to those core ideals.

## The Lunduke Computer Operating System is a Monarchy.

Expand All @@ -30,12 +29,4 @@ As such, source code deviations, from upstream projects, is kept to an absolute

LCOS is in early development. Expect bugs.

[The Lunduke Journal Forum](https://forum.lunduke.com/) is the exclusive place to ask questions, provide suggestions, report issues, or talk with other LCOS users. To keep trolls away, [this forum](https://forum.lunduke.com/) is only available to [Lunduke Journal subscribers](https://lunduke.com/).

## Screenshots

![](screenshots/lcos-01-shot3.png)

![](screenshots/lcos-01-shot1.png)

![](screenshots/lcos-01-shot4.png)
[The Lunduke Journal Forum](https://forum.lunduke.com/) is the exclusive place to ask questions, provide suggestions, report issues, or talk with other LCOS users. To keep trolls away, [this forum](https://forum.lunduke.com/) is only available to [Lunduke Journal subscribers](https://lunduke.com/).
10 changes: 10 additions & 0 deletions cdImage/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{ pkgs, modulesPath, ...}: {
imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix") ];

services.displayManager.cosmic-greeter.enable = true;
services.desktopManager.cosmic.enable = true;
services.displayManager.autoLogin = {
enable = true;
user = "nixos";
};
}
27 changes: 27 additions & 0 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 21 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
description = "A very basic flake";

inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
};

outputs = { self, nixpkgs }: {
nixosModules.default = import ./nixosModules;

nixosConfigurations = {
iso = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./nixosModules
./cdImage
];
};
};
};
}
7 changes: 7 additions & 0 deletions nixosModules/alternatives.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{ ... }: {
nixpkgs.overlays = [
(self: super: {
neofetch = builtins.trace "Neofetch has been deemed not woke enough will use pkgs.hyfetch" super.hyfetch;
})
];
}
14 changes: 14 additions & 0 deletions nixosModules/blacklist.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{ lib, config, ... }: {
nixpkgs.overlays = [
(self: super: {
xwayland-satellite = abort "Lunduke Computer Operating System does not allow XORG compatibility anymore please use wayland";
})
];

assertions = [
{
assertion = !config.services.xserver.enable;
message = "Lunduke Computer Operating System does not allow XORG anymore please use wayland";
}
];
}
16 changes: 16 additions & 0 deletions nixosModules/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{ lib, ... }: {
imports = [
./installConfig.nix
./blacklist.nix
./alternatives.nix
./systemd.nix
];

networking.hostName = lib.mkDefault "lcos";
system.nixos = {
distroName = "lcos";
distroId = "lcos";
vendorId = "lunduke";
vendorName = "lunduke";
};
}
146 changes: 146 additions & 0 deletions nixosModules/installConfig.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
{ config, options, ...}: let
flake = ''
{
inputs = {
# This is pointing to an unstable release.
# If you prefer a stable release instead, you can change the word unstable to the latest number shown here: https://nixos.org/download
# i.e. nixos-26.05
# Use `nix flake update` to update the flake to the latest revision of the chosen release channel.
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
lcos.url = "github:AwesomeQubic/lcosv2";
};
outputs = inputs\@{ self, nixpkgs, lcos, ... }: {
nixosConfigurations.${options.networking.hostName} = nixpkgs.lib.nixosSystem {
modules = [
./configuration.nix
lcos.nixosModules.default
];
};
};
}
'';
configuration = ''
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).

{ config, lib, pkgs, ... }:

{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];

$bootLoaderConfig
# networking.hostName = "${options.networking.hostName}"; # Define your hostname.

# Configure network connections interactively with nmcli or nmtui.
networking.networkmanager.enable = true;

# Set your time zone.
# time.timeZone = "Europe/Amsterdam";

# Configure network proxy if necessary
# networking.proxy.default = "http://user:password\@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";

# Select internationalisation properties.
# i18n.defaultLocale = "en_US.UTF-8";
# console = {
# font = "Lat2-Terminus16";
# keyMap = "us";
# useXkbConfig = true; # use xkb.options in tty.
# };

$desktopConfiguration

# Enable CUPS to print documents.
# services.printing.enable = true;

# Enable sound.
# services.pulseaudio.enable = true;
# OR
# services.pipewire = {
# enable = true;
# pulse.enable = true;
# };

# Enable touchpad support (enabled default in most desktopManager).
# services.libinput.enable = true;

# Define a user account. Don't forget to set a password with ‘passwd’.
# users.users.alice = {
# isNormalUser = true;
# extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
# packages = with pkgs; [
# tree
# ];
# };

# programs.firefox.enable = true;

# List packages installed in system profile.
# You can use https://search.nixos.org/ to find more packages (and options).
# environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
# ];

# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };

# List services that you want to enable:

# Enable the OpenSSH daemon.
# services.openssh.enable = true;

# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;

# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;

# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
# to actually do that.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "${config.system.nixos.release}"; # Did you read the comment?

}
'';
in {

system.nixos-generate-config = {
inherit flake configuration;
};

# Set it to use flake
environment.etc."nixos-generate-config.conf".text = ''
[Defaults]
Flake=true
'';
}
3 changes: 3 additions & 0 deletions nixosModules/systemd.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{ pkgs, ...}: {
boot.initrd.systemd.enable = true;
}
Empty file added pkgs/default.nix
Empty file.
Binary file removed screenshots/lcos-01-shot-boot.png
Binary file not shown.
Binary file removed screenshots/lcos-01-shot-refractainstaller.png
Binary file not shown.
Binary file removed screenshots/lcos-01-shot1.png
Binary file not shown.
Binary file removed screenshots/lcos-01-shot2.png
Binary file not shown.
Binary file removed screenshots/lcos-01-shot3.png
Binary file not shown.
Binary file removed screenshots/lcos-01-shot4.png
Binary file not shown.