Compare commits
1 Commits
main
...
school-edi
| Author | SHA1 | Date | |
|---|---|---|---|
| 8e3c2c64ee |
20
README.md
20
README.md
@ -1,21 +1,3 @@
|
||||
# deskOS - An easy to use, stable desktop operating system
|
||||
|
||||
See https://nixup.io/desk-os/learn-more
|
||||
|
||||
## Run a deskOS demo in a virtual machine
|
||||
|
||||
If you are running NixOS or you have the [Nix package manager](https://nixos.org/) installed, you can easily run a deskOS demo from this flake:
|
||||
|
||||
```sh
|
||||
nix run github:nixup-io/desk-os
|
||||
```
|
||||
|
||||
## Contact
|
||||
|
||||
- E-mail: [info@nixup.io](mailto:info@nixup.io)
|
||||
- X: [@michaelshmitty](https://x.com/michaelshmitty)
|
||||
- Fediverse: [@neo](https://social.hacktheplanet.be/@neo)
|
||||
|
||||
## Acknowledgements
|
||||
# deskOS - School Edition
|
||||
|
||||
deskOS is based on [Linux](https://en.wikipedia.org/wiki/Linux) and [NixOS](https://nixos.org/).
|
||||
|
||||
BIN
assets/school-wallpaper.jpg
Normal file
BIN
assets/school-wallpaper.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 82 KiB |
@ -20,9 +20,8 @@
|
||||
|
||||
# Localization
|
||||
time.timeZone = "Europe/Brussels";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
services.xserver.xkb.layout = "us";
|
||||
services.xserver.xkb.variant = "dvorak";
|
||||
i18n.defaultLocale = "nl_NL.UTF-8";
|
||||
services.xserver.xkb.layout = "nl";
|
||||
|
||||
services.displayManager.autoLogin = {
|
||||
enable = true;
|
||||
|
||||
@ -20,12 +20,12 @@
|
||||
loader.efi.canTouchEfiVariables = true;
|
||||
plymouth = {
|
||||
enable = true;
|
||||
theme = "desk-os";
|
||||
themePackages = [(pkgs.callPackage ../../packages/desk-os-plymouth {})];
|
||||
theme = "lightbulb";
|
||||
themePackages = [ (pkgs.callPackage ../../packages/lightbulb-plymouth {}) ];
|
||||
};
|
||||
};
|
||||
|
||||
system.nixos.distroName = "deskOS 1";
|
||||
system.nixos.distroName = "deskOS 1 - School Edition";
|
||||
|
||||
system.autoUpgrade = {
|
||||
enable = true;
|
||||
@ -76,8 +76,8 @@
|
||||
{
|
||||
settings = {
|
||||
"org/gnome/desktop/background" = {
|
||||
picture-uri = "file://${pkgs.gnome.gnome-backgrounds}/share/backgrounds/gnome/geometrics-l.jxl";
|
||||
picture-uri-dark = "file://${pkgs.gnome.gnome-backgrounds}/share/backgrounds/gnome/geometrics-d.jxl";
|
||||
picture-uri = "file://${../../assets/school-wallpaper.jpg}";
|
||||
picture-uri-dark = "file://${../../assets/school-wallpaper.jpg}";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/preferences" = {
|
||||
@ -85,7 +85,7 @@
|
||||
};
|
||||
|
||||
"org/gnome/desktop/screensaver" = {
|
||||
picture-uri = "file://${pkgs.gnome.gnome-backgrounds}/share/backgrounds/gnome/geometrics-l.jxl";
|
||||
picture-uri = "file://${../../assets/school-wallpaper.jpg}";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
@ -171,12 +171,12 @@
|
||||
menu-layout = "Windows";
|
||||
pinned-apps = lib.gvariant.mkArray [
|
||||
[(lib.gvariant.mkDictionaryEntry "id" "firefox.desktop")]
|
||||
[(lib.gvariant.mkDictionaryEntry "id" "org.gnome.Geary.desktop")]
|
||||
[(lib.gvariant.mkDictionaryEntry "id" "org.gnome.Calendar.desktop")]
|
||||
[(lib.gvariant.mkDictionaryEntry "id" "org.gnome.Nautilus.desktop")]
|
||||
[(lib.gvariant.mkDictionaryEntry "id" "writer.desktop")]
|
||||
[(lib.gvariant.mkDictionaryEntry "id" "calc.desktop")]
|
||||
[(lib.gvariant.mkDictionaryEntry "id" "impress.desktop")]
|
||||
[(lib.gvariant.mkDictionaryEntry "id" "org.kde.krita.desktop")]
|
||||
[(lib.gvariant.mkDictionaryEntry "id" "supertuxkart.desktop")]
|
||||
[(lib.gvariant.mkDictionaryEntry "id" "org.gnome.Software.desktop")]
|
||||
];
|
||||
};
|
||||
@ -212,7 +212,9 @@
|
||||
gnomeExtensions.just-perfection
|
||||
gnomeExtensions.printers
|
||||
gnomeExtensions.removable-drive-menu
|
||||
krita
|
||||
libreoffice
|
||||
superTuxKart
|
||||
];
|
||||
|
||||
environment.gnome.excludePackages = with pkgs; [
|
||||
|
||||
@ -30,7 +30,7 @@ in {
|
||||
(modulesPath + "/profiles/installation-device.nix")
|
||||
];
|
||||
|
||||
system.nixos.distroName = "deskOS 1";
|
||||
system.nixos.distroName = "deskOS 1 - School Edition";
|
||||
|
||||
# FIXME(m): Disable squashfs compression during development
|
||||
# isoImage.squashfsCompression = null;
|
||||
@ -43,8 +43,8 @@ in {
|
||||
loader.timeout = lib.mkForce 0;
|
||||
plymouth = {
|
||||
enable = true;
|
||||
theme = "desk-os-installer";
|
||||
themePackages = [(pkgs.callPackage ../../packages/desk-os-installer-plymouth {})];
|
||||
theme = "lightbulb-installer";
|
||||
themePackages = [ (pkgs.callPackage ../../packages/lightbulb-installer-plymouth {}) ];
|
||||
};
|
||||
# NOTE(m): Enable kernel modules that improve wifi support on
|
||||
# Macbooks during installation.
|
||||
@ -125,6 +125,8 @@ in {
|
||||
gnomeExtensions.no-overview
|
||||
];
|
||||
|
||||
i18n.defaultLocale = "nl_NL.UTF-8";
|
||||
|
||||
# Support choosing from any locale
|
||||
i18n.supportedLocales = ["all"];
|
||||
|
||||
@ -147,9 +149,9 @@ in {
|
||||
sleep-inactive-ac-type='nothing'
|
||||
sleep-inactive-battery-type='nothing'
|
||||
[org.gnome.desktop.background]
|
||||
picture-uri='file://${pkgs.gnome.gnome-backgrounds}/share/backgrounds/gnome/geometrics-l.jxl'
|
||||
picture-uri='file://${../../assets/school-wallpaper.jpg}'
|
||||
[org.gnome.desktop.screensaver]
|
||||
picture-uri='file://${pkgs.gnome.gnome-backgrounds}/share/backgrounds/gnome/geometrics-l.jxl'
|
||||
picture-uri='file://${../../assets/school-wallpaper.jpg}'
|
||||
'';
|
||||
|
||||
extraGSettingsOverridePackages = [pkgs.gnome.gnome-settings-daemon];
|
||||
|
||||
@ -9,21 +9,21 @@ windowExpanding: fullscreen
|
||||
windowPlacement: center
|
||||
sidebar: none
|
||||
strings:
|
||||
productName: deskOS
|
||||
shortProductName: deskOS
|
||||
productName: deskOS - School Edition
|
||||
shortProductName: deskOS - School Edition
|
||||
version: 1
|
||||
shortVersion: 1
|
||||
versionedName: deskOS 1
|
||||
shortVersionedName: deskOS 1
|
||||
bootloaderEntryName: deskOS
|
||||
versionedName: deskOS 1 - School Edition
|
||||
shortVersionedName: deskOS 1 - School Edition
|
||||
bootloaderEntryName: deskOS - School Edition
|
||||
productUrl: https://nixup.io
|
||||
supportUrl: https://nixup.io
|
||||
knownIssuesUrl: https://github.com/nixup-io/desk-os/issues
|
||||
releaseNotesUrl: https://nixup.io
|
||||
donateUrl: https://nixup.io
|
||||
images:
|
||||
productIcon: "desk-os-logo.png"
|
||||
productLogo: "desk-os-logo.png"
|
||||
productIcon: "desk-os-logo-school.png"
|
||||
productLogo: "desk-os-logo-school.png"
|
||||
style:
|
||||
SidebarBackground: "#292F34"
|
||||
SidebarText: "#FFFFFF"
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 180 KiB |
@ -5,7 +5,6 @@
|
||||
defaultGroups:
|
||||
- users
|
||||
- networkmanager
|
||||
- wheel
|
||||
setRootPassword: false
|
||||
doAutologin: true
|
||||
user:
|
||||
|
||||
@ -56,7 +56,7 @@ flake = f"""
|
||||
inputs = {{
|
||||
nixpkgs.url = "github:nixup-io/nixpkgs-desk-os/stable";
|
||||
desk-os = {{
|
||||
url = "github:nixup-io/desk-os";
|
||||
url = "github:nixup-io/desk-os/school-edition";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
}};
|
||||
}};
|
||||
@ -168,7 +168,7 @@ configuration_tail = """
|
||||
"""
|
||||
|
||||
def pretty_name():
|
||||
return _("Installing deskOS (this can take a while depending on your Internet speed)...")
|
||||
return _("Installing deskOS - School Edition (this can take a while depending on your Internet speed)...")
|
||||
|
||||
|
||||
status = pretty_name()
|
||||
@ -243,7 +243,7 @@ def run():
|
||||
|
||||
if (gs.value("username") is not None):
|
||||
fullname = gs.value("fullname")
|
||||
groups = ["networkmanager", "wheel"]
|
||||
groups = ["networkmanager"]
|
||||
|
||||
catenate(variables, "username", gs.value("username"))
|
||||
catenate(variables, "fullname", fullname)
|
||||
@ -295,7 +295,7 @@ def run():
|
||||
libcalamares.utils.host_env_process_output(
|
||||
["cp", "/dev/stdin", flakeFile], None, flake)
|
||||
|
||||
status = _("Installing deskOS (this can take a while depending on your Internet speed)...")
|
||||
status = _("Installing deskOS - School Edition (this can take a while depending on your Internet speed)...")
|
||||
|
||||
# Install
|
||||
try:
|
||||
|
||||
16
packages/lightbulb-installer-plymouth/default.nix
Normal file
16
packages/lightbulb-installer-plymouth/default.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{stdenv}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "lightbulb-installer-plymouth";
|
||||
version = "0.0.1";
|
||||
|
||||
src = ./src;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
sed -i 's:\(^ImageDir=\)/usr:\1'"$out"':' lightbulb-installer.plymouth
|
||||
sed -i 's:\(^ScriptFile=\)/usr:\1'"$out"':' lightbulb-installer.plymouth
|
||||
mkdir -p $out/share/plymouth/themes/lightbulb-installer
|
||||
cp * $out/share/plymouth/themes/lightbulb-installer
|
||||
runHook postInstall
|
||||
'';
|
||||
}
|
||||
@ -0,0 +1,8 @@
|
||||
[Plymouth Theme]
|
||||
Name=Lightbulb Installer
|
||||
Description=A theme that displays the Lightbulb Installer logo
|
||||
ModuleName=script
|
||||
|
||||
[script]
|
||||
ImageDir=/usr/share/plymouth/themes/lightbulb-installer
|
||||
ScriptFile=/usr/share/plymouth/themes/lightbulb-installer/lightbulb-installer.script
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
@ -0,0 +1,8 @@
|
||||
image = Image("lightbulb-installer.png");
|
||||
|
||||
pos_x = Window.GetWidth()/2 - image.GetWidth()/2;
|
||||
pos_y = Window.GetHeight()/2 - image.GetHeight()/2;
|
||||
|
||||
sprite = Sprite(image);
|
||||
sprite.SetX(pos_x);
|
||||
sprite.SetY(pos_y);
|
||||
16
packages/lightbulb-plymouth/default.nix
Normal file
16
packages/lightbulb-plymouth/default.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{stdenv}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "lightbulb-plymouth";
|
||||
version = "0.0.1";
|
||||
|
||||
src = ./src;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
sed -i 's:\(^ImageDir=\)/usr:\1'"$out"':' lightbulb.plymouth
|
||||
sed -i 's:\(^ScriptFile=\)/usr:\1'"$out"':' lightbulb.plymouth
|
||||
mkdir -p $out/share/plymouth/themes/lightbulb
|
||||
cp * $out/share/plymouth/themes/lightbulb
|
||||
runHook postInstall
|
||||
'';
|
||||
}
|
||||
8
packages/lightbulb-plymouth/src/lightbulb.plymouth
Normal file
8
packages/lightbulb-plymouth/src/lightbulb.plymouth
Normal file
@ -0,0 +1,8 @@
|
||||
[Plymouth Theme]
|
||||
Name=Lightbulb
|
||||
Description=A theme that displays the Lightbulb
|
||||
ModuleName=script
|
||||
|
||||
[script]
|
||||
ImageDir=/usr/share/plymouth/themes/lightbulb
|
||||
ScriptFile=/usr/share/plymouth/themes/lightbulb/lightbulb.script
|
||||
BIN
packages/lightbulb-plymouth/src/lightbulb.png
Normal file
BIN
packages/lightbulb-plymouth/src/lightbulb.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
8
packages/lightbulb-plymouth/src/lightbulb.script
Normal file
8
packages/lightbulb-plymouth/src/lightbulb.script
Normal file
@ -0,0 +1,8 @@
|
||||
image = Image("lightbulb.png");
|
||||
|
||||
pos_x = Window.GetWidth()/2 - image.GetWidth()/2;
|
||||
pos_y = Window.GetHeight()/2 - image.GetHeight()/2;
|
||||
|
||||
sprite = Sprite(image);
|
||||
sprite.SetX(pos_x);
|
||||
sprite.SetY(pos_y);
|
||||
Loading…
x
Reference in New Issue
Block a user